誤刪除Linux中libc.so.6文件急救辦法

  大家在linux中操作命令時,由於某些操作會導致誤刪除一些文件,也許這些文件就是大部分命令所依賴的,刪除會導致什麼問題呢?接下來就一起看看。

  首先普及一下關於libc.so.6的基本常識:

       首先敲一下命令:cd /lib64    然後敲這個命令:locate libc.so.6 最後敲:ll libc.so.6

       我們可以看到以下:

       wKioL1mLxlLABGIiAAA55rAGkH4102.png      

      glibc是gnu發佈的libc庫,即c運行庫。glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc,所以說絕大部分操作命令都缺少不了它。

      如果誤刪了/lib64/libc.so.6,大部分系統命令將無法執行,ssh登錄系統也不成功,只會無休止的提示以下錯誤:error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory.     

      鑑於這種情況,大部分命令已經不能執行了,只能執行例如cd,echo等小部分命令,而實用的cp,mv則更不可用。從上圖中可以查看/lib64/libc.so.6得知是屬於libc-2.17.so的軟鏈接,因此,libc-2.17.so文件肯定還是存在的,誤刪的只是軟鏈接而已,但此時想用ln命令重新建立軟鏈接是失敗的,但是可以這樣強制設置變量就能執行成功

LD_PRELOAD=/lib64/libc-2.5.so  ln -s /lib64/libc-2.5.so /lib64/libc.so.6

     注意的是,這整條命令要在同一行執行,不能分兩行,否則就無效了.例如下圖:

     wKiom1mLx8aCQOd0AAAOehltJX0034.png     這樣你的機器就ok啦在誤刪除命令時千萬不要關閉終端哦,就在當前終端敲上圖命令

     通過前面設置一下LD_PRELOAD變量,後面也是可以執行其它例如cp,mv等命令的

    例如我一開始不是誤刪,只是把libc.so.6改名了,從而也導致了上面的錯誤,於是就可以按照下面方法恢復libc.so.6

    LD_PRELOAD=/lib64/libc-2.17.so mv /lib64/libc.so.6.bak /lib64/libc.so.6

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章