最近,处理一故障:由于其他应用更高版本的glibc,操作者不得已卸载操作系统的现有的glibc,导致系统崩溃。
下边是Linux RHEL5.5进入救援模式重新安装glibc的过程。
将光盘放入光驱,设置系统从光驱启动,在启动界面输入:linux rescue
等待系统加载完内核:
选择操作语言(一般是english):
选择键盘模式(US):
是否启动网络(建议不启动):
系统询问是否将系统以读写或只读模式挂载到/mnt/sysimage(别无选择):
接下来的步骤很重要,如果系统有其他磁盘挂载如/dev/sdb,要选择Ignore drive,否则该盘上的数据将被清空,造成不可挽回的数据丢失
系统再次询问是否将原操作系统挂载到/mnt/sysimage,并提示:如果转入对原操作系统更改可以chroot /mnt/sysimage
成功进入linux救援模式
查看原操作系统的文件
RHEL5.5默认/dev/hda是光驱镜像
挂载光驱到/mnt/source下,并查看光驱内容
将glibc相关rpm包复制到/root家目录
使用rpm2cpio命令将glibc-2.5-49.x86_64.rpm包制作成repo格式的文件
在/mnt/sysimage/root下创建util文件夹,然后cd util,再执行cpio -idcuv < ../util.repo进行util.repo的解压,在/mnt/sysimage/root/util/可以看到libx64,将其中所有文件复制到/mnt/sysimage/libX64下
此时,在chroot /mnt/sysimage就不会报错:chroot cannot run command '/bin/sh':No such
然后重启系统完成glibc重装后的恢复操作
下边是Linux RHEL5.5进入救援模式重新安装glibc的过程。
将光盘放入光驱,设置系统从光驱启动,在启动界面输入:linux rescue
等待系统加载完内核:
选择操作语言(一般是english):
选择键盘模式(US):
是否启动网络(建议不启动):
系统询问是否将系统以读写或只读模式挂载到/mnt/sysimage(别无选择):
接下来的步骤很重要,如果系统有其他磁盘挂载如/dev/sdb,要选择Ignore drive,否则该盘上的数据将被清空,造成不可挽回的数据丢失
系统再次询问是否将原操作系统挂载到/mnt/sysimage,并提示:如果转入对原操作系统更改可以chroot /mnt/sysimage
成功进入linux救援模式
查看原操作系统的文件
RHEL5.5默认/dev/hda是光驱镜像
挂载光驱到/mnt/source下,并查看光驱内容
将glibc相关rpm包复制到/root家目录
使用rpm2cpio命令将glibc-2.5-49.x86_64.rpm包制作成repo格式的文件
在/mnt/sysimage/root下创建util文件夹,然后cd util,再执行cpio -idcuv < ../util.repo进行util.repo的解压,在/mnt/sysimage/root/util/可以看到libx64,将其中所有文件复制到/mnt/sysimage/libX64下
此时,在chroot /mnt/sysimage就不会报错:chroot cannot run command '/bin/sh':No such
然后重启系统完成glibc重装后的恢复操作