CentOS 救援模式 (rescue installed system)修复损坏系统
2016年02月26日 ⁄ Linux ⁄ 共 1038字 ⁄ 字号 小 中 大 ⁄ 暂无评论前段时间遇到开发人员更新glibc版本,把/usr/lib64/libc-2.12.so & libc.so.6 -> libc-2.12.so 这个软连接更改之后导致报错:
ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
无法远程登录,终端也无法登录,也无法单用户登录,如图:
远程登录:
终端登录:
单用户:
其实在执行误操作之后只要不断开远程连接还有挽回的余地,但远程异常断开连接之后很多人就没有辙了,准备抢救数据&文件,重装系统,其实这里咱们先不要着急重装系统,咱们来试试rescue !
一、首先准备好系统安装盘,使用安装盘启动:
二、选择语言和键盘(默认的就好):
三、稍等一会儿会出现要不要设置网络,一般来说网络没问题就不用设置了,我这里选择No:
四、这里就是rescue选项了:
选择Continue,则救援模式程序会自动查找系统中已有的文件系统,并把他们挂载到/mnt/sysimage目录下。
选择Read-Only,则会以只读的方式挂载已有的文件系统。
手动挂载则Skip。
Advanced ,高级选项就不作说明了。
咱们这儿选择Continue:
五、原系统挂载路径/mnt/sysimage,如果想获得原系统root环境,执行行命令:chroot /mnt/sysimage 即可。
六、这里可以执行fakd诊断,当然我们这里直接进入shell 命令行:
七、本次重头戏来了,因为/usr/lib64/libc-2.12.so & libc.so.6 -> libc-2.12.so 问题,执行chroot /mnt/sysinage会报错:
八、不要害怕,执行:
1 |
cp /lib64/libc-2 .12.so /mnt/sysimage/lib64/libc-2 .12.so
|
2 |
cp /lib64/libc .so.6 /mnt/sysimage/lib64/libc .so.6
|
将光盘文件拷贝到系统文件去,再执行chroot /mnt/sysinage 就正常了:
其实到这里我这次rescue 已经完成了,因为系统缺少/usr/lib64/libc-2.12.so文件和 libc.so.6 -> libc-2.12.so软连接 ,复制过去就好了 。
九、退出shell & reboot
其他系统文件损坏也可以参照同样步骤进行,就不在此赘述了 。
欢迎大家多多指教 ~~~