一个简单小例子来说一下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)
上一篇 2017-08-21 18:59
下一篇 2017-08-21 20:53

相关推荐

  • 10月18日作业–hash,history

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 1、使用ntpdate对时间进行同步,然后hwclock -w;并再建立Crontab每小时进行一次时间同步。 2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。 1、载光盘 2、进入/mnt/Packages 安装共享screen…

    Linux干货 2016-10-19
  • Linux软件包管理与实例

    Linux系统的早期,编译是利用程序代码生成可执行文件的过程的手动编译。虽具有一定优势,但是专业知识要求高,不利于实际操作。因此出现了许多软件包管理器,最具代表的是由Red Hat 推出的RPM。Yum则有利于解决linux安装软件时的依赖性。 所谓依赖性,就是linux系统中的软件将不同的功能模块单独写入到不同的软件包中,最后将多个相互依存的软件包结合起来…

    2017-08-13
  • 第六周

    请详细总结vim编辑器的使用并完成以下练习题 基本模式: 编辑模式,命令模式 输入模式 末行模式 内置的命令行接口 打开文件: # vim [options] [file ..] +#:打开文档后,直接让光标处于第#行的行首 +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首   模式转换: 编辑模式:默认模式 编…

    Linux干货 2017-05-13
  • mysql or条件可以使用索引而避免全表

    在某些情况下,or条件可以避免全表扫描的。 1 .where 语句里面如果带有or条件, myisam表能用到索引, innodb不行。 1)myisam表:  CREATE TABLE IF NOT EXISTS `a` (   `id` int(1)&nb…

    Linux干货 2015-04-13
  • 马哥教育网络班22期+第12周作业

    week11 1、请描述一次完整的http请求处理过程; 2、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。 3、源码编译安装LAMP环境(基于wordpress程序),并写出详细的安装、配置、测试过程。 4、建立httpd服务器(基于编译的方式进行),要求:      提供两个基于名称的虚拟主…

    Linux干货 2016-10-31
  • Linux文件根目录

    / 表示为根目录/├── bin  存放用户使用的基本命令(可执行程序,二进制文件)  不能单独分区├── boot   跟内核有关的文件 grub  内核和BootLoader ├── cgroup   用来资源限制资源隔离 docker 容器化├── dev(device )设备文件&…

    2017-03-27