当前位置:   article > 正文

linux centos 光盘修复,CentOS的lib库误操作和修复

linux用什么命令修复lib文件

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

CentOS系统中,lib目录下的库对系统的正常运行起着非常关键的作用。一旦误操作将导致系统瘫痪。

/lib64被重命名

故障表现

由于操作失误,把/usr/lib64重命名成了/usr/lib64.bak,结果发现,在运行所有外置命令的时候报错:1

2

3

4

5

6

7

8

9

10

11-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,如果机器允许重启的话

方法二

系统一般情况下会设置LD_LIBRARY_PATH, LD_PRELOAD这两个环境变量,来改变应用程序所调用库文件的路径。这两个环境变量只对应用程序有效,可能会对shell命令不起作用

因为默认的库文件路径/usr/lib64被改成了/usr/lib64.bak,因此尝试:1

2

3export LD_LIBRARY_PATH=/usr/lib64.bak

export LD_PRELOAD=/usr/lib64.bak

cp /usr/lib64.bak /usr/lib64

方法三在一个正常的操作系统上

ld-linux-x86-64.so.2是操作系统的核心,并不受LD_LIBRARY_PATH环境变量的影响。如果想改变其调用方式,可以查看man文档

根据使用帮助,我们手动指定库路径进行调用cp命令1/lib64/ld-linux-x86-64.so.2 --library-path /lib64.bak /bin/cp /lib64.bak /lib64 -afr

误删除/lib64/ld-linux-x86-64.so.2

解决方法同上,删除的是软连接文件,链接回来即可1/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把重要的配置文件输出到屏幕复制粘贴出来吧,然后尝试光盘修复

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/83338
推荐阅读
相关标签
  

闽ICP备14008679号