主頁 > 知識庫 > Solaris下誤刪除根目錄下文件的解決之道

Solaris下誤刪除根目錄下文件的解決之道

熱門標(biāo)簽:電話機(jī)器人源碼 AI電銷 解決方案 電銷業(yè)務(wù) 呼叫中心案例 美團(tuán) 呼叫中心解決方案 國美全國運(yùn)營中心

 記得幾年以前剛接解UNIX操作系統(tǒng)的時(shí)候,學(xué)會了rm命令,還學(xué)會了rm -rf *,我想很多人都經(jīng)常這樣使用,在UNIX下如果不用alias rm rm -i的話,刪除根本不做任何提示,這也是UNIX設(shè)計(jì)的哲學(xué),但是對于新手有時(shí)候會容易犯錯(cuò)誤的.有時(shí)候后果是很嚴(yán)重 .以前在AIX下就一不小心把/目錄下的東西刪除的差不多,等會按Ctrl+C的時(shí)候已經(jīng)遲了,被批評了一通,還好那個(gè)機(jī)器沒什么東西,從那以后就非常小心了,后來只能重新安裝操作系統(tǒng)了,從那以后我印象中這種總量只能重裝操作系統(tǒng)了.

  這不,這幾天這件事情又發(fā)生了,不過這次沒那么簡單了(不是我干的),這個(gè)機(jī)器是雙機(jī)的主機(jī),上面掛的磁陣,安裝SC以及Veritas軟件,還是數(shù)據(jù)庫,不過這次嘗試了一下重裝以外的辦法,最終花了兩個(gè)小時(shí)(包括查資料時(shí)間搞定),當(dāng)時(shí)的場景是這樣的:

  話說一位高手在電腦前以無影手的速度擊打鍵盤,突然停了下來,伴著一聲慘叫"啊,怎么當(dāng)前目錄在根目錄下",我一看高手輸入的最后一個(gè)命令就是稱為UNIX殺手锏的"rm -rf *",這時(shí)看了一下,好像只是bin目錄沒有了,因?yàn)閎in只是鏈接到/usr/bin的符號鏈接,我重新建一個(gè)不就可以了,以為到此天下太平了.下午的時(shí)候,因?yàn)樾薷囊恍┡渲帽仨氈匦聠?dòng)機(jī)器,平時(shí)幾分鐘就可以了,可以今天等了好久也沒能連上,最后用串口線連上去一看,系統(tǒng)已經(jīng)進(jìn)入ok狀態(tài),這還不容易,把參數(shù)auto-reboot修改為true,再輸入go,可是機(jī)器經(jīng)過幾分鐘機(jī)器沒有任何反應(yīng),我再重啟,這樣試了幾次,還是沒用,看來這次問題嚴(yán)重了.沒辦法只能重裝操作系統(tǒng)(以前家里用Windows的時(shí)候,只要一中病毒且殺不掉或者系統(tǒng)變的很慢,一個(gè)辦法重裝,有時(shí)在想,這樣的操作系統(tǒng)讓生產(chǎn)硬件廠商也多賣點(diǎn)硬盤和內(nèi)存之類,不過現(xiàn)在家里電腦早就換成Linux了,再也沒有以前那種煩惱了!),費(fèi)話少說: 把Solaris的安裝盤插入光驅(qū),在ok狀態(tài)輸入: boot cdrom -sw,用光盤引導(dǎo)啟動(dòng)以后進(jìn)入操作程系統(tǒng).

  我們的思路是把原來的根分區(qū)掛載以后,找到根分區(qū)丟失的文件,把丟失的文件再補(bǔ)回來應(yīng)該就可以了,好了.正式開始:

  用format命令找到原來根分區(qū)所使用的磁盤,我發(fā)現(xiàn)format里顯示的磁盤順序和正常啟動(dòng)時(shí)顯示的磁盤順序不一樣,只能一個(gè)一個(gè)選中磁盤以后用p查詢分區(qū)和掛載情況,比如:我發(fā)現(xiàn)c1t0d0s1是原來的根分區(qū)的話,退出format.

  在/tmp/root/下新建目錄mytmproot,mkdir /tmp/root/mytmproot

  mount /dev/dsk/c1t0d0s1 /tmp/root/mytmproot

  可能覺得奇怪,為什么要掛到/tmp下,而不直掛載到/下,你要知道我們是光盤引導(dǎo),所以根分區(qū)是只讀的.

  上面的掛載成功以后,到/tmp/root/mytmproot看一下是不是你原來根目錄的東東呀,這時(shí)我們要找到少了哪些文件,用了一個(gè)土辦法,找另外一個(gè)同樣的機(jī)器用du或者du -s查看目錄下的文件個(gè)數(shù)和大小進(jìn)行比較,最終發(fā)現(xiàn)/dev的dsk目錄沒有了,另外/devices下面也少了一些文件,可能大家都知道這下面的文件是干嗎的吧?因?yàn)?dev/dsk下都是一些符號鏈接到/devices下的,想手工建立符號鏈接,但是因?yàn)槊總€(gè)機(jī)器可能有差別,直接照搬可能有風(fēng)險(xiǎn),我想起來可以用: devfsadm -C -r /tmp/root/mytmproot, -r選項(xiàng)可以設(shè)定根目錄的路徑,執(zhí)行完成以后,發(fā)現(xiàn)/dev/dsk下面的文件都回來了,心想這樣應(yīng)該差不多了(因?yàn)楸容^發(fā)現(xiàn)就這個(gè)下面的文件被刪除了),重啟以后出現(xiàn)一些網(wǎng)卡相關(guān)的錯(cuò)誤,不管它,重啟(從硬盤引導(dǎo))以后發(fā)現(xiàn)以前配置的網(wǎng)卡都不在了,用ifconfig ce0 plumb提示沒有這樣的設(shè)備,一比較發(fā)現(xiàn)/devices下面丟失了一些網(wǎng)卡的設(shè)備文件,進(jìn)入ok狀態(tài)以后,輸入probe-scsi-all,再輸入watch-net-all,再power-off,重啟重新檢測硬件進(jìn)入操作系統(tǒng),以前丟失的東西都回來了,至此所有問題都解決了.

  可能我這個(gè)問題比較特殊,因?yàn)閯h除的文件特殊,希望能夠起到一個(gè)拋磚引玉的作用吧!

標(biāo)簽:涼山 通遼 鄭州 東莞 濟(jì)源 吉安 益陽 惠州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Solaris下誤刪除根目錄下文件的解決之道》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266