一个简单小例子来说一下Rescue营救模式

昨天不小心将/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模式

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

如下图所示,这里可以看到第一个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重启虚拟机就好了(因为我们将文件破坏了,所以重启的时候可能有点慢,耐心等待呦。)

一个简单小例子来说一下Rescue营救模式

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

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

一个简单小例子来说一下Rescue营救模式

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

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

原创文章,作者:M.Sun,如若转载,请注明出处:http://www.178linux.com/85235

(2)
M.SunM.Sun
上一篇 2017-08-21 18:59
下一篇 2017-08-21 20:53

相关推荐

  • 马哥教育网络21期+第二周练习博客

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用文件管理类命令有cp、mv、rm。 # cp命令:文件复制命令     cp [OPTION]… [-T] SOURCE DEST 单文件复制     cp [OPTION]… SOURC…

    Linux干货 2016-07-26
  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2016-11-02
  • 系统排错——如何修复和保护你的系统

    作业 1、破解root口令,并为grub设置保护功能 开机启动时按e进入grub菜单,然后按a 编辑当前菜单的kernel选项,在后面追加1,s,S,single中的任意一个,然后回车,输入b键启动 进入了单用户模式,可以直接修改root密码 如何为grub设置保护功能: (1)、首先生成grub的md5密码 (2)、修改grub.conf文件 (3)、重启…

    Linux干货 2016-09-12
  • Linux的发展史

    前言: Linux是什么?    我们知道Linux这玩意儿是在计算机上面运作的,所以说Linux就是一组软件。问题是这个软件是操作系统还是应用程序? 且Linux可以在哪些种类的计算机上面运作?而Linux源自哪里?为什么Linux 还不用钱?这些我们都得来谈一谈先!      计算机系…

    Linux干货 2016-10-13
  • 网络管理

    vpn:virtual private network RJ-45:类似电话接头  电话线接头为RJ-11 hub:集线器,多端口中继器,不具有记忆功能 switch:交换机 router:路由器 物理拓扑分类:总线,环装,星型 OSI:国际网络标准,实际采用为TCP/IP OSI七层模型:应用层:application   表…

    Linux干货 2016-09-05
  • shell中的位置参数变量

    要了解位置变量,首先要知道什么是变量?  变量就是让某一个特定的字符串来代表不固定的内容,简单理解就是用一个简单的“字眼”来替代另一个比较复杂或者容易变动的数据。 而什么又是位置变量呢?  位置变量就是bash将传递给脚本的参数,按照位置不同,保存在不同的位置变量中,以便于脚本调用这些变量。 位置参数变量: $1, $2, ……

    Linux干货 2016-08-12