解決誤刪/bin/bash問題


出現原因:由於當時誤操作把 /bin/bash 命令解釋器二進制文件移到了/root 家目錄里面,再重新登錄系統之后,登陸進去什么也干干不了。

解決辦法:讓系統重啟,以掛載光盤模式進入系統BIOS,選擇CD-ROM為第一啟動項。之后重啟系統。

                 系統重啟的時候選擇救援模式,進入救援模式的命令行。

                 通過光盤重新安裝bash命令解釋器(網上說也可以通過遠程下載bash rpm包來安裝,這個方法我沒有試過,不知道行不)。



 

下面我就具體說明操作步驟:

步驟一:連上光盤,讓系統重啟,進入BIOS界面,選擇CD-ROM為第一啟動項,重啟電腦。

 

步驟二:電腦重啟之后,進入系統安裝時的界面,我們選擇第三個,進入系統救援模式(注意:這里如果進入單用戶模式的話,我測試了一下不行)

 

步驟三:之后操作直接下一步,在網卡選擇的時候選擇NO,其他選擇項參考博文(https://www.cnblogs.com/l75790/p/9403336.html),之后進入命令行模式。如圖

 

步驟四:接着就是找到bash的安裝包然后安裝即可(此時的光盤已經是掛載的了,而且最好不要再掛載光盤到/mnt目錄下)。 ls  /dev會顯示設備列表,但是其中並沒有CD-ROM,看的教程上說CD-ROM一般模擬的都是hd的設備,而且CD-ROM是指向hdX的一個鏈接,我的/dev目錄中沒有hd設備,反而是/dev/dvd這個設備(最笨的方法就是實在無法確認的話就大致找幾個貌似對的,先掛載,然后進去找,如果有安裝包列表就是對的)。如圖

 

步驟五:根目錄下(不是/mnt/sysimage而是這個小系統的根)創建一個目錄,然后將/dev/dvd掛載到該目錄下,進入該Packages包目錄,

通過命令 “ls | grep bash” 找到該bash安裝包。

步驟六:這一步驟就是安裝bash包。這里我是把bash安裝包拷貝到根(/)目錄下面,在重新安裝的。大家也可以直接在該目錄里面安裝。

  安裝命令:rpm  -ivh  --replacepkgs  --root /mnt/sysimage  /bash-4.1.2-48.el6.x86_64

  其中:

       --replacepkgs:指定替換原來的bash包;
       --root  /mnt/sysimage:指定將包裝在根下(前面進去救援模式時告訴你的此時的根在/mnt/sysimage);沒有此選項說明你把bash包裝到當前的這個小系統中去了,並不是裝到原系統中去,如圖:  

 

步驟七:切換到真正的根上去查看是否裝上了,完成到這一步就說明問題已經解決了;如圖

 

步驟八:重新啟動,選擇boot from local  drive啟動,進入/bin目錄下可以重新找到bash

 進入系統后,自己測試一下看有什么問題沒有:

[root@PandaLi ~]# cd /bin/
[root@PandaLi bin]# ll | grep bash
 -rwxr-xr-x. 1 root root 868596 Aug 29  2012 bash
 lrwxrwxrwx. 1 root root      4 Jul 26 02:46 sh -> bash
[root@PandaLi bin]#

 

備注:

 如果不確定能不能掛載上,或是不想用這個方式,而且你知道網絡上有一台服務器,里面某個目錄里有這個安裝包,此時只需要連接該服務器切換到這個目錄里,將其下載到本地安裝即可(這個是教程說的,我沒試,但是也是一種解決辦法)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM