Solaris下誤刪除根目錄下文件的解決之道
記得幾年以前剛接解UNIX操作系統(tǒng)的時候,學(xué)會了rm命令,還學(xué)會了rm -rf *,我想很多人都經(jīng)常這樣使用,在UNIX下如果不用alias rm rm -i的話,刪除根本不做任何提示,這也是UNIX設(shè)計的哲學(xué),但是對于新手有時候會容易犯錯誤的.有時候后果是很嚴(yán)重 .以前在AIX下就一不小心把/目錄下的東西刪除的差不多,等會按Ctrl+C的時候已經(jīng)遲了,被批評了一通,還好那個機(jī)器沒什么東西,從那以后就非常小心了,后來只能重新安裝操作系統(tǒng)了,從那以后我印象中這種總量只能重裝操作系統(tǒng)了.
這不,這幾天這件事情又發(fā)生了,不過這次沒那么簡單了(不是的),這個機(jī)器是雙機(jī)的主機(jī),上面掛的磁陣,安裝SC以及Veritas軟件,還是數(shù)據(jù)庫,不過這次嘗試了一下重裝以外的辦法,最終花了兩個小時(包括查資料時間搞定),當(dāng)時的場景是這樣的:
話說一位高手在電腦前以無影手的速度擊打鍵盤,突然停了下來,伴著一聲慘叫"啊,怎么當(dāng)前目錄在根目錄下",我一看高手輸入的最后一個命令就是稱為UNIX殺手锏的"rm -rf *",這時看了一下,好像只是bin目錄沒有了,因為bin只是鏈接到/usr/bin的符號鏈接,我重新建一個不就可以了,以為到此天下太平了.下午的時候,因為修改一些配置必須重新啟動機(jī)器,平時幾分鐘就可以了,可以今天等了好久也沒能連上,最后用串口線連上去一看,系統(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的時候,只要一中病毒且殺不掉或者系統(tǒng)變的很慢,一個辦法重裝,有時在想,這樣的操作系統(tǒng)讓生產(chǎn)硬件廠商也多賣點硬盤和內(nèi)存之類,不過現(xiàn)在家里電腦早就換成Linux了,再也沒有以前那種煩惱了!),費(fèi)話少說: 把Solaris的安裝盤光驅(qū),在ok狀態(tài)輸入: boot cdrom -sw,用光盤引導(dǎo)啟動以后進(jìn)入操作程系統(tǒng).
我們的思路是把原來的根分區(qū)掛載以后,找到根分區(qū)丟失的文件,把丟失的文件再補(bǔ)回來應(yīng)該就可以了,好了.正式開始:
用format命令找到原來根分區(qū)所使用的磁盤,我發(fā)現(xiàn)format里顯示的磁盤順序和正常啟動時顯示的磁盤順序不一樣,只能一個一個選中磁盤以后用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看一下是不是你原來根目錄的東東呀,這時我們要找到少了哪些文件,用了一個土辦法,找另外一個同樣的機(jī)器用du或者du -s查看目錄下的文件個數(shù)和大小進(jìn)行比較,最終發(fā)現(xiàn)/dev的dsk目錄沒有了,另外/devices下面也少了一些文件,可能大家都知道這下面的文件是干吧?因為/dev/dsk下都是一些符號鏈接到/devices下的,想手工建立符號鏈接,但是因為每個機(jī)器可能有差別,直接照搬可能有風(fēng)險,我想起來可以用: devfsadm -C -r /tmp/root/mytmproot, -r選項可以設(shè)定根目錄的路徑,執(zhí)行完成以后,發(fā)現(xiàn)/dev/dsk下面的文件都回來了,心想這樣應(yīng)該差不多了(因為比較發(fā)現(xiàn)就這個下面的文件被刪除了),重啟以后出現(xiàn)一些網(wǎng)卡相關(guān)的錯誤,不管它,重啟(從硬盤引導(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),以前丟失的東西都回來了,至此所有問題都解決了.
可能我這個問題比較特殊,因為刪除的文件特殊,希望能夠起到一個拋磚引玉的作用吧!
相關(guān)文章
- Solaris是Sun公司開發(fā)和發(fā)布的一種現(xiàn)代操作系統(tǒng),是UNIX系統(tǒng)的一個重要分支,今天小編為大家?guī)淼氖荢olaris線程模型詳解,希望對大家會有幫助,有需要的朋友一起去看看吧2017-04-06
- 今天小編為大家?guī)淼氖荢olaris iostat詳解,希望對大家會有幫助 ,有需要的朋友一起去看看吧2017-04-06
- 今天小編為大家?guī)淼氖菧\談Solaris技術(shù),希望對大家會有幫助,有需要的朋友一起去看看吧2017-04-06

solaris11如何擴(kuò)展資源池?solaris11擴(kuò)展資源池的方法
最近一些朋友問小編solaris11如何擴(kuò)展資源池?今天小編將為大家分享solaris11擴(kuò)展資源池的方法!希望對大家會有幫助,有需要的朋友一起去看看吧2017-04-06Solaris10如何更改子網(wǎng)掩碼?Solaris10更改子網(wǎng)掩碼的方法
最近一些朋友在問Solaris10如何更改子網(wǎng)掩碼?下面小編將為大家分享Solaris10更改子網(wǎng)掩碼的方法!希望對大家會有幫助!有需要的朋友一起去看看吧2017-03-19- 今天小編將要為大家?guī)淼氖荢olaris中對tar.z進(jìn)行安裝卸載詳解!希望對大家會有幫助!有需要的朋友一起去看看吧2017-03-16
如何在solaris中設(shè)置分辨率?在solaris中設(shè)置分辨率的方法
最近有些朋友問小編如何在solaris中設(shè)置分辨率?下面小編將為大家?guī)淼氖窃趕olaris中設(shè)置分辨率的方法!希望對大家會有幫助,感興趣的朋友一起去看看吧2017-03-15如何查看solaris系統(tǒng)的版本和位數(shù)?
最近一些朋友問小編如何查看solaris系統(tǒng)的版本和位數(shù)?今天小編將為大家分享查看solaris系統(tǒng)的版本和位數(shù)的方法!希望對大家會有幫助,有需要的朋友一起去看看吧2017-03-14整理Solaris系統(tǒng)與Linux系統(tǒng)常用命令的區(qū)別
這篇文章主要介紹了Solaris系統(tǒng)與Linux系統(tǒng)常用命令的區(qū)別,Linux作為Unix的仿制品,其命令會與作為Unix發(fā)行版的Solaris有諸多相同點,而本文則關(guān)注它們的相異之處,需要的朋友2016-02-05windows XP+Fedora 8+solaris 11三系統(tǒng)安裝攻略
介紹windows XP+Fedora 8+solaris 11三系統(tǒng)安裝攻略2014-06-16


