2013-09-26 45 views
0

我有一個64位的CentOS 5.5框,我最近升級到5.6。在升級過程中,我刪除了不必要的32位軟件包(i * 86體系結構軟件包),因爲它們對於64位機器並不真正有效。另外,我還刪除了一些僅用於開發機器的軟件包。加載共享庫時mingetty錯誤libc.so.6

一些除去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 

這的mingetty指向它:

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的這些相同一套軟件包,一切工作正常,所以我懷疑這個問題是由於這些軟件包的刪除腳本的結果。

有誰知道可能會發生什麼?

回答

1

原來,selinux在yum更新期間已啓用,因爲它的一些軟件包已安裝。結果,它弄亂了一些鏈接。解決方法是在yum更新後立即禁用selinux。