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

(6)
linux_testlinux_test
上一篇 2018-04-20 17:44
下一篇 2018-04-20 18:11

相关推荐

  • 编译安装LAMP示例

    httpd 2.4.9 + mysql-5.5.33 + php-5.4.26编译安装过程: 一、编译安装apache 1、解决依赖关系 httpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里选择使用编译源代码的方式进行,它们的下载路径为ftp://172…

    Linux笔记 2018-05-29
  • linux魔鬼训练营初体验

    听话照做

    2018-04-01
  • Linux的发行版,并描述不同发行版之间的联系与区别

    Linux是开源的,因此有不同的社区组织或公司可以在此基础上开发,设置不同的样式或功能特性。发行版的分支有几百种之多。 主要分支如下: Debian ubuntu mint knopix Slackware S.u.S.E SLES OpenSUSE RedHat: RedHat Enterprise CentOS:企业社区版 Fedora Core:桌面版…

    Linux笔记 2018-05-10
  • linux 的基础命令以及快捷键的总结

    前两张给大家介绍了 计算机的最基础的东西,今天才真正开始学习linux,那么也是linux最基础的东西。 学习了大约两周的时间吧!对于我这个爱国者 英语啥也不懂的来说。好想说声“马哥 能退钱不,我想回农村”, 当然了 这只是个玩笑话,我是谁,” 打不死的小强”,要么你征服我,要么你被我征服 ,对于我来说,前者别想。 言归正…

    2018-07-28
  • 源码编译安装 MariaDB

    基础软件 yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel lib…

    Linux笔记 2018-06-24

评论列表(1条)

  • linux_test
    linux_test 2018-04-20 17:50

    啦啦啦