因为升级glibc不成功,将老版本的glibc删除,导致系统大部分命令都不能使用,系统不能正常启动。
解决办法如下:
系统:CentOS release 6.5 (Final)
内核:2.6.32-431.el6.x86_64
插入系统盘选择系统救援模式
默认会将原操作系统挂在到/mnt/sysimage目录下
#chroot /mnt/sysimage //切换到原操作系统
#mkdir /mnt/cdrom //创建光驱挂载目录
#mount /dev/sr0 /mnt/cdrom //挂在光驱
#cd /mnt/cdrom/Packeges
#ls glibc //查看有哪些glibc的rpm包
#cp glibc /mnt/sysimage/root //将glibc的rpm包复制到root目录下
#cd /mnt/sysimage/root //如果root目录下原来有util.repo文件或util目录则删除掉。
#rpm2cpio glibc-2.12-1.132.el6.x86_64.rpm > util.repo //将glibc-2.12-1.132.el6.x86_64.rpm包制作成repo格式的文件
#mkdir util //在/mnt/sysimage/root目录下创建util目录
#cd util
#cpio -idcuv < ../util.repo //解压缩util.repo
#cp -r /mnt/sysimage/root/util/lib64 /mnt/sysimage/lib64 //复制所有文件
#cd /mnt/sysimage/root //回到root目录
依次安装root目录下的glibc的rpm包
#rpm -ivh glibc-common-2.12-1.132.el6.x86_64.rpm
#rpm -ivh glibc-2.12-1.132.el6.x86_64.rpm
#rpm -ivh glibc-devel-2.12-1.132.el6.x86_64.rpm
#rpm -ivh glibc-headers-2.12-1.132.el6.x86_64.rpm
#rpm -ivh glibc-utils-2.12-1.132.el6.x86_64.rpm
如果在安装过程中提示有其他的依赖关系错误可以加上如下参数强制安装:
--force --nodeps
#cd /mnt/cdrom/Packeges
#ls libgcc //查找到libgcc-4.7.0-1.fc17.x86_64.rpm
#cp libgcc-4.7.0-1.fc17.x86_64.rpm /mnt/sysimange/root //将其复制到/mnt/sysimage/root目录下
#cd /mnt/sysimage/root
#rpm -ivh libgcc-4.7.0-1.fc17.x86_64.rpm
三个rpm包必须安装:
glibc-common-2.12-1.132.el6.x86_64.rpm
glibc-2.12-1.132.el6.x86_64.rpm
libgcc-4.7.0-1.fc17.x86_64.rpm
重启系统,系统恢复正常,重启过程中有可能多次重启。
原文地址:http://blog.51cto.com/169293/2112795