實戰作業1--救援模式下安裝-rpm命令
更多內容請點擊:
Linux學習從入門到打死也不放棄,完全筆記整理(持續更新,求收藏,求點贊~~~~)
http://blog.51cto.com/13683480/2095439
作為centos上的基礎軟件管理工具,rpm的作用可謂是非常重要,就連備受歡迎的yum工具,底層也是基於rpm來實現的。
也就是說一旦rpm工具順壞或者被誤刪除,用yum也無法重新安裝rpm。
那麽一旦出現此種情況,該如何解決,我們來做個測試。
測試環境: 安裝在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,重新歸來。
實戰作業1--救援模式下安裝-rpm命令