在上图中,我意外地将文件重命名为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.2
或ld-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 文件。