更多內容請點擊:node
Linux學習從入門到打死也不放棄,徹底筆記整理(持續更新,求收藏,求點贊~~~~)ios
https://blog.51cto.com/13683480/2095439
centos
做爲centos上的基礎軟件管理工具,rpm的做用可謂是很是重要,就連備受歡迎的yum工具,底層也是基於rpm來實現的。bash
也就是說一旦rpm工具順壞或者被誤刪除,用yum也沒法從新安裝rpm。ssh
那麼一旦出現此種狀況,該如何解決,咱們來作個測試。ide
測試環境: 安裝在VMware上的 CentOS Linux release 7.4.1708 (Core)工具
首先,須要卸載系統上已安裝的rpm,如咱們所見,想要卸載,僅憑 rpm -e rpm是沒法完成卸載的學習
因此此處須要忽略依賴,強制卸載,咱們須要加上--nodeps
測試
rpm -e rpm --nodeps設計
如圖,在此執行rpm,提示no such file or directory
既然rpm已不可用,咱們固然不可能用rpm在次安裝rpm,固然,基於rpm的來實現的yum也沒法完成這個工做
固然,既然是測試實驗,固然是早有準備,虛擬機上已經掛好了centos官方安裝光盤。
此時咱們執行reboot命令,重啓,因爲接下來須要進入救援模式,因此沒法使用ssh遠程鏈接,因而咱們直接在VMware虛擬機上操做
這個頁面很熟悉,Centos7開機頁面,一般這裏咱們都是直接回車,或者不去理會讓系統本身執行開機操做。
不過如今,咱們不按回車,而是如圖所示,按 「 c「
看到這個界面不要懵逼,咱們冷靜的輸入exit,而後回車
好了,終於又看到光盤引導頁面。
其實開機按下 ESC 鍵,進入bios頁面修改默認引到方式,重啓,也能夠達到這個效果
不過用咱們的這種方法,不須要進入bios就能達到這個目的,何樂而不爲呢
在此,咱們選擇第三項,Troubleshooting
接下來選擇第二項,Rescue a Centos system,救援模式,接下來一路回車,到以下頁面:
鍵盤輸入1以後回車
此處需注意提示信息,
chroot /mnt/sysimage
表示咱們原來的根 /,在此處爲/mnt/sysimage/ 記清楚以後,按下回車
接下來咱們獲得了一個bash進程,敲下df 查看如下。
光盤沒有自動掛載,因此咱們手動掛載一下光盤,先新建臨時目錄:
mkdir /mnt/cdrom, 接着:
mount /dev/sr0 /mnt/cdrom
掛載成功,咱們獲得了一個只讀的光盤設備,用於恢復數據的數據就在光盤裏。
接下來咱們直接輸入:rpm -ivh /mnt/cdrom/Package/rpm-4,而後Tab鍵,bash會補全路徑
敲下回車
能夠看到,安裝成功。
爲何這裏咱們能夠使用rpm命令呢?就像咱們df看到的同樣,咱們的root 也就是根,變成了/mnt/sysimage/
換言之,這裏的bash並非咱們原來的bash,這裏的rpm 也不是被咱們強制卸載的那個。而是經過救援模式,調用光盤裏的rpm。
一個巧妙的設計,咱們從新安裝回了rpm。
任務完成,reboot,開機
回到咱們熟悉的界面,敲入rpm,看看是否是已經回來了。
好了,rpm,從新歸來。