加载共享库libc.so.6时出现明盖蒂错误



我有一个64位的CentOS 5.5盒子,我最近升级到了5.6。 在升级过程中,我删除了不必要的 32 位软件包(i*86 体系结构软件包(,因为它们对 64 位计算机并不真正有效。 此外,我还删除了一些仅开发计算机需要的其他软件包。

删除的一些 32 位软件包包括:

glib2      glibc    libgcc     libstdc++

删除的一些 64 位软件包包括:

boost-devel       cpp                gcc               gcc-c++
gdb               glibc-devel        glibc-headers     libstdc++-devel

以下是一些剩余的软件包:

# rpm -qa | grep libc
libcap-1.10-26
glibc-common-2.5-58.el5_6.4
glibc-2.5-58.el5_6.4

但是,现在重新启动时出现以下错误:

/sbin/mingetty: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

此日志对每个终端重复多次,然后 INIT 暂停 5 分钟,因为它重生太快。

因此,我无法登录控制台,但仍然可以通过 SSH 连接到该框。

我已经验证了libc.so.6存在:

# ls -lrt /lib64/libc[.-]*
-rwxr-xr-x 1 root root 1716720 Jun 27  2011 /lib64/libc-2.5.so
lrwxrwxrwx 1 root root      11 Sep 20 19:16 /lib64/libc.so.6 -> libc-2.5.so

而那个明格特指向它:

ldd /sbin/mingetty 
    linux-vdso.so.1 =>  (0x00007fffb7ffc000)
    libc.so.6 => /lib64/libc.so.6 (0x00002adf73cb2000)
    /lib64/ld-linux-x86-64.so.2 (0x00002adf73a94000)

如果我使用这组相同的软件包执行 CentOS 5.6 的全新安装,一切正常,所以我怀疑问题是由于其中一些软件包的删除脚本造成的。

有谁知道可能会发生什么?

事实证明,selinux 在 yum 更新期间被启用,因为它的某些软件包已安装。 结果,它搞砸了一些链接。 解决方案是在 yum 更新后立即禁用 selinux。

相关内容

最新更新