1. 程式人生 > >實戰作業1--救援模式下安裝-rpm命令

實戰作業1--救援模式下安裝-rpm命令

centos 救援模式 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命令