问题描述


删除/lib64/libc.so.6文件,发现大部分命令不能使用,对比其他正常的系统发现libc.so.6是一个软链接文件,指向libc-2.12.so这个库文件,上网百度了libc-2.12.so是C语言标准库文件,linux大部分命令的执行都要依靠这个库文件。


进入救援模式


重启客户端,当闪过白色进度条的时候快速按ESC键进入Boot Menu界面

选择CD-ROM Drvice

blob.png


接下来进去我们刚装系统时候的一个界面,选择Rescue install system(救援模式)

blob.png


进入救援模式下的shell


当遇到如下界面的时候,如下图所示选择OK和NO

blob.png


之后进入下图界面,我们要读懂它的英文意思,大概是说在救援模式下有一个正常的文件系统,这个正常文件系统有/,/mnt等目录,当然还可以正常的进入shell输入一些简单命令正确的运行,并且被破坏的系统文件会被挂载到/mnt/sysimage(关键搞清楚破坏了的系统文件的位置);

选择continue

blob.png


按照下图所示选择,进入一个黑色界面的shell,我们可以正常的输入命令

blob.png


恢复


现在整理一下思路,我们查看救援模式下的/目录/mnt/sysimage/目录。发现/mnt/sysimage/下就是我们真正的文件系统(被破坏)的目录内容,不存在/mnt/sysimage/lib64/libc.so.6文件;救援模式的系统中,一切文件都是正常的,存在/lib64/libc.so.6

blob.png

blob.png


我们现在要做的是,恢复/mnt/sysimage/lib64/libc.so.6文件

cd /mnt/sysimage/lib64/
ln -s libc-2.12.so libc.so.6
reboot    # 重启进入真正的系统
# 进去我们发现所有命令都恢复了正常使用

blob.png