我們作為金融系統的計算機系統管理員,從1994年開始就看好了SCO公司的多用戶系列操作系統產品,先後使用了XENIX、SCO UNIX SVR4的普通版和網絡版、SCO OPENSERVER 5.0.5,原因是這些操作系統產品有多用戶、多任務的功能,安全保密性比較好,容易掛接圖形、字符終端設備,網絡連接簡單,業務使用成本低。但正是由於這些,不可避免地帶來了計算機異常關閉、誤刪系統文件等問題,不象windows系列產品那樣有中文提示、幫助,需要系統維護人員讀懂系統出現的各種英文提示,手工敲入一條條unix命令來排除各種故障,給系統維護帶來了困難,也給系統維護人員提出了比較高的技術要求。
在實際工作中,我們發現造成UNIX系統故障的原因主要有兩個:一是計算機異常關閉,重新啟動時盡管計算機會自動檢查文件系統,但那些關於不能自動修復的錯誤提示,一線操作人員讀不懂,也不再處理,日積月累造成系統崩潰。二是支行的技術維護人員在處理計算機故障時照本宣科,不但原問題沒有解決,又給系統造成了新的傷害。其故障現象集中表現為系統不能引導、不能進入多用戶工作方式、login狀態下所有用戶都不能登錄、系統不能正常關閉、個別接終端的串口不能使用等等。解決這些問題所使用的工具主要是安裝好系統時創建的應急系統啟動盤,關於應急盤的做法,有很多文章都有介紹,可以參見《中國金融電腦》2001年第10期《unix系統超級用戶密碼丟失的處理辦法》中的有關介紹。下面就幾個典型常見的故障提示逐一說明解決辦法。
一、計算機啟動時提示:
boot not found
cannot open
stage 1 boot failure:error loading hd(40) /boot
原因是系統的/boot文件損壞或丟失,造成系統不能啟動。修復辦法:
1、用應急盤的boot盤引導系統,在Boot:提示下輸入:
fd(60) unix.Z root=hd(42)
2、在系統啟動時輸入超級用戶口令,進入單用戶模式,卸載/stand文件系統,命令格式:
#umount /stand
3、重新加載stand文件系統
#mount /stand
執行第2、3步的目的是改變/stand的只讀屬性,在缺省情況下,/stand是只讀方式的。
4、架設引導盤文件系統,命令格式:
#mount -r /dev/rfd0135ds18 /mnt
5、將引導盤的boot文件拷入硬盤
#cp /mnt/boot /stand
6、卸載軟盤文件系統,重新啟動計算機,命令格式:
#umount /mnt
#reboot
二、計算機啟動時提示:
unix not found
然後系統掛起,原因是系統的/unix文件損壞或丟失。解決辦法有兩個:一是使用系統在原來重新連接內核時自動備份的舊內核啟動:在Boot:下輸入unix.old啟動即可。二是用應急啟動盤修復,具體操作步驟為:
1、Boot下輸入:fd(60) unix.Z root=hd(42) swap=hd(41)
2、和處理第一種故障類似,系統啟動到單用戶方式下,卸載/stand文件系統再加載,將軟盤的unix.Z拷入硬盤。命令格式:
#umount /stand
#mount /stand
#mount -r /dev/rfd0135ds18 /mnt
#cp /mnt/unix.Z /stand
#reboot
三、系統啟動後不能進入多用戶工作方式
造成這種情況的原因一般有兩種可能:
1、/etc/inittab文件丟失或損壞
2、/etc/passwd文件丟失或損壞
如果在系統在引導時提示:
init:cannot open /etc/inittab errno:2
然後按+d進入多用戶失敗。則表明是/etc/inittab文件丟失或損壞,而此文件包括init命令,控制計算機所進入的init級別,其中init 0就是關閉計算機,init 1為進入單用戶工作方式,init 2是系統啟動時默認的多用戶運行級別。解決辦法是修復inittab文件,重新建立unix內核。解決辦法有兩個:
1、重新建立inittab的文件聯結,命令格式:
#ln -s /var/opt/K/SCO/unix/5.0.5a/etc/inittab /etc.inittab
2、重構inittab文件
#toUCh /etc/.new-unix
#cd /etc/conf/bin
#./idmkenv
在系統提示下輸入"y",然後輸入:
#cat /etc/inittab
完成上述工作後,輸入:
#init 2
就可以進入多用戶操作系統了。
如果在系統引導時提示
su:unknown id:root
init:single user mode
passWord file missing
entering system maintenance mode
然後系統只能進入單用戶維護模式,則表明是/etc/passwd文件丟失或損壞。如果使用l 命令顯示文件的長列表,系統會首先顯示:/etc/passwd cannot be opened for reading。解決辦法是將應急盤的root盤(第二張應急盤)中的passwd文件拷入硬盤,修改passwd文件的屬主和屬組。命令格式為:
#mount -r /dev/rfd0135ds18 /mnt
#cp /mnt/etc/passwd /etc/passwd
#chown bin:auth passwd
#reboot
四、系統不能正常關閉
計算機運行正常,但系統關閉輸入shutdown -g0 -i0 -y命令後,計算機提示/etc/initscript:/etc/uadmin:not found,然後系統掛起。造成每次關閉計算機都是非正常關機,開機就需要檢查文件系統。原因是/etc/uadmin文件丟失或損壞。解決辦法是將應急啟動root盤的uadmin文件拷入硬盤,命令格式為:
系統以單用戶方式啟動,檢查完文件系統後:
#mount /dev/rfd0135ds18 /mnt
#cp /mnt/etc/uadmin /etc/uadmin
#chown bin:bin /etc/uadmin
#umount /mnt
#reboot
五、個別串口所聯結的終端上所有用戶都不能注冊
其現象為終端、連接線都正常,終端上也顯示login提示符,但是在用戶名後系統提示terminal 串口名(比如tty21a等) is disabled ---see account administrator,然後又退出到login提示符下,普通用戶都不能登錄系統。原因是初裝系統時系統默認用戶最多不成功登錄次數為99次,如果超過這一次數,系統將自動將此串口鎖住。解決辦法是超級用戶登錄後,使用scoadmin管理工具,操作步驟為:scoadminàsystemàterminal manageràunlock,按功能鍵選出被鎖住的終端口,解鎖。然後退出到terminal manageràoptions,其中的maximum unsuccessful attempts before locking terminal 默認選項為99次,改為infinte(不限制),這樣以後用戶再有超過99次的不正確的登錄也不會鎖死終端串口。
長期的工作實踐發現計算機操作系統中,感覺到sco公司的unix操作系統還是很穩定可靠的。在實際應用中要象windows平台下檢查病毒那樣經常使用fsck -y 命令檢查文件系統的一致性並自動修復錯誤。一旦計算機系統出現故障,無論是一線操作人員還是技術維護人員,都要將計算機的異常現象、處理措施和步驟記錄在案,為將來進一步更高一級的技術處理提供了詳細的資料,同時也是工作經驗的文字積累過程,為經驗的交流提供了良好的基礎。