歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> SCO Unix

SCO Unix常見系統故障和解決辦法


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