码迷,mamicode.com
首页 > 其他好文 > 详细

营救模式rescue例子

时间:2017-10-12 22:56:39      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:rescue   lib64   营救模式   

昨天不小心将/lib64下的一个动态库文件libc.so.6(很多命令都依赖的)给移动到了/root下,然后除了一些内部命令可用外,其余命令都不能用了,然后就想着看看重启可不可以修复,结果重启后就再也开不了机了,心想着这可咋整,要不用最快的方式进行快照恢复吧,结果老师就说了,不能使用快照,让我们使用Rescue营救模式进行恢复,然后在恢复的过程中就发现一个问题,

这个库文件的改变分两种:1.将它移动了位置;2.将它改名字了;在这里这两种情况归为一种解说,还有另外一种就是删除,而且Centos 6与Centos 7的营救模式还有点不一样,接下来分别讲一下:

本文总共分两部分:

一:在Centos 6下 恢复/lib64/libc.so.6

二:在Centos 7下 恢复/lib64/libc.so.6

一:在Centos 6下 恢复/lib64/libc.so.6:

如下图所示,将/lib64/libc.so.6移动到了/root/下。然后,像ls、ll命令已经不能用了,接下来,我们就去Rescue模式

技术分享

首先我们要重启一下虚拟机,接下来就考验手速了:在出现如下图所示的界面时,立即将鼠标点进去并快速的按一下Esc键,(这个界面出现的时间比较短,一定要记得快速按键)

技术分享

然后就会进入如下图所示的界面:这里选择第三项(用上下键进行移动)CD-ROM Drive(虚拟光盘设备),因为我们现在虚拟环境里已经没有了动态库文件libc.so.6,所以我们要借助虚拟光盘进行将我们的文件找回;

技术分享

然后进入下面的界面,选择第三项营救模式下,enter键继续

技术分享

接下来的两步都直接默认,enter继续,到第三个界面时提醒是否开启网络,点YES也行,这里我选择NO

技术分享

接下来的这个选项就要好好看看,大概意思就是告诉你这里挂载在/mnt/sysimage目录下,(也就是说我们之前的根/,就是现在/mnt/sysimage),下面的四个选项,这里我们要做一些操作,所以这里选择默认的Continue选项;

技术分享

接下来会再次告诉你,你现在在/mnt/sysimage下,如果你想改变你的root的目录,使用chroot /mnt/sysimage这条命令进行,我们只是想找回libc.so.6这个文件所以这里就直接OK就好了;

技术分享

这里它会反复提醒你根目录的所在位置/mnt/sysimage,进去后要想进入/root下就要敲/mnt/sysimage/root

技术分享

现在点击OK的话就会进入一个shell

技术分享

如下图所示,这里可以看到第一个lib64下也可以看到libc.so.6,因为我们把libc.so.6移动到了/root下,所以我们可以再将它移回来,那我们要是在终端上将/lib64/libc.so.6删除了,在/mnt/sysimage/root下就没有这个文件了,所以我们这时就需要把刚进入shell时的目录下的lib64下的libc.so.6拷贝一份(cp lib64/libc.so.6 /mnt/sysimage/lib64/)就可以了,然后输入exit退出;再enter进入shell环境后,输入reboot重启虚拟机就好了(因为我们将文件破坏了,所以重启的时候可能有点慢,耐心等待呦。)

技术分享


二:在Centos 7下 恢复/lib64/libc.so.6

这里可以结合上面的那张图一起看,我们一会要从虚拟环境中的lib64下 的libc.so.6给cp(拷贝)到/mnt/sysimage/lib64(也就是现在的/lib64/);

技术分享

现在重启虚拟机,跟Centos 6差不多,手速要快哦,当出现滚动条后,立刻鼠标点进去并快速按下Esc键,出现的界面和Centos 6的一样,都是选择第三项进入CD-ROM Drive(虚拟光盘设备);enter之后,这里就和Centos 6 有所不同,没有直接将Rescue模式列出来,而是通过点击第三项Troubleshooting(错误排查);

技术分享

然后进入如下界面,这里点击第二项Rescue模式,然后接下来的界面与Centos 6有所不同,Centos 6是弹框显示,这里直接就是命令行显示

技术分享

这里的提示和Centos 6一样,所以这里要输入“1”,进行Continue,然后点击Enter,

技术分享

这里提示和Centos 6里一样,都是告诉你挂载目录在/mnt/sysimage下,之前所有以根(/)起始的目录在这里都要以/mnt/sysimage起始;然后按Enter键,就可以进入shell环境了。

技术分享

如下图所示,进入shell后,将当前目录下的lib64下的libc.so.6拷贝到/mnt/sysimage/lib64即可

技术分享

最后一步比Centos 6 稍微少一步,就是在Centos 7下直接输入exit,按Enter键就可以直接重启, 不需要exit后再reboot重启(这个过程也需要几分钟的等待时间呦)。


OK,等重启结束,这个示例也结束了,用Rescue模式还原我们丢失的一些文件,而不用像快照恢复一样,因为快照拍摄后我们可能又建了很多文件,这时若使用快照恢复的话,那么这些文件就会丢失,当然,你也可以将它备份到其他虚拟机上,等快照恢复后再拷回来,这个需要根据具体情况而定,毕竟每个东西的存在都有它的价值。

搬家自http://www.178linux.com/85235

本文出自 “13162997” 博客,请务必保留此出处http://13172997.blog.51cto.com/13162997/1971810

营救模式rescue例子

标签:rescue   lib64   营救模式   

原文地址:http://13172997.blog.51cto.com/13162997/1971810

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!