I have a 64bit CentOS 5.5 box that I recently upgraded to 5.6. During the upgrade, I removed the unnecessary 32 bit packages (i*86 architecture packages) since they are not really valid for 64 bit machines. As well, I removed some other packages that were only needed for development machines.
我有一个64位的CentOS 5.5盒子,我最近升级到5.6。在升级过程中,我删除了不必要的32位软件包(i * 86架构软件包),因为它们对64位计算机并不是真正有效。同样,我删除了一些仅用于开发机器的其他软件包。
Some of the 32 bit packages removed include:
删除的一些32位软件包包括:
glib2 glibc libgcc libstdc++
Some of the 64 bit packages removed include:
删除的一些64位软件包包括:
boost-devel cpp gcc gcc-c++
gdb glibc-devel glibc-headers libstdc++-devel
The following are some of the packages that remain:
以下是一些剩余的软件包:
# rpm -qa | grep libc
libcap-1.10-26
glibc-common-2.5-58.el5_6.4
glibc-2.5-58.el5_6.4
However, now I get the following error when I reboot:
但是,现在我重新启动时出现以下错误:
/sbin/mingetty: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
This log is repeated many times for each terminal, and then INIT pauses for 5 minutes because it is respawning too fast.
对于每个终端,该日志重复多次,然后INIT暂停5分钟,因为它的重生速度太快。
As a result, I cannot log into the console, but can still SSH to the box.
因此,我无法登录到控制台,但仍然可以通过SSH连接到该框。
I have verified that libc.so.6 is present:
我已经验证了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
And that mingetty is pointing to it:
那个小小的指向它:
ldd /sbin/mingetty
linux-vdso.so.1 => (0x00007fffb7ffc000)
libc.so.6 => /lib64/libc.so.6 (0x00002adf73cb2000)
/lib64/ld-linux-x86-64.so.2 (0x00002adf73a94000)
If I perform a fresh install of CentOS 5.6 with these same set of packages, everything works fine, so I suspect that the problem is a result of the removal scripts for some of these packages.
如果我使用这些相同的软件包执行全新安装的CentOS 5.6,一切正常,所以我怀疑问题是由于某些软件包的删除脚本造成的。
Does anyone know what might be going on?
有谁知道可能会发生什么?
1 个解决方案
#1
1
Turns out that selinux was enabled during the yum update since some of its packages were installed. As a result, it messed up some of the links. The solution was to disable selinux immediately after the yum update.
事实证明,在yum更新期间启用了selinux,因为它安装了一些软件包。结果,它搞砸了一些链接。解决方案是在yum更新后立即禁用selinux。
#1
1
Turns out that selinux was enabled during the yum update since some of its packages were installed. As a result, it messed up some of the links. The solution was to disable selinux immediately after the yum update.
事实证明,在yum更新期间启用了selinux,因为它安装了一些软件包。结果,它搞砸了一些链接。解决方案是在yum更新后立即禁用selinux。