yum,rpm等失效,使用系统安装包ISO文件降级程序恢复系统

linux平台:REHL6.7

故障原因:由于不小心使用命令yum update nss误升级了工作平台中nss系列工具包导致系统中yum 和 rpm命令执行都报错。

由于yum rpm命令都不好用使用使用平台将会变得异常艰难,因此尝试将nss降级。

但是由于nss升级导致yum 和 rpm都不好用

yum history undo 或者 rpm -Uvh –oldpackage 等命令也无法实现

在查阅相关资料之后决定尝试使用救援Rescue模式进行nss版本降级工作

首先应该进入救援shell模式,下面是进入步骤

将linux系统ISO文件制作成U盘或者在虚拟机下挂载到虚拟机DVD光驱中

接下来选择“Rescue installed system”然后按回车确认

 

选择语言English 键盘布局US

 

4、SetupNetworking选择Yes,IP地址等选择自动就好了,这样可以使用yum源进行恢复

5、救援模式选择Continue

6、选择OK进入该模式

7、选择shell模式 Start shell 回车进入,下图可以看见可以进入shell可以输入命令了

接下来是恢复软件包过程

方法1:使用yum undo命令恢复(在救援模式下该命令好用)

由于使用光盘启动的救援系统因此需要使用chroot /mnt/sysimage 命令切换到自己安装的系统上去

输入 yum history命令查看yum安装包记录,可以知道升级什么软件导致系统异常

 

找到异常升级步骤后使用yum history undo N 回滚yum操作

如果上步回滚成功那么恭喜,可以不用执行下面操作了

由于yum源中未找到要恢复的nss版本,undo命令失效,下面要使用终极大法了

终极大法(使用光盘原始RPM包修复)

由于使用光盘启动的救援系统因此需要使用chroot /mnt/sysimage 命令切换到自己安装的系统上去(前面敲过该命令可以不使用)

创建目录cd mnt ; mkdir media

挂载光盘文件到media目录下mount /dev/dvd media,挂载后ls查看文件夹如下图:

 

RPM安装包存放在Packages文件夹下 cd Packages;ls 可以看见系统所有的rpm包

接着查看要修复的软件包使用命令

rpm –Uvh –0ldpackage –nodeps   xxx.rmp 修复

--nodeps可以先不使用 如果有相应的依赖包的需要使用该参数忽略依赖

 6、使用rpm –qa | grep xxx查看软件版本是否正确,确认没问题后退出救援重新载入系统

恭喜!程序到此修复成功,

猜你喜欢

转载自www.cnblogs.com/HiramYe/p/10850578.html