2011年1月7日 星期五

bash 損毀或被意外刪除的修復

類別 : [TMLDP] [System Administrator] [Troubleshooting]
主題 : bash 損毀或被意外刪除的修復
適用發行版 : RedHat 系列發行版 ( RHEL、CentOS、Fedora...)
LAB 環境 : CentOS 5.4

/bin/bash 如果損毀或被意外刪除,就算利用開機光碟進入 Rescue 也沒有辦法 Chroot 到 /mnt/sysimage 進行 bash 的安裝,那該如何處理呢?

要解決這個問題你需要知道,
(1).如何使用開機光碟進入 Rescue Mode
(2).如何掛載 NFS 分享目錄
(3).如何安裝RPM 套件檔


1. LAB環境說明


     LAB環境如下圖所示,


其中lab1 扮演NFS Server 提供重新安裝 bash RPM 套件檔,lab2 為故障主機其/bin/bash 已模擬損毀。

2. LAB 操作步驟

a. 嘗試關閉 lab2




[root@lab2 ~]# shutdown -h now

由於/bin/bash 損毀,所以無法完成關機作業


b.強制關機重新啟動,但因為 /bin/bash 已損毀無法開機


c. 再次重啟後進入Rescue Mode

 
由於透過網路取用 lab1 所分享的 bash RPM 套件檔,所以需啟動網路功能

d.因為 bash 已損毀,所以無法執行chroot /mnt/sysimage 進行後續作業,改採B計畫


e. Rescue Mode 環境下,可以使用 httpftpnfs等協定透過網路環境取用資源,所以 先將 lab1 所分享的NFS 目錄掛載到 /mnt/source 以取得 bash RPM套件檔


f. 由於無法執行chroot /mnt/sysimage所以安裝 bash RPM 套件檔時需使用『 --root 』
選項指定套件檔安裝時的根目錄為『/mnt/sysimage』,如此就可以將bash RPM 套件檔安 
裝到 lab2 的 /bin 目錄中。
   另外,由於套件資料庫仍會紀錄 bash 為已安裝狀態,故需加上『--force』進行強制安裝
   或強制升級。




 g. 再次重啟系統,就可正常開機




沒有留言:

張貼留言