mv /lib目录下的so文件之后,为何linux系统什么事情也做不了了?如何恢复环境呢?

Posted zhaominmin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mv /lib目录下的so文件之后,为何linux系统什么事情也做不了了?如何恢复环境呢?相关的知识,希望对你有一定的参考价值。

环境信息:centos 7.6 aarch64

因为需要在aarch64位环境运行arm32位程序,所以我手动的往/lib目录下添加了许多arm32位依赖库文件。

程序执行结束后,需要恢复环境,我提取了一组关键字,想通过mv /lib/ld-*.so.* /tmp命令把我添加的arm32位依赖库文件移动到/tmp目录,以恢复环境。

结果,奇怪的事发生了,当我执行完mv /lib/ld-*.so.* /tmp之后,执行ll命令想查看是否还有arm32位的依赖库文件残留时,系统出现下面的错误:

/lib/ld-linux-aarch64.so: not such file

(⊙o⊙)…,我误删了aarch64位的依赖库了吧。赶紧使用mv 命令恢复,结果mv命令执行也是一样的报错。

之后,我尝试了cp ,ln,scp都是一样的错误。

google搜一下,找到了下面一段话:

if you only moved /lib,you can easily recover:

code:

/NEWLIBPATH/ld-linux.so.3 /bin/mv/NEWLIBPATH /lib

that ld-linux is magic.

原来,/lib/ld-linux.so可以作为命令运行!关于ld-linux.so的进一步原理和作用,欢迎大家留言区互动,一起讨论学习:)

参考链接:https://www.linuxquestions.org/questions/linux-software-2/i-moved-lib-help-309345/

以上是关于mv /lib目录下的so文件之后,为何linux系统什么事情也做不了了?如何恢复环境呢?的主要内容,如果未能解决你的问题,请参考以下文章

linux怎样将文件覆盖到另一个文件

linux命令怎么把一个文档下的所有文件都改名?

问题解决:Centos误将/lib64更改为lib64.bak

Ubuntu linux设置从当前目录下加载动态库so文件

linux下如何解压windows下的RAR压缩文件

mysql数据库迁移