瀏覽量:82次
記得幾年以前剛接解UNIX操作系統的時候,學會了rm命令,還學會了rm -rf *,我想很多人都經常這樣使用,在UNIX下如果不用alias rm rm -i的話,刪除根本不做任何提示,這也是UNIX設計的哲學,但是對于新手有時候會容易犯錯誤的.有時候后果是很嚴重 .以前在AIX下就一不小心把/目錄下的東西刪除的差不多,等會按Ctrl+C的時候已經遲了,被批評了一通,還好那個機器沒什么東西,從那以后就非常小心了,后來只能重新安裝操作系統了,從那以后我印象中這種總量只能重裝操作系統了.
這不,這幾天這件事情又發(fā)生了,不過這次沒那么簡單了(不是我干的),這個機器是雙機的主機,上面掛的磁陣,安裝SC以及Veritas軟件,還是數據庫,不過這次嘗試了一下重裝以外的辦法,最終花了兩個小時(包括查資料時間搞定),當時的場景是這樣的:
話說一位高手在電腦前以無影手的速度擊打鍵盤,突然停了下來,伴著一聲慘叫"啊,怎么當前目錄在根目錄下",我一看高手輸入的最后一個命令就是稱為UNIX殺手锏的"rm -rf *",這時看了一下,好像只是bin目錄沒有了,因為bin只是鏈接到/usr/bin的符號鏈接,我重新建一個不就可以了,以為到此天下太平了.下午的時候,因為修改一些配置必須重新啟動機器,平時幾分鐘就可以了,可以今天等了好久也沒能連上,最后用串口線連上去一看,系統已經進入ok狀態(tài),這還不容易,把參數auto-reboot修改為true,再輸入go,可是機器經過幾分鐘機器沒有任何反應,我再重啟,這樣試了幾次,還是沒用,看來這次問題嚴重了.沒辦法只能重裝操作系統(以前家里用Windows的時候,只要一中病毒且殺不掉或者系統變的很慢,一個辦法重裝,有時在想,這樣的操作系統讓生產硬件廠商也多賣點硬盤和內存之類,不過現在家里電腦早就換成Linux了,再也沒有以前那種煩惱了!),費話少說: 把Solaris的安裝盤插入光驅,在ok狀態(tài)輸入: boot cdrom -sw,用光盤引導啟動以后進入操作程系統.
我們的思路是把原來的根分區(qū)掛載以后,找到根分區(qū)丟失的文件,把丟失的文件再補回來應該就可以了,好了.正式開始:
用format命令找到原來根分區(qū)所使用的磁盤,我發(fā)現format里顯示的磁盤順序和正常啟動時顯示的磁盤順序不一樣,只能一個一個選中磁盤以后用p查詢分區(qū)和掛載情況,比如:我發(fā)現c1t0d0s1是原來的根分區(qū)的話,退出format.
在/tmp/root/下新建目錄mytmproot,mkdir /tmp/root/mytmproot
mount /dev/dsk/c1t0d0s1 /tmp/root/mytmproot
可能覺得奇怪,為什么要掛到/tmp下,而不直掛載到/下,你要知道我們是光盤引導,所以根分區(qū)是只讀的.
上面的掛載成功以后,到/tmp/root/mytmproot看一下是不是你原來根目錄的東東呀,這時我們要找到少了哪些文件,用了一個土辦法,找另外一個同樣的機器用du或者du -s查看目錄下的文件個數和大小進行比較,最終發(fā)現/dev的dsk目錄沒有了,另外/devices下面也少了一些文件,可能大家都知道這下面的文件是干嗎的吧?因為/dev/dsk下都是一些符號鏈接到/devices下的,想手工建立符號鏈接,但是因為每個機器可能有差別,直接照搬可能有風險,我想起來可以用: devfsadm -C -r /tmp/root/mytmproot, -r選項可以設定根目錄的路徑,執(zhí)行完成以后,發(fā)現/dev/dsk下面的文件都回來了,心想這樣應該差不多了(因為比較發(fā)現就這個下面的文件被刪除了),重啟以后出現一些網卡相關的錯誤,不管它,重啟(從硬盤引導)以后發(fā)現以前配置的網卡都不在了,用ifconfig ce0 plumb提示沒有這樣的設備,一比較發(fā)現/devices下面丟失了一些網卡的設備文件,進入ok狀態(tài)以后,輸入probe-scsi-all,再輸入watch-net-all,再power-off,重啟重新檢測硬件進入操作系統,以前丟失的東西都回來了,至此所有問題都解決了.
可能我這個問題比較特殊,因為刪除的文件特殊,希望能夠起到一個拋磚引玉的作用吧!
[聲明]本網轉載網絡媒體稿件是為了傳播更多的信息,此類稿件不代表本網觀點,本網不承擔此類稿件侵權行為的連帶責任。故此,如果您發(fā)現本網站的內容侵犯了您的版權,請您的相關內容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權。