Linux系统-动态库删除或破坏等,修复操作

Linux,CentOS7,救援模式(Rescue a CentOS System),动态库(shared libraries)

TEST:

测试目的:

通过删除或者破坏系统动态库,来练习系统恢复。

 

构建测试环境:

环境:CentOS7

动态库:/lib64/libc.so.6

删除动态库操作:

[root@CentOS74 ~]#ldd /bin/ls

linux-vdso.so.1 =>  (0x00007ffcd0cba000)

libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f318af10000)

libcap.so.2 => /lib64/libcap.so.2 (0x00007f318ad0b000)

libacl.so.1 => /lib64/libacl.so.1 (0x00007f318ab01000)

libc.so.6 => /lib64/libc.so.6 (0x00007f318a73e000)

libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f318a4dc000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007f318a2d7000)

/lib64/ld-linux-x86-64.so.2 (0x00005561e0cc9000)

libattr.so.1 => /lib64/libattr.so.1 (0x00007f318a0d2000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3189eb6000)

[root@CentOS74 ~]#ldd /bin/mv

linux-vdso.so.1 =>  (0x00007ffdf51ee000)

libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f32c1377000)

libacl.so.1 => /lib64/libacl.so.1 (0x00007f32c116e000)

libattr.so.1 => /lib64/libattr.so.1 (0x00007f32c0f68000)

libc.so.6 => /lib64/libc.so.6 (0x00007f32c0ba5000)

libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f32c0943000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007f32c073e000)

/lib64/ld-linux-x86-64.so.2 (0x000055589efec000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f32c0522000)

[root@CentOS74 ~]#ll /lib64/libc.so.6

lrwxrwxrwx. 1 root root 12 Apr 19 17:42 /lib64/libc.so.6 -> libc-2.17.so

[root@CentOS74 ~]#mv /lib64/libc.so.6 /root/

[root@CentOS74 ~]#ll /lib64/libc.so.6

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

[root@CentOS74 ~]#ls

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

[root@CentOS74 ~]#mv

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

[root@CentOS74 ~]#cp

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

[root@CentOS74 ~]#

 

现象:

系统报出:“

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

动态库文件丢失

修复:

从救援模式下,修复。

step

1、挂载系统镜像文件,重启机器,按“ESC”,进入Boot Menu,选择“CD-ROM Drive”,进入救援模式

备注:”Rescue a CentOS System”:从光盘中启用一个简化的系统,与本地操作系统无关

1

3

5

2、查看原系统分区挂载情况

6

3、恢复动态库

a、将移动的动态库文件,移动回去

7

b、查看库文件属性,库文件是一个软链接文件,可以通过重新建立软链接

8

备注:

注意:系统软链接是使用相对路径,

创建软链接的方式,进入软链接文件的目录下,以当前目录为相对目录,创建软链接。

10

c、还有一种情况就是文件丢失,需要先找到软件包,解压找到丢失的软件包,然后拷贝到对应的位置。

 

4、重启机器,系统OK

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96640

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

评论列表(1条)

  • linux_test
    linux_test 2018-04-20 17:50

    啦啦啦

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班