误删除libc.so.6的解决方法-演道网
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
转载自演道,想查看更及时的互联网产品技术热点文章请点击http://go2live.cn