歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 誤刪除libc.so.6的解決方法

誤刪除libc.so.6的解決方法

日期:2017/2/28 13:38:53   编辑:Linux教程

glibc是GNU發布的libc庫,即c運行庫。glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。由於 glibc 囊括了幾乎所有的 UNIX 通行的標准,可以想見其內容包羅萬象。而就像其他的 UNIX 系統一樣,其內含的檔案群分散於系統的樹狀目錄結構中,像一個支架一般撐起整個作業系統。在 GNU/Linux 系統中,其C函式庫發展史點出了GNU/Linux 演進的幾個重要裡程碑,用 glibc 作為系統的C函式庫,是GNU/Linux演進的一個重要裡程碑。

Linux的很多命令都是依賴libc.so.6的動態鏈接庫,如果您不小心把它給刪除了,基本上所有命令都不能使用了,之前很多同學都通過重裝操作系統來解決,今天介紹一種一條命令可以解決的辦法:

[root@localhost ~]# LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6

注:目前CentOS 6.x 64位的glibc的版本是 v2.12 ;

試驗模擬現場:刪除文件,後恢復(前提沒有退出終端,也沒有重啟服務器)

在服務器查看/lib64目錄:

libc.so.6 是軟鏈接文件,鏈接的源文件就是libc-2.12.so 文件,刪除軟鏈接文件,可以使用上面的方法恢復;

[root@localhost lib64]# ll libc*

-rwxr-xr-x. 1 root root 1923352 May 10 2016 libc-2.12.so

lrwxrwxrwx. 1 root root 12 Aug 3 10:18 libc.so.6 -> libc-2.12.so

操作過程:

刪除文件,之後ls cp 命令無法使用;

[root@localhost lib64]# rm -f libc.so.6

[root@localhost lib64]# ls -lh libc*

ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

[root@localhost lib64]# cp libc-2.12.so /tmp/

cp: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

重新加載

[root@localhost lib64]# LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6

可以使用cp ls 命令,恢復成功;

[root@localhost lib64]# cp libc-2.12.so /tmp/

[root@localhost lib64]# ls -lh libc*

-rwxr-xr-x. 1 root root 1.9M May 10 2016 libc-2.12.so

lrwxrwxrwx 1 root root 19 Nov 25 12:17 libc.so.6 -> /lib64/libc-2.12.so

Copyright © Linux教程網 All Rights Reserved