翻车!误删/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)

大家都在看

  • linux学习之搭建Apache 服务器

    本实验的主要任务是在CentOS操作系统中搭建Apache 服务器,练习文档根目录、首页文件、相关访间控制规则的配置。 ‎【实验目的】 ‎(1) 理解Apache 服务器主配置文件…

    Linux 2023年6月13日
    0122
  • 【原创】Linux PCI驱动框架分析(二)

    背 景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. &#8211…

    Linux 2023年6月8日
    0124
  • LeetCode-26. 删除有序数组中的重复项

    题目来源 题目详情 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应…

    Linux 2023年6月7日
    0111
  • 每天一个 HTTP 状态码 101

    101 Switch Protocols 指示服务器端响应了客户端切换协议的要求… 101 Switching Protocols 当客户端的请求具有 Upgrade …

    Linux 2023年6月7日
    0147
  • Shell脚本编程初体验

    通常,当人们提到”shell脚本语言”时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言。脚本语言是与计算机交流的另外…

    Linux 2023年5月28日
    0119
  • Linux 下 SVN 的安装和配置

    SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件、目录以及对其进行的修改。于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是…

    Linux 2023年6月13日
    0139
  • Vim 文本替换介绍与使用

    range 作用范围 空 # 默认为光标所在的行 . # 光标所在的行 n # 第 n 行(1表示第 1行,10表示第 10行),可使用:set nu 显示vim行号 $ # 最后…

    Linux 2023年6月6日
    0115
  • Linux连接出现Permission denied (publickey,gssapi-with-mic,password

    新建的机器或者利旧的机器,当再次连接旧机器时出现以下报错: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@…

    Linux 2023年6月13日
    095
  • Linux编译安装、压缩打包与定时任务服务

    一、编译安装 即使用源代码编译安装的方式,编译打包软件。特点: 可以自定制软件; 可以按需构建软件; 编译安装案例 1、下载源代码包(这里以Nginx软件包源代码为例) wget …

    Linux 2023年5月27日
    0115
  • windows环境 php 连接 sql server

    下载扩展: ODBC Driver: 安装配置: 下载SQL Server的PHP扩展(Microsoft Drivers for PHP for SQL Server),连接里有…

    Linux 2023年6月7日
    0136
  • Fastadmin前台Getshell漏洞复现

    Fastadmin前台Getshell漏洞复现 一、简介 FastAdmin是一款基于ThinkPHP5+Bootstrap开发的极速后台开发框架。FastAdmin基于Apach…

    Linux 2023年5月28日
    0150
  • 重载规则

    1、可重载的运算符 + – * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >&gt…

    Linux 2023年6月13日
    0111
  • 对不起

    如果您看到此页面,代表作者并没有完成此链接所指向的博文。请神犇们原谅本蒟蒻,本人承诺将尽快更新。 Original: https://www.cnblogs.com/Grharri…

    Linux 2023年6月6日
    0117
  • ERROR: Exception when publishing, exception message [Failed to connect and initialize SSH connection

    jenkins 在构建时连接其他部署节点的服务器时报错,ERROR: Exception when publishing, exception message [Failed to…

    Linux 2023年6月14日
    0117
  • Windows10公钥远程连接Linux服务器

    前言 一、环境准备 二、使用步骤 – 1.服务器安装并配置OpenSSH 2. 本地生成密钥 3. 服务器ssh添加密钥 三 总结 前言 使用公钥远程登陆Linux十分…

    Linux 2023年6月7日
    0126
  • 【Redis】单线程理解及可能影响性能的操作

    一. Redis的单线程 二. 可能影响单线程性能的操作 1. bigKey操作 2. 复杂命令 3. 大量key集中过期 4. 淘汰策略 5. 主从全量同步生成RDB 6. AO…

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