在 centos 5 中,意外重命名了 /lib 文件夹中的一个文件,不知道它叫什么,如何找出它?

在 centos 5 中,意外重命名了 /lib 文件夹中的一个文件,不知道它叫什么,如何找出它?

在此处输入图片描述

在上图中,我意外地将文件重命名为l,我根本不知道它是什么。它按名称排序,我 99% 确定它以 L 开头,很可能是 lib....

仅供参考:此操作无法撤消。

以下是所要求的一些代码:

[root@server ~]# file /usr/bin/* | grep "32-bit"
/usr/bin/gdk-pixbuf-query-loaders-32:     ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
/usr/bin/gtk-query-immodules-2.0-32:      ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
/usr/bin/mbchk:                           ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped
/usr/bin/pango-querymodules-32:           ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped

下午3:55更新:

[root@server ~]# rpm -qa | grep -i lsb
redhat-lsb-4.0-2.1.4.el5
redhat-lsb-4.0-2.1.4.el5


[root@server ~]# rpm -ql redhat-lsb-4.0-2.1.4.el5 | grep "/lib"
/lib/ld-lsb.so.3
/lib/lsb
/lib/lsb/init-functions
/usr/lib/lsb
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
/lib/lsb
/lib/lsb/init-functions
/lib64/ld-lsb-x86-64.so.3
/usr/lib/lsb
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd

我怎样才能知道该文件夹以前的名称?

答案1

它是一个符号链接,可能到ld-2.5.so(请注意与 相同的日期和文件大小ld-linux)。

如果您可以在某处找到 CentOS,只需运行ls -la /lib | grep ld-2.5,您就会找到一些链接,其中包括您缺少的链接。

由于没有 CentOS 5 可用,因此我无法肯定地说,但有可能ld-lsb.so.2ld-lsb.so.3

首先让我们确保你已安装 lsb 包。

$ rpm -qa | grep -i lsb

或 $ sudo yum list installed | grep -i lsb

您应该在其中找到类似“redhat-lsb”(或“something-lsb”)的内容。如果有,请列出其内容并查看“/lib”中有哪些文件。

$ rpm -ql nameofpackage | grep "/lib"

或 $ repoquery --list nameofpackage

其中一个应该是 /lib/ld-lsb-something。(如果repoquery不行,您需要先安装yum-utils:)sudo yum install yum-utils

答案2

这可能很痛苦,但请尝试一下。它应该会告诉您原始安装中修改/丢失的所有文件(包括配置文件)。

rpm -qa --verify | grep missing

希望您只缺少一个 lib 文件。

相关内容