昨天不小心將/lib64下的一個動態庫文件libc.so.6(很多命令都依賴的)給移動到了/root下,然后除了一些內部命令可用外,其余命令都不能用了,然后就想著看看重啟可不可以修復,結果重啟后就再也開不了機了,心想著這可咋整,要不用最快的方式進行快照恢復吧,結果老師就說了,不能使用快照,讓我們使用Rescue營救模式進行恢復,然后在恢復的過程中就發現一個問題,
這個庫文件的改變分兩種:1.將它移動了位置;2.將它改名字了;在這里這兩種情況歸為一種解說,還有另外一種就是刪除,而且Centos 6與Centos 7的營救模式還有點不一樣,接下來分別講一下:
本文總共分兩部分:
一:在Centos 6下 恢復/lib64/libc.so.6
二:在Centos 7下 恢復/lib64/libc.so.6
一:在Centos 6下 恢復/lib64/libc.so.6:
如下圖所示,將/lib64/libc.so.6移動到了/root/下。然后,像ls、ll命令已經不能用了,接下來,我們就去Rescue模式
首先我們要重啟一下虛擬機,接下來就考驗手速了:在出現如下圖所示的界面時,立即將鼠標點進去并快速的按一下Esc鍵,(這個界面出現的時間比較短,一定要記得快速按鍵)
然后就會進入如下圖所示的界面:這里選擇第三項(用上下鍵進行移動)CD-ROM Drive(虛擬光盤設備),因為我們現在虛擬環境里已經沒有了動態庫文件libc.so.6,所以我們要借助虛擬光盤進行將我們的文件找回;
然后進入下面的界面,選擇第三項營救模式下,enter鍵繼續
接下來的兩步都直接默認,enter繼續,到第三個界面時提醒是否開啟網絡,點YES也行,這里我選擇NO
接下來的這個選項就要好好看看,大概意思就是告訴你這里掛載在/mnt/sysimage目錄下,(也就是說我們之前的根/,就是現在/mnt/sysimage),下面的四個選項,這里我們要做一些操作,所以這里選擇默認的Continue選項;
接下來會再次告訴你,你現在在/mnt/sysimage下,如果你想改變你的root的目錄,使用chroot /mnt/sysimage這條命令進行,我們只是想找回libc.so.6這個文件所以這里就直接OK就好了;
這里它會反復提醒你根目錄的所在位置/mnt/sysimage,進去后要想進入/root下就要敲/mnt/sysimage/root
現在點擊OK的話就會進入一個shell
如下圖所示,這里可以看到第一個lib64下也可以看到libc.so.6,因為我們把libc.so.6移動到了/root下,所以我們可以再將它移回來,那我們要是在終端上將/lib64/libc.so.6刪除了,在/mnt/sysimage/root下就沒有這個文件了,所以我們這時就需要把剛進入shell時的目錄下的lib64下的libc.so.6拷貝一份(cp lib64/libc.so.6 /mnt/sysimage/lib64/)就可以了,然后輸入exit退出;再enter進入shell環境后,輸入reboot重啟虛擬機就好了(因為我們將文件破壞了,所以重啟的時候可能有點慢,耐心等待呦。)
二:在Centos 7下 恢復/lib64/libc.so.6
這里可以結合上面的那張圖一起看,我們一會要從虛擬環境中的lib64下 的libc.so.6給cp(拷貝)到/mnt/sysimage/lib64(也就是現在的/lib64/);
現在重啟虛擬機,跟Centos 6差不多,手速要快哦,當出現滾動條后,立刻鼠標點進去并快速按下Esc鍵,出現的界面和Centos 6的一樣,都是選擇第三項進入CD-ROM Drive(虛擬光盤設備);enter之后,這里就和Centos 6 有所不同,沒有直接將Rescue模式列出來,而是通過點擊第三項Troubleshooting(錯誤排查);
然后進入如下界面,這里點擊第二項Rescue模式,然后接下來的界面與Centos 6有所不同,Centos 6是彈框顯示,這里直接就是命令行顯示
這里的提示和Centos 6一樣,所以這里要輸入“1”,進行Continue,然后點擊Enter,
這里提示和Centos 6里一樣,都是告訴你掛載目錄在/mnt/sysimage下,之前所有以根(/)起始的目錄在這里都要以/mnt/sysimage起始;然后按Enter鍵,就可以進入shell環境了。
如下圖所示,進入shell后,將當前目錄下的lib64下的libc.so.6拷貝到/mnt/sysimage/lib64即可
最后一步比Centos 6 稍微少一步,就是在Centos 7下直接輸入exit,按Enter鍵就可以直接重啟, 不需要exit后再reboot重啟(這個過程也需要幾分鐘的等待時間呦)。
OK,等重啟結束,這個示例也結束了,用Rescue模式還原我們丟失的一些文件,而不用像快照恢復一樣,因為快照拍攝后我們可能又建了很多文件,這時若使用快照恢復的話,那么這些文件就會丟失,當然,你也可以將它備份到其他虛擬機上,等快照恢復后再拷回來,這個需要根據具體情況而定,畢竟每個東西的存在都有它的價值。
原創文章,作者:M.Sun,如若轉載,請注明出處:http://www.www58058.com/85235