yum配置文件 重启后还原_江湖救急 : CentOS7.5 /usr 目录误删, 恢复操作.

一.概述

前两天在网上找了个脚本,看着没问题,直接复制粘贴了. 结果有特殊字符,直接换行.

执行了  rm -rf /usr 目录. 然后就傻了,各种操作命令找不到, 无法登陆.......

万分幸运的是,数据没丢,要是丢了.那我就要命了

1.如果可以进入操作系统,并且可以正常操作的话. 依旧会存在隐患.

恢复后,操作系统主体功能可能可以正常操作,但或多或少存在问题.

毕竟用于恢复的文件和原来系统的文件毕竟多少会有差别.

比如文件应用,yum 安装环境之类的.建议将数据备份.重新做系统.

2.如果不能进入操作系统,无法恢复的话,只能通过重做系统的方式重新开启系统. 做系统的时候.

存放数据的系统盘不格式化, 但愿你的数据没有放到 /home  /var /root 之类的目录下. 如果放了也没关系

在设置硬盘的时候, 可以将之前的目录先映射到别的目录.先拿到数据再说. 要是数据丢了,那就跑路吧...

恢复思路如下:

1. 从别的机器拷贝一份/usr 目录文件.

要求操作系统必须是相同版本,相同环境的 /usr 文件. (包括硬盘分区,否则硬盘会存在挂载不上的情况)

2.想办法将复制的/usr 文件直接上传到器的 根目录下

如果传输工具还能传输文件,直接用传输工具传.不能的话,进机房吧.进行如下操作.

密码登录不上去,是正常的,只要/usr目录恢复,就可以直接登录的,不用重新改密码.

二.具体操作

准备一份安装系统的光盘(U 启也可以)

分两部分:

1.进入 操作系统救援模式.

2.替换文件,重启&检查系统

1.插入系统光盘或者 系统 U 盘.

进入 bios , 设置为 光驱或者 U盘启动 (F2 ,F8,  F12 , ESC ..... )

2.进入系统安装盘界面,先选Troubleshooting,再选Rescue installed system

3 进入后等待最终进入提示模式,输入 1 回车

4 然后输入chroot /mnt/sysimage 切换到临时linux系统,切换后前缀会变为bash

在这时,原来的操作系统就挂载到了 /mnt/sysimage 目录下.

将恢复文件/usr 直接复制到 /mnt/sysimage 目录即可

5.将备份的数据接入 linux 操作系统&替换

我是将/usr 目录的文件直接放到 U 盘里面了.(注意 U盘格式,不然 linux 操作系统不识别)

5.1. 插入 U 盘

5.2. 执行命令 查看挂载 U 盘映射的地址名称

fdisk -l

会发现一个地址类似 :    /dev/sdb1

5.3.创建挂载文件目录

mkdir /mnt/usb

5.3. 挂载 U 盘

mount /dev/sdb1 /mnt/usb

5.4. 操作U 盘内容

cd  /mnt/usb   (u盘的内容都在里面)

5.5.卸载 U 盘

umount /mnt/usb

6. 直接将/usr 目录替换

cp  /mnt/usb/usr.tar.gz  /mnt/sysimage

tar -xzvf /mnt/sysimage/usr.tar.gz

5.  输出exit然后 exec /sbin/reboot (重启)

记得bios改回为硬盘启动. (如果是通过临时修改的那种方式,可以不做修改.)

已知问题

1. 操作系统进入维护模式, 部分磁盘无法正常挂载.

原因: 操作系统对应的版本不对或者说环境不对. 导致磁盘无法挂载.

2. 用户账号无法登陆.

正常, /usr 目录恢复就可以正常登陆了, 不用担心用户账号,密码丢失的问题. 用户账号密码存放的不是在/usr 目录.

3. 重做系统之后,数据会丢嘛?

重做系统的话,数据所在磁盘分区可以不格式话.   正常挂载的话,是不会丢的.如果磁盘的名称是操作系统目录比如/var /home 之类的,而且里面有重要的数据,重命名一个新的目录吧, 不然重做系统的时候会报错哦.

4.进入救援模式, 原来的操作系统在哪?

原来的操作系统是在/mnt/sysimage 目录下. 并不是 当前的根目录 "/ " 下. 进入救援模式的系统是一个临时系统, 重启之后就消失了.另外,不要讲临时系统的/usr 目录直接复制到/mnt/sysimage 目录下, 因为不起作用. 如果这是/usr/sbin 或者/usr/bin 目录下的一些命令的话,还是可以复制的.

5.yum 安装的软件之类的软件丢失的话??

重新安装吧. 用 yum 或者将操作系统中的 rpm 包之类的挂载到操作系统中.直接安装就好了. 软件包不多的话,rpm 安装也可以. 如果多的话,还是尽量用 yum 安装吧. 我试的时候,yum 还是可以使用的. 如果不能使用建议重新安装 yum. 依赖包找一台有 yum 的同版本的 linux 操作系统, 将安装包下载到本地.在挂载到需要恢复的 linux 系统上即可.

6. 进入 bios 的时候, 我遇到了两种模式. 建议选非 UEFI 的那个模式. 具体有啥区别.自己百度一下啊.

7.重做系统的话, 引导扇区 根据 bios 引导模式的不一样,会有不同的引导区. (SWAP 交换分区可以不划分,有告警没事 )

非 UEFI:  /boot 目录   可能还需要 /biosboot (名字记不住了,看报错日志吧)目录.

UEFI: /boot/efi 目录

------  下面是另外一种恢复的方式, 通过 系统光盘中的 rpm 安装包来恢复文件.(未测试过,理论可用. 希望永远不会用到)   --------

预备知识:

rpm包的各种信息,包括包名,安装日期、文件的md5校验信息等,都是存放在/var/lib/rpm的各个文件当中的,

所以只要这个目录不被删掉,我们可以从中读出我们需要的信息进行恢复被误删的文件。

步骤:

1,用安装光盘进入rescue模式,校验所有系统中的安装包,找出那些文件丢失:

rpm -qaV --root /mnt/sysimage >/tmp/rpm_qaV.log

复制代码

2,找到所有校验结果为missing的文件:

grep missing /tmp/rpm_qaV.log|awk '{print $NF}' >/tmp/missing_file

复制代码

3,查询每一个被删除的文件是属于那个rpm包:

for line in `cat /tmp/missing_file`

do

rpm -qf $line --root /mnt/sysimage >>/tmp/missing_rpm

done

4,步骤3中生成的missing_rpm文件有很多是重复的,需要处理一下:

sort /tmp/missing_rpm |sort -u >/tmp/rpm_reinstall

cp /tmp/rpm_reinstall /mnt/sysimage/tmp

到此为止,我们在救援模式下得到了系统所有被删除的文件所在的rpm包,

下一步的工作就是把这些rpm包重新安装,被删除丢失的文件也就找回来了。

5,启动到单用户模式,挂载光盘,从安装光盘里拷贝拷贝需要的rpm包到硬盘准备安装:

mkdir /rpms

mount /dev/cdrom /mnt

cd /mnt/Server

for line in `cat /tmp/rpm_reinstall`

cp $line* /rpms

done

6,重新用安装光盘启动到救援模式,安装rpm包:

rpm -ivh /mnt/sysimage/rpms/* --root /mnt/sysimage --nodeps --force

忽略各种警告和错误信息,等待完成,重新启动系统,检测是否正常

参考:

https://blog.csdn.net/chinese_tiger/article/details/8238144

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html页面调用存储过程,用WebBrowser实现HTML界面的应用

HTML的界面有以下特点:图文混排,格式灵活,可以包含Flash、声音和视频等,实现图文声像的多媒体界面,而且易于建立和维护。另外,HTML的显示环境一般机器上都具备,通常不需要安装额外的软件。当然&…

凡事多找找自己的原因_布袋除尘器灰斗积粉过多、堵灰该咋办?别急,从这8个方面找原因...

灰斗布置在袋室的下部,它除了存放收集下来的粉尘以外,还作为下进气总管使用,当含尘气体进入袋室前先进入灰斗,由于灰斗内容积较大,使得气流速度降低,加之气流方向的改变,使得较粗的尘粒在这里得…

javaone_Javaone 2013评论

javaonetl; dr我今年再次参加了Javaone。 好玩。 星期日 会议于周日开幕,进行了用户组会议和主要主题演讲。 由于我正在运行Java大学关于Java SE 7和8的新功能的培训课程,因此我实际上无法参加这些课程。该课程涵盖了Java 7的项目硬币,NIO 2…

python怎么改变字体大小_Python-docx 整体修改或者部分修改文字的大小和字体类型...

Python中可以用docx来生成word文档,docx中可以自定义文字的大小和字体等。 其中要整体修改文字的字体大小和字体,可以用以下方法: newfile docx.Document() newfile.styles[Normal].font.name Times New Roman newfile.styles[Normal]._ele…

html输入框点击后去掉默认文字颜色,input的一些默认样式的更改

1.Chrome浏览器下,记住密码之后,输入框为黄色的背景,/*忘记密码后的黄色背景的去除*//*只对非透明的纯色背景有效*/input:-webkit-autofill{-webkit-box-shadow: 0 0 0 1000px white inset !important;}/*适用于背景为透明色的输入框*/input:…

cad设计院常用字体_如何把CAD图纸坐标转换成现场坐标?

使用CAD软件画建筑施工图是很常见的,特别是在施工现场,为了不受现场场地落差的影响,需要使用全站仪,但是使用全站仪需要把CAD图纸转换成CAD坐标,很多人可能并不知道该怎么转换,下面我们就来介绍一下如何把图…

sqlserver select 数值精度_SQL Server读懂语句运行 (二) SET STATISTICS IO ON

对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间、执行时间、做了多少次磁盘读等。这些信息对分析问题很有价值。1 SET STATISTICS TIME ON 2 SET STATISTICS IO ON 3 SET STATISTICS PROFILE ON今天&#xff0c…

.net webservice studio调用方法传参_springboot整合WebService简单版

一.什么是webservice这里给大家分享一下我们的专栏《Java 进阶集中营》,每天都会给大家分享一个最新的java技术内容,有优秀的技术讯息,也欢迎分享在我的专栏里。JAVA 进阶集中营​zhuanlan.zhihu.com二.springboot整合webservice 整合webserv…

如何用html5编写彩色同心圆,HTML5 canvas 同心圆动画

原创。产生的动画效果:* 生成文字渐变颜色随时间的变化。* 使得一组同心圆的取色,随时间而变化1.[图片] open_source.png2.[代码][JavaScript]代码var cnew Array("red","blue","cyan","darkGray","green&…

swiper如何防止冲突_冲突管理:化冲突为机会的8个谈话技巧,从此告别争吵和冷战...

书语人间:每天10分钟,读懂1本好书,点击文章右边的「关注」,一起成长大家好呀~今天,灵遥将继续为你带来《解决冲突的关键技巧:如何增加你的有效社交》一书的共读。上一篇里,我们读到了让聆听和谈…

spss非线性回归分析步骤_SPSS与简单线性回归分析

对数据进行简单线性回归分析常按照以下步骤:1根据研究目的确定因变量和自变量现研究某服装店销售额和客流量的关系,销售额为因变量,客流量为自变量,共计36条数据。2 判断有无异常值判断方法:⑴通过绘制散点图直观观察&…

计算机网络由核心通信,计算机网络系统是由通信子网和什么构成的

计算机网络系统是一个集计算机硬件设备、通信设施、软件系统及数据处理能力为一体的,能够实现资源共享的现代化综合服务系统。计算机网络系统的组成可分为三个部分,即硬件系统,软件系统及网络信息系统。1. 硬件系统硬件系统是计算机网络的基础。硬件系统有计算机、通信设备、连…

jwt私钥和公钥怎么获取_jwt 用rsa公钥私钥进行验证(python发送,java接受)

JWT的主要应用场景身份认证在这种场景下,一旦用户完成了登陆,在接下来的每个请求中包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。由于它的开销非常小,可以轻松的在不同域名的系统中传递&…

通过OAuth 2.0和Okta构建具有安全的服务器到服务器通信的Spring Boot应用

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 大多数OAuth 2.0指南都围绕用户的上下文,即使用Google,Github…

springboot java获取版本号_深入实践Spring Boot 实战篇,大佬整理出的PDF文档

如何使用Spring Boot 本文章将会详细介绍如何使用Spring Boot。它覆盖了构建系统,自动配置和运行/部署选项等主题。我们也覆盖了一些Spring Boot最佳实践。尽管Spring Boot没有什么特别的(只是一个你能消费的库),但仍有一些建议,如果你遵循的…

vue v html安全,vue 中控制v-html 中的样式,但不影响全局的小技巧

我们知道在 Vue 中,style可以用两种方式来导入:// method1import (./a.css);//method2复制代码但是不管哪一种,导进的css文件都是应用于全局的,有时候我们不想要这样的效果。而要使得css只对当前的组件有效,即局部应用…

6 redis 编译失败_Centos7.8环境搭建Redis主从复制和哨兵模式

本节我们搭建Redis主从复制和哨兵模式集群,集群的好处是把数据分散不不同的服务器上,解决网站中的很多高并发,高负载等问题,很好的提高网站的性能,也能解决mysql的数据读写问题,所以我们搭建集群非常有必要…

springboot异步注解_Spring Boot 2 :Spring Boot 中的响应式编程和 WebFlux 入门

【小宅按】Spring 5.0 中发布了重量级组件 Webflux,拉起了响应式编程的规模使用序幕。WebFlux 使用的场景是异步非阻塞的,使用 Webflux 作为系统解决方案,在大多数场景下可以提高系统吞吐量。Spring Boot 2.0 是基于 Spring5 构建而成&#x…

结尾的单词_22个以“ez”结尾的西语单词,你掌握了吗?

22 palabras que terminan en -ez22个以“-ez”结尾的西语单词ntido → nitidez 清澈,透明lcido → lucidez 光亮;清楚plido → palidez 苍白;暗淡rpido → rapidez 迅速cido → acidez 酸性estrecho → estrechez 狭窄esbelto → esb…

python xlwt xlrd模块详解_python操作excel之xlrd、xlwt模块详解

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。 可从这里下载https://pypi.python.org/pypi。下面分别记录python读和写excel. python读excel——xlrd 这个过程有几个比较麻烦的问题,比如读取日期、读合并单…