SCO Unix常見(jiàn)系統(tǒng)故障和解決辦法
SCO Unix常見(jiàn)系統(tǒng)故障和解決辦法
邵憲昌 鄭立 ---- 我們作為金融系統(tǒng)的計(jì)算機(jī)系統(tǒng)管理員,從1994年開(kāi)始使用SCO公司的多用戶系列操作系統(tǒng)產(chǎn)品,先后使用了Xenix、SCO Unix Svr4的普通版和網(wǎng)絡(luò)版,一直到SCO OperServer 5.0.5。原因是這些操作系統(tǒng)產(chǎn)品有多用戶和多任務(wù)的功能,安全保密性比較好,容易掛接圖形和字符終端設(shè)備,網(wǎng)絡(luò)連接簡(jiǎn)單,業(yè)務(wù)使用成本較低。但正是由于這些特點(diǎn),不可避免地帶來(lái)了當(dāng)計(jì)算機(jī)出現(xiàn)異常關(guān)閉及誤刪系統(tǒng)文件等問(wèn)題時(shí),不能像Windows系列產(chǎn)品那樣,有中文提示和幫助,需要系統(tǒng)維護(hù)人員讀懂系統(tǒng)出現(xiàn)的各種英文提示,手工敲入一條條Unix命令,從而排除各種故障。因此,給系統(tǒng)維護(hù)帶來(lái)了困難,也給系統(tǒng)維護(hù)人員提出了比較高的技術(shù)要求。
---- 在實(shí)際工作中,我們發(fā)現(xiàn)造成Unix系統(tǒng)故障的原因主要有兩個(gè): 首先是計(jì)算機(jī)異常關(guān)閉。在重新啟動(dòng)時(shí),盡管計(jì)算機(jī)會(huì)自動(dòng)檢查文件系統(tǒng),但對(duì)于那些無(wú)法自動(dòng)修復(fù)的錯(cuò)誤提示,一線操作人員讀不懂,也不再處理,這樣日積月累造成系統(tǒng)崩潰; 其次是上級(jí)有技術(shù)維護(hù)人員在處理計(jì)算機(jī)故障時(shí)照本宣科,不但原問(wèn)題沒(méi)有解決,又給系統(tǒng)造成了新的傷害。
---- Unix系統(tǒng)的故障現(xiàn)象集中表現(xiàn)為系統(tǒng)不能引導(dǎo)、不能進(jìn)入多用戶工作方式、login狀態(tài)下所有用戶都不能登錄和系統(tǒng)不能正常關(guān)閉,以及個(gè)別接終端的串口不能使用等等。解決這些問(wèn)題所使用的工具主要是安裝系統(tǒng)時(shí)創(chuàng)建的應(yīng)急系統(tǒng)啟動(dòng)盤。下面,就幾個(gè)典型常見(jiàn)的故障提供解決辦法。
一、根目錄損壞
---- 此時(shí)在計(jì)算機(jī)啟動(dòng)后出現(xiàn)如下提示:
---- boot not found ---- cannot open ---- stage 1 boot failure:error loading hd(40) /boot
---- 原因是系統(tǒng)的根目錄/boot文件損壞或丟失,造成系統(tǒng)不能啟動(dòng)。修復(fù)辦法:
用應(yīng)急盤的boot盤引導(dǎo)系統(tǒng),在boot:提示下輸入: fd(60) unix.Z root=hd(42) 其中fd(60) unix.Z 表示使用軟盤的unix核心引導(dǎo),root=hd(42) 表示系統(tǒng)啟動(dòng)的文件系統(tǒng)為硬盤上的文件系統(tǒng)。
在系統(tǒng)啟動(dòng)時(shí)輸入超級(jí)用戶口令,進(jìn)入單用戶模式,卸載/stand文件系統(tǒng),輸入命令如下: #umount /stand
重新加載stand文件系統(tǒng),輸入命令如下: #mount /stand 執(zhí)行第2和第3步的目的是改變/stand的只讀屬性,在默認(rèn)情況下,/stand是只讀方式的。
構(gòu)造引導(dǎo)盤文件系統(tǒng),輸入命令如下: #mount –r /dev/rfd0135ds18 /mnt 其中-r 參數(shù)表示使用只讀方式,/dev/rfd0135ds18是軟盤對(duì)應(yīng)的系統(tǒng)設(shè)備文件,mnt是將軟盤形成空文件目錄,構(gòu)造成功后,mnt目錄下的內(nèi)容就是軟盤的內(nèi)容。
將引導(dǎo)盤的boot文件拷入硬盤,輸入命令如下: #cp /mnt/boot /stand
卸載軟盤文件系統(tǒng),重新啟動(dòng)計(jì)算機(jī),輸入命令如下: #umount /mnt #reboot ---- 其中第一條命令卸載軟盤所構(gòu)造的目錄,第二條命令重新啟動(dòng)計(jì)算機(jī)。
二、Unix文件損壞
---- 如果發(fā)生這種情況,在啟動(dòng)計(jì)算機(jī)時(shí)出現(xiàn)以下提示: ---- unix not found
---- 然后系統(tǒng)掛起,原因是系統(tǒng)的/unix文件損壞或丟失。解決辦法有2個(gè): 一是使用系統(tǒng)在原來(lái)重新連接內(nèi)核時(shí)自動(dòng)備份的舊內(nèi)核啟動(dòng):在boot:下輸入unix.old啟動(dòng)即可;二是用應(yīng)急啟動(dòng)盤修復(fù),具體操作步驟如下。
在boot下輸入以下命令: fd(60) unix.Z root=hd(42) swap=hd(41) 其中fd(60) unix.Z 表示使用軟盤的unix核心引導(dǎo),root=hd(42) 表示系統(tǒng)啟動(dòng)的文件系統(tǒng)為硬盤上的文件系統(tǒng),swap=hd(41)表示使用硬盤的交換區(qū)。
和處理第一種故障類似,系統(tǒng)啟動(dòng)到單用戶方式下,卸載/stand文件系統(tǒng)再加載,將軟盤的unix.Z拷入硬盤。輸入命令如下: #umount /stand #mount /stand #mount –r /dev/rfd0135ds18 /mnt #cp /mnt/unix.Z /stand #reboot 三、系統(tǒng)啟動(dòng)后不能進(jìn)入多用戶工作方式
---- 造成這種情況的原因一般有2種可能:首先是/etc/inittab文件丟失或損壞;其次是/etc/passwd文件丟失或損壞。
---- 如果在系統(tǒng)在引導(dǎo)時(shí)出現(xiàn)如下提示: ---- init:cannot open /etc/inittab errno:2
---- 此時(shí)按< ctrl >+d進(jìn)入多用戶失敗,則表明是/etc/inittab文件丟失或損壞,而此文件包括init命令,控制計(jì)算機(jī)所進(jìn)入的init級(jí)別,其中init 0就是關(guān)閉計(jì)算機(jī),init 1為進(jìn)入單用戶工作方式,init 2是系統(tǒng)啟動(dòng)時(shí)默認(rèn)的多用戶運(yùn)行級(jí)別。解決辦法是修復(fù)inittab文件,重新建立unix內(nèi)核。具體的解決辦法有以下2個(gè)。
重新建立inittab的文件連接,輸入以下命令即可: #ln s /var/opt/K/SCO/unix/5.0.5a/etc/inittab/etc.inittab 其中-s參數(shù)表示將源文件不改名的情況下,從源目錄(這里是/var/opt/K/SCO/unix/5.0.5a/etc/inittab)連接到目的目錄(這里是/etc/inittab)。
重構(gòu)inittab文件 #touch /etc/.new-unix (將new-unix的時(shí)間標(biāo)簽改為最新) #cd /etc/conf/bin #./idmkenv (“./”表示執(zhí)行) 在系統(tǒng)提示下輸入“y”,然后輸入: #cat /etc/inittab 說(shuō)明,cat本來(lái)是查看文件內(nèi)容的命令,這里表示將idmkenv的執(zhí)行結(jié)果輸出到/etc/inittab文件中 完成上述工作后,輸入: #init 2 就可以進(jìn)入多用戶操作系統(tǒng)了。 如果在系統(tǒng)引導(dǎo)時(shí)提示 su:unknown id:root init:single user mode passWord file missing entering system maintenance mode 然后系統(tǒng)只能進(jìn)入單用戶維護(hù)模式,則表明是/etc/passwd文件丟失或損壞。如果使用l 命令顯示文件的長(zhǎng)列表,系統(tǒng)會(huì)出現(xiàn)如下顯示: /etc/passwd cannot be opened for reading 解決辦法是將應(yīng)急盤的root盤(第二張應(yīng)急盤)中的passwd文件拷入硬盤,修改passwd文件的屬主和屬組。輸入命令如下: #mount r/dev/rfd0135ds18/mnt (以只讀方式構(gòu)造軟盤文件系統(tǒng)) #cp /mnt/etc/passwd /etc/passwd (將軟盤的passwd文件拷入硬盤) #chown bin:auth passwd (卸載軟盤文件系統(tǒng)) #reboot (重新啟動(dòng)) 四、系統(tǒng)不能正常關(guān)閉
---- 計(jì)算機(jī)運(yùn)行正常,但系統(tǒng)關(guān)閉輸入以下命令 ---- shutdown g0 i0 ---- y后,計(jì)算機(jī)提示如下: ---- /etc/initscript:/etc/uadmin:not found
---- 然后系統(tǒng)掛起。造成每次關(guān)閉計(jì)算機(jī)都是非正常關(guān)機(jī),開(kāi)機(jī)就需要檢查文件系統(tǒng)。原因是/etc/uadmin文件丟失或損壞。解決辦法是將應(yīng)急啟動(dòng)root盤的uadmin文件拷入硬盤,命令格式為: ---- #mount /dev/rfd0135ds18/mnt ---- (以只讀方式構(gòu)造軟盤文件系統(tǒng)) ---- #cp /mnt/etc/uadmin /etc/uadmin ---- (將軟盤的uadmin文件拷入硬盤) ---- #chown bin:bin /etc/uadmin ---- (改變uadmin文件的屬主為bin用戶,屬組為bin組) ---- #umount /mnt ---- (卸載軟盤文件系統(tǒng)) ---- #reboot
五、個(gè)別串口所連終端上所有用戶都不能注冊(cè)
---- 其現(xiàn)象為終端、連接線都正常,終端上也顯示login提示符,但是在用戶名后系統(tǒng)提示如下: ---- terminal 串口名is disabled ---see account administrator ---- (其中串口名可以是tty21a等)
---- 然后又退出到login提示符下,普通用戶都不能登錄系統(tǒng)。造成這種故障的原因是,首次安裝系統(tǒng)時(shí),系統(tǒng)默認(rèn)用戶最多不成功的登錄次數(shù)為99次,如果超過(guò)這一數(shù)目,系統(tǒng)將自動(dòng)將此串口鎖住,因此用戶無(wú)法登錄。解決辦法是超級(jí)用戶登錄后,使用scoadmin管理工具,取消這一限制。首先輸入以下命令: ---- #scoadmin
---- 進(jìn)入系統(tǒng)管理菜單,然后選中system(系統(tǒng)管理)一項(xiàng),在接下來(lái)的菜單中選terminal manager(終端設(shè)備管理),然后選unlock(解鎖),按< f3 >功能鍵就可以找出被系統(tǒng)自動(dòng)加鎖的終端串口,按< enter >確認(rèn)解鎖。如果不需要用戶在某個(gè)終端串口的不正確登錄限制,那么在解所后退出到terminal manager菜單,選中options(參數(shù)選擇)一項(xiàng),其中的maximum unsuccessful attempts before locking terminal(在鎖終端串口前允許的最大不成功登錄嘗試次數(shù))默認(rèn)值為99次,改為infinte(不限制)即可。
---- 另外,在實(shí)際應(yīng)用中可經(jīng)常使用“fsck y”命令檢查文件系統(tǒng)的一致性并自動(dòng)修復(fù)錯(cuò)誤。一旦計(jì)算機(jī)系統(tǒng)出現(xiàn)故障,無(wú)論是一線操作人員還是技術(shù)維護(hù)人員,都要將計(jì)算機(jī)的異常現(xiàn)象、處理措施和步驟記錄在案,為將來(lái)進(jìn)一步更高一級(jí)的技術(shù)處理提供了詳細(xì)的資料,同時(shí)也是工作經(jīng)驗(yàn)的文字積累過(guò)程,為經(jīng)驗(yàn)的交流提供了良好的基礎(chǔ)。

網(wǎng)公網(wǎng)安備