翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

写在开篇

血案:本地开发机是CentOS 7,本想删除在/usr/lib/下的一个软链,如:/usr/lib/xxx。当正想删除时,突然被别的事情打扰了一下,回过神之后莫名奇妙的执行了命令:”rm -rf /usr/lib/”,忘记指定文件名了,你说尴尬不尴尬?就在千钧一发之际,马上进行了ctrl+c终止了。但,血案还是发生了,现象就是重启后无法正常进入操作系统了。因日常使用的开发机各种环境都已经搭建好,就不想折腾了。虽然它是虚拟机,但我没有每时每刻对它做快照,就算恢复以前做过的快照,那也不是我想要的样子了。所以,决定对它进行抢救。

抢救过程

  1. 找一台同一个ISO安装的、且正常运行的系统进行对比/usr/lib/路径下的文件数量

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

上面的截图中,就是正常运行的OS,/usr/lib下的文件数量是49个。

  1. 已经损坏的操作系统,在救援模式查看/usr/lib/路径下的文件数量

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

发现只有44个了,和正常的OS对比少了5个,虽然当时马上ctrl+c终止了,手速再快也无力回天了,还是丢了文件。关于如何进入救援模式,继续往下看哈。

  1. 接着,从正常的os中,进入/usr目录,直接在相对路径中打包lib目录,最终得到lib.tar.gz文件,并把它sz到本地。
  2. 通过软碟通(UltraISO)打开CentOS7的ISO镜像文件,并添加文件lib.tar.gz文件到其根目录下,最后另存为一个新的ISO镜像文件。

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。
  1. 通过这个添加了lib.tar.gz文件的CentOS7镜像启动,并进入救援模式,进入救援模式的整个过程如下:

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

到此为止就进入到救援模式下了,且进入的是虚拟系统的根目录,真实的目录存储在/mnt/sysimage下面

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。
  1. 使用chroot命令切换到真实的根目录
chroot /mnt/sysimage/

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。
  1. 挂载光驱到/home/isodata目录下

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

挂载光驱成功后,注意到了lib.tar.gz文件了吗?没错了,就是之前把它弄进去的。

  1. 将lib.tar.gz复制出来,并将其解压后,拷贝到/usr/lib/下,且是覆盖其所有。然后关机,并将其的启动顺序设置为从硬盘启动,然后开机

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。
  1. 开机后,发现已经正常进入操作系统,完美!成功从棺材边抢救回来了。

翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

写在最后

从这种小事就可以说明,我是一个大头虾!如果是线上的生产环境这么个搞法,估计要进监狱了。虽然这次的血案是发生在自己本地的开发机中,同时也给我敲响了一个警钟:敬畏生产环境!

本文转载于(喜欢的盆友关注我们):https://mp.weixin.qq.com/s/TFhbUVZeb-E5zzLsFQZ3Aw

Original: https://www.cnblogs.com/ttropsstack/p/16608619.html
Author: 不背锅运维
Title: 翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582292/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • redis的GEO实战 (RedisTemplate)

    geoadd 时间复杂度为O(log(N)) geoadd cityGeo 116.405285 39.904989 “北京”geoadd cityGeo …

    Linux 2023年5月28日
    094
  • ansible批量采集、批量互信、批量复制、分发文件

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    092
  • Tomcat

    Tomcat Tomcat tomcat简介 tomcat的用处 部署tomcat 测试访问 访问Host Manager界面 访问Server Status tomcat简介 T…

    Linux 2023年6月6日
    0129
  • (转)WEB页面导出为Word文档后分页&横向打印的方法

    WEB页面导出为Word文档后分页&横向打印的方法title >HEAD >/// * * @param {Object} cont 要导出的html元素内容的…

    Linux 2023年6月7日
    0118
  • 5.7 Linux Vim可视化模式

    相信大家都使用过带图形界面的操作系统中的文字编辑器,用户可以使用鼠标来选择要操作的文本,非常方便。在 Vim 编辑器中也有类似的功能,但不是通过鼠标,而是通过键盘来选择要操作的文本…

    Linux 2023年6月7日
    0119
  • rsync实时同步

    环境说明 服务器类型 IP地址 应用 操作系统 源服务器 192.168.169.139 rsync inotify-tools 脚本 centos8 目标服务器 192.168….

    Linux 2023年6月13日
    0109
  • linux的启动流程详解

    linux启动流程 一、第一阶段:BIOS 上个世纪70年代初,”只读内存”(read-only memory,缩写为ROM)发明,开机程序被刷入ROM芯片…

    Linux 2023年6月7日
    088
  • vue过滤器和生命周期——day02

    vue之过滤器和生命周期——day02 过滤器: 概念:Vue.js 允许你自定义过滤器, 可被用作一些常见的文本格式化。过滤器可以用在两个地方: mustache 插值和 v-b…

    Linux 2023年6月7日
    0128
  • WSL2卸载fish后无法登录问题的简单解决

    问题环境 Windows11 WSL2 OpenSUSE Tumbleweed 问题描述 在执行 sudo zypper remove fish之后,退出了终端界面,再次进入时终端…

    Linux 2023年6月13日
    0102
  • Linux 系统IO响应缓慢系统hang住

    应急处理:reboot 解决方法: sysctl -w vm.dirty_ratio=10 sysctl -w vm.dirty_background_ratio=5 sysctl…

    Linux 2023年6月13日
    099
  • docker search和pull超时

    练习时用docker查找镜像或者pull镜像时总是超时,折腾一圈发现是 时钟同步的问题,实验环境的时间偏差太大,重新同步一次就ok了。 #ntpdate cn.pool.ntp.o…

    Linux 2023年6月14日
    082
  • MS17-010复现

    一、环境准备 功击方:kali (192.168.43.132) 目标机:win7(192.168.43.134) win7打开smb服务 漏洞的产生: Sbm服务 445端口 二…

    Linux 2023年6月7日
    074
  • redis八种基本数据类型及其应用

    NoSQL 开发中或多或少都会用到,也是面试必问知识点。最近这几天的面试每一场都问到了。但是感觉回答的并不好,还有很多需要梳理的知识点。这里通过几篇 Redis 笔记整个梳理一遍,…

    Linux 2023年5月28日
    085
  • Ubuntu2004使用dnsmasq+Clash+Iptables+Ipset

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月13日
    084
  • 设置Docker的默认文件存储位置

    对于windows下,直接修改docker desktop界面的配置项目。对于rocky linux下面,对应的配置文件存储在: vim /etc/docker/daemon.js…

    Linux 2023年6月6日
    076
  • 03-MySQL事务

    数据库事务 1、事务特性 1.1、原子性 即不可分割性,事务要么全部被执行,要么就全部不被执行 1.2、一致性 事务的执行使得数据库从一种正确状态转换成另一种正确状态 1.3、隔离…

    Linux 2023年6月7日
    090
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球