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查看軟件版本是否正確,確認沒問題后退出救援重新載入系統
恭喜!程序到此修復成功,
