前言:
在生產可能會出現誤操作,刪除某個庫文件,導致系統出現故障,不能起來,下面舉一個實操中遇到的故障和解決辦法。
問題 ?
誤刪除了庫文件/lib64文件夾下的 libc-2.12.so 庫文件導致系統不能起來,一直停留在此頁面。
解決思路
刪除什麼,就恢復什麼,最直接辦法就是把刪除的庫文件補上。
解決步驟
一、重啓,進入救援模式
選擇光盤啓動
第三項救援模式
然後除了網絡不用配置網絡,其他步驟都選OK或者確認……很簡單,這裏不再每一步截圖演示了。最後進入到光盤下的shell,如下的界面所示
二、拷貝文件
有經驗的同學一進入救援模式後,立馬想到了切根然後進程救援操作,這裏我們試了一下,如下圖所示,不能切根。很多同學這個時候就很鬱悶了,不切根怎麼操作呢?
我們可以在上圖錯誤提示中得到一個信息,不能切根跟 libc.so.6 庫文件有關,其實libc.so.6 是 /lib64/libc-2.12.so 的一個軟鏈接文件。源文件都沒有了,軟鏈接文件當然不能用了,相對應的命令chroot也不能用。
其實我們主要目的是要恢復 lib64 文件夾下的 libc-2.12.so 庫文件,在不切根的情況下,也能把光盤裏的庫文件 libc-2.12.so 拷貝到根目錄下的 lib64 文件夾下。
如上圖執行 cp 命令,複製光盤下的/lib64/libc-2.12.so文件到/mnt/sysimage/lib64下。源文件有了,對應的鏈接文件可以用了,對應的chroot命令也可以使用,然後就可以進行切根操作了。切根後,可以查看掛載,確認是否切換了根,再查是否拷貝成功,看linb64文件夾下面是否有 libc-2.12.so 文件。如圖拷貝已經成功。執行命令 exit 兩次,退出 shell,然後重啓。
如下圖重啓成功
總結:在實操中,出現問題不要慌,先認真看錯誤提示信息,分析出現問題的原因,從最根源處出發尋找解決途徑。遇到自己確實沒有能力解決的問題的時候,求助同行朋友,或者網上搜索解決辦法,因爲你出現的問題,不是隻有你才遇的到,其他的也會遇到。