yum,rpm等失效,使用系統安裝包ISO檔案降級程式恢復系統

HiramYe發表於2019-05-12

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檢視軟體版本是否正確,確認沒問題後退出救援重新載入系統

 

恭喜!程式到此修復成功,

 

相關文章