Linux系統(tǒng)命令找不到了,只能重裝系統(tǒng)?
運(yùn)維時(shí)間長(zhǎng)了,總會(huì)遇到各種難搞的問(wèn)題,雖然說(shuō)Linux不像windows server那樣容易出藍(lán)屏,無(wú)法啟動(dòng)之類的系統(tǒng)問(wèn)題,但也不是不會(huì)出現(xiàn)系統(tǒng)層面的故障,比如今天在群里有小伙伴遇到的
環(huán)境變量問(wèn)題,導(dǎo)致大部分命令無(wú)法使用,環(huán)境變量臨時(shí)修改不生效,也沒(méi)辦法,最終打算重做系統(tǒng)
重做系統(tǒng),拋開(kāi)數(shù)據(jù)不說(shuō),系統(tǒng)上所有環(huán)境都要重新搭建,當(dāng)然不是最佳選擇
其實(shí)系統(tǒng)層面的問(wèn)題,不管是windows還是linux,都有一種簡(jiǎn)單的方式,就是鏡像修復(fù),windows和linux都提供一種通過(guò)鏡像修復(fù)系統(tǒng)的功能
我直接拿虛擬機(jī)來(lái)和CentOS7系統(tǒng)來(lái)做個(gè)簡(jiǎn)單演示
工具:Hyper-v/CentOS7鏡像
要演示修復(fù),我先得把系統(tǒng)搞掛,所以先做個(gè)快照
做完快照,做個(gè)很多人都做過(guò)的操作,rm -rf,把/bin目錄下的命令都刪掉
有人說(shuō)bin目錄刪掉之后,ls命令還可以使用
whereis查一下,你就會(huì)發(fā)現(xiàn),/usr/bin目錄下也存在ls命令,在CentOS6之前,/usr/bin和/bin是分開(kāi)的,/bin下是系統(tǒng)級(jí)命令,/usr/bin下是用戶級(jí)別以及應(yīng)用安裝后可執(zhí)行命令,到CentOS7之后,/bin目錄成了/usr/bin目錄的軟鏈,兩個(gè)合并了,所以上面刪除了的是軟鏈,接著,重新刪一下/usr/bin下命令都干掉
ok,完美的玩了一把rm -rf ,命令全都執(zhí)行不了了,開(kāi)始修復(fù)
這里用的是hyper-v虛擬機(jī),所以把鏡像掛載到cd/dvd之后,重啟
掛上去,可以在設(shè)置里面看下
之后重啟服務(wù)器,進(jìn)修復(fù)模式
進(jìn)來(lái)之后,有幾個(gè)選項(xiàng)
- Install CentOS Linux 7 in basic graphics mode
這個(gè)選項(xiàng)可讓您在安裝程序無(wú)法為您的顯卡載入正確的驅(qū)動(dòng)程序的情況下使用圖形模式安裝
- Rescue a CentOS Linux system
當(dāng)安裝完成的CentOS無(wú)法開(kāi)機(jī)時(shí),選擇此項(xiàng)目進(jìn)行修復(fù)
- Run a memory test
運(yùn)行內(nèi)存測(cè)試
- Boot from local drive
從本地磁盤(pán)引導(dǎo)
我們這肯定是修復(fù)系統(tǒng),所以選擇Rescue進(jìn)入
這里解釋很清楚,修復(fù)就是通過(guò)把原來(lái)的系統(tǒng)掛載在/mnt/sysimage下面,然后你可以做任何操作,我們直接選1,就是繼續(xù)這個(gè)操作,2是以只讀的方式,因?yàn)槲疫@里是命令刪掉了,我要拷貝文件,所以肯定不能選只讀,其他兩個(gè)選型就不多說(shuō)了
現(xiàn)在就進(jìn)入救援模式了,我們看下原來(lái)的系統(tǒng),也就是/mnt/sysimage下面,是不是我原來(lái)的系統(tǒng)
可以看到,正是我自己的系統(tǒng)文件,bin目錄也確實(shí)沒(méi)有,我們現(xiàn)在做修復(fù),把現(xiàn)在的/usr/bin下的文件拷貝過(guò)去,并重新創(chuàng)建/bin軟鏈
拷貝完之后,關(guān)機(jī),把光盤(pán)彈出,重新啟動(dòng)進(jìn)入系統(tǒng),重啟之后會(huì)做一次文件系統(tǒng)的恢復(fù),需要比較長(zhǎng)的時(shí)間,耐心等著就好
重啟之后,即可登錄系統(tǒng),正常使用命令,不過(guò)如果之前有安裝應(yīng)用的話,因?yàn)檫@里只是從鏡像中復(fù)制了系統(tǒng)基礎(chǔ)命令,安裝后的應(yīng)用命令沒(méi)辦法恢復(fù)了
僅作為一個(gè)思路,如果有系統(tǒng)類問(wèn)題,可以通過(guò)這樣的方式進(jìn)行修復(fù)
本文轉(zhuǎn)載自微信公眾號(hào)「運(yùn)維研習(xí)社」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系運(yùn)維研習(xí)社公眾號(hào)。




































