在Linux 系統(tǒng)中緊急情況處理六招
1.使用急救盤(pán)組進(jìn)行維護(hù)
急救盤(pán)組(也稱(chēng)為boot/root盤(pán)組),是系統(tǒng)管理員必不可少的工具。用它可以獨(dú)立地啟動(dòng)和運(yùn)行一個(gè)完整的Linux系統(tǒng)。實(shí)際上,急救盤(pán)組中的第2張盤(pán)上就有一個(gè)完整的Linux系統(tǒng),包括root文件系 統(tǒng);而第1張盤(pán)則存放了可啟動(dòng)的內(nèi)核。使用急救盤(pán)組維護(hù)系統(tǒng)很簡(jiǎn)單。只需用這兩張盤(pán)啟動(dòng)系統(tǒng)后,進(jìn)入急救模式,這時(shí)使用的是root賬戶(hù)。為了能訪問(wèn)硬盤(pán)上的文件,需要手工安裝硬盤(pán)文件系統(tǒng)。例如,用下面的命令可在/mnt目錄中安裝/dev/hda2盤(pán)上的ext2fs類(lèi)型的Linux文件系統(tǒng):# monut -t ext2/dev/hda2/mnt
注:現(xiàn)在根目錄是急救盤(pán)上的根目錄。為了訪問(wèn)硬盤(pán)文件系統(tǒng)中的文件,必須先把它安裝到某個(gè)目錄 下。這樣,如果將硬盤(pán)上文件系統(tǒng)安裝在/mmt目錄下,則硬盤(pán)上原來(lái)的/etc/passwd文件的路徑就是 /mnt/etc/passwd。
2、文件系統(tǒng)被破壞時(shí)的處理方法
當(dāng)文件系統(tǒng)被破壞時(shí),如果使用的是ext2fs類(lèi)型的文件系統(tǒng),就可從軟盤(pán)運(yùn)e2fsck命令來(lái)修正文件系 統(tǒng)中被損壞的數(shù)據(jù)。對(duì)于其他類(lèi)型的文件系統(tǒng),可以使用相應(yīng)的fsck命令。 當(dāng)從軟盤(pán)上檢查文件系統(tǒng)時(shí),最好不要mount安裝。
注:文件系統(tǒng)被破壞的常見(jiàn)原因是超級(jí)塊被損壞,超級(jí)塊是文件系統(tǒng)的“頭部”。它包含文件系統(tǒng)的 狀態(tài)、尺寸和空閑磁盤(pán)塊等信息。如果損壞了一個(gè)文件系統(tǒng)的超級(jí)塊(例如不小心直接將數(shù)據(jù)寫(xiě)到了 文件系統(tǒng)的超級(jí)塊分區(qū)中),那么系統(tǒng)可能會(huì)完全不識(shí)別該文件系統(tǒng),這樣也就不能安裝它了,即使 采用e2fsck命令也不能處理這個(gè)問(wèn)題。 不過(guò),ext2fs類(lèi)型的文件系統(tǒng)將超級(jí)塊的內(nèi)容進(jìn)行了備份,并存放于驅(qū)動(dòng)程序的塊組(block group)邊界??梢杂萌缦碌拿钔ㄖ猠2fsck使用超級(jí)塊的備份: # e2fsck -b 8193它是指文件系統(tǒng)所在的分區(qū),-b 8193選項(xiàng)用于顯示使用存放在文件系統(tǒng)中的8193塊的超級(jí)塊的備份數(shù)據(jù)。
3、恢復(fù)丟失的文件
如果不小心刪除了重要的文件,那么沒(méi)有辦法直接恢復(fù)。但是還可以將相應(yīng)的文件從急救盤(pán)復(fù)制到硬盤(pán) 上。例如,如果刪除了文件/bin/login,此時(shí)系統(tǒng)無(wú)法正常進(jìn)到登錄界面,可以用急救盤(pán)組啟動(dòng)系統(tǒng), 將硬盤(pán)文件系統(tǒng)安裝到/mnt目錄下,然后使用下述命令: #cp -a /bin/login /mnt/bin
“-a”選項(xiàng)用于告訴cp在拷貝時(shí)保持文件的訪問(wèn)權(quán)限。 當(dāng)然如果被刪除的基本文件不在“急救盤(pán)組”中, 也就不能用這種方法了。如果以前做過(guò)系統(tǒng)備份的話,那么也可以用以前的備份來(lái)恢復(fù)。
4.函數(shù)庫(kù)破壞時(shí)的處理方法
如果不小心將系統(tǒng)函數(shù)庫(kù)文件破壞了,或者破壞了/lib目錄下符號(hào)鏈接,那么將導(dǎo)致依賴(lài)這些庫(kù)的命令無(wú)法執(zhí)行。最簡(jiǎn)單的解決辦法是用急救盤(pán)組啟動(dòng)系統(tǒng),在/mnt目錄中安裝硬盤(pán)文件系統(tǒng),然后修復(fù)/mnt/lib目錄下的庫(kù)。
5、無(wú)法用root賬號(hào)登錄系統(tǒng)
由于系統(tǒng)管理員的疏忽,或者由于系統(tǒng)受到黑客的入侵,系統(tǒng)管理員可能無(wú)法用root帳號(hào)登錄系統(tǒng)。 對(duì)于第1種情況,可能是系統(tǒng)管理員忘記了root密碼,用急救盤(pán)組就可以解決問(wèn)題。 對(duì)于第2種情況,由于很可能是密碼被黑客修改了,因此系統(tǒng)管理員無(wú)法進(jìn)入系統(tǒng),也就是說(shuō),Linux系統(tǒng)完全失去了控制,因此應(yīng)盡快重新獲得系統(tǒng)的控制權(quán)。在取得 root權(quán)限后,還應(yīng)檢查系統(tǒng)被破壞的情況,以防被黑客再次入侵。 需要做的最主要的工作就是重新設(shè)置root的密碼,獲得Linux操作系統(tǒng)的控制權(quán)。首先用急救盤(pán)組啟動(dòng)系統(tǒng), 然后將硬盤(pán)的文件系統(tǒng)安裝到/mnt目錄下,編輯/mnt/etc/passwd文件,將其對(duì)應(yīng)于root賬戶(hù)的一行加密口 令域置空,如下所示: root::0:0:root:/root:bin/bash
注:如果系統(tǒng)使用 shadow工具,就需要對(duì)文件/etc/shadow進(jìn)行上述的操作,使root登錄系統(tǒng)不需要口令。 這樣,root賬戶(hù)就沒(méi)有口令了。當(dāng)重新從硬盤(pán)啟動(dòng)Linux系統(tǒng)時(shí),就可以用root賬戶(hù)登錄(系統(tǒng)不會(huì)要求輸入密碼)。進(jìn)入系統(tǒng)后,再用命令passwd設(shè)置新的口令。
6、Linux系統(tǒng)不能啟動(dòng)
一般來(lái)說(shuō),如果系統(tǒng)管理員不能正常進(jìn)入系統(tǒng),就需要考慮使用急救盤(pán)組進(jìn)入急救模式排除系統(tǒng)的故障。但在沒(méi)有制作急救盤(pán)組的情況下,Linux系統(tǒng)不能啟動(dòng),該怎么辦?
在個(gè)人計(jì)算機(jī)使用 Linux系統(tǒng)時(shí),通常都是Linux和MS Windows 9x或MS Windows NT并存的。
由于重新安裝其他的操作系統(tǒng),經(jīng)常會(huì)導(dǎo)致原有的Linux不能啟動(dòng)。這主要是因?yàn)?,這些操作系統(tǒng)默認(rèn)為計(jì)算機(jī)中沒(méi)有其他的操作系統(tǒng),因而改寫(xiě)了硬盤(pán)的主引導(dǎo)記錄(MBR),沖掉了Linux的LILO系統(tǒng)引導(dǎo)程序。
如果有急救盤(pán)組,那么很簡(jiǎn)單,用第一張啟動(dòng)盤(pán)啟動(dòng)硬盤(pán)的Linux系統(tǒng),重新運(yùn)行LILO命令,就可以將LILO系統(tǒng)引導(dǎo)程序?qū)懟赜脖P(pán)的主引導(dǎo)記錄。再次開(kāi)機(jī)即可。
如果沒(méi)有系統(tǒng)啟動(dòng)盤(pán),怎樣恢復(fù)硬盤(pán)上的Linux呢?在這種情況下,如果知道Linux在硬盤(pán)上的確切安裝分區(qū),且有l(wèi)oadlin程序,就可以重新返回Linux。loadlin程序是DOS下的程序,運(yùn)行它可以從DOS下直接啟動(dòng)Linux,快速進(jìn)入Linux環(huán)境。在 Red Hat Linux 6.0光盤(pán)的 dosutil/目錄下就有這個(gè)程序。除此之外,還需要一個(gè)Linux啟動(dòng)內(nèi)核的映像文件。在 Red Hat Linux 6.0光盤(pán)的 images/目錄下有這個(gè)文件——vmlinuz。
例如,在Windows 98系統(tǒng)下面,進(jìn)入DOS的單用戶(hù)模式,然后運(yùn)行下述的loadlin命令,即可重新進(jìn)入Linux系統(tǒng):loadlin vmlinuz root=/dev/hda8/dev/hda8是Linux的root文件系統(tǒng)所在的硬盤(pán)分區(qū)位置。命令執(zhí)行后,就引導(dǎo)Linux系統(tǒng)。用root登錄后,運(yùn)行LILO命令,則重新將LILO裝入MBR,回到以前多操作系統(tǒng)并存使用的狀態(tài)。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論