linux lib64被改名,问题解决:Centos误将/lib64更改为lib64.bak
CentOS系統(tǒng)中,lib目錄下的庫對系統(tǒng)的正常運行起著非常關鍵的作用。一旦誤操作將導致系統(tǒng)癱瘓。
/lib64被重命名
故障表現
由于操作失誤,把/usr/lib64重命名成了/usr/lib64.bak,結果發(fā)現,在運行所有外置命令的時候報錯:
mv命令無法使用
-bash: /bin/mv: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
cp命令無法使用
-bash: /bin/cp: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
ls命令無法使用
-bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
ssh命令無法使用
-bash: /usr/bin/ssh: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
想使用mv把文件重命名回來已經不行了,就連重新ssh遠程都遠程不了。
修復方法
方法一
光盤修復,安裝glibc,如果機器允許重啟的話
方法二
系統(tǒng)一般情況下會設置LD_LIBRARY_PATH, LD_PRELOAD這兩個環(huán)境變量,來改變應用程序所調用庫文件的路徑。這兩個環(huán)境變量只對應用程序有效,可能會對shell命令不起作用
因為默認的庫文件路徑/usr/lib64被改成了/usr/lib64.bak,因此嘗試:
export LD_LIBRARY_PATH=/usr/lib64.bak
export LD_PRELOAD=/usr/lib64.bak
cp /usr/lib64.bak /usr/lib64
方法三
在一個正常的操作系統(tǒng)上
ld-linux-x86-64.so.2是操作系統(tǒng)的核心,并不受LD_LIBRARY_PATH環(huán)境變量的影響。如果想改變其調用方式,可以查看man文檔
根據使用幫助,我們手動指定庫路徑進行調用cp命令
/lib64/ld-linux-x86-64.so.2 --library-path /lib64.bak /bin/cp /lib64.bak /lib64 -afr
誤刪除/lib64/ld-linux-x86-64.so.2
解決方法同上,刪除的是軟連接文件,鏈接回來即可
/lib64/ld-2.17.so --library-path /lib64/ld-2.17.so /bin/ln -sv /lib64/ld-2.17.so /lib64/ld-linux-x86-64.so.2/lib64被誤刪這個是致命的故障,趁沒有關閉ssh連接,趕緊使用內置命令while read把重要的配置文件輸出到屏幕復制粘貼出來吧,然后嘗試光盤修復
總結
以上是生活随笔為你收集整理的linux lib64被改名,问题解决:Centos误将/lib64更改为lib64.bak的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux+nm+内容详解,【Linux
- 下一篇: linux安装socket.io,ubu