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

類UNIX 教程:FreeBSD緊急救援狀況的應變措施

玩 FreeBSD 的各位,有沒有常常『重灌』系統呢? 

如果只是因為某些設定上的疏忽,比如說設錯 root 或是某個 user 的 shell 
路徑,或是安裝某些程式結果開機以後不能使用,或是 make new kernel 以後 
變得無法開機,這些問題難道就都只有『重灌』一途可以解決嗎? 

當然不!請記住你現在不是在用 M$ "飛窗"系統,重灌只是屬於鴕鳥的那種人 
才會使用的解決方法。以下提供一點小 hint 告訴你怎麽在系統出問題的時候, 
做出緊急應變措施,大部分的情形下我假設你已經進入(或是該說,只能進入) 
單機模式(single user mode)。 
========================================================================== 
Q0: Ok, 什麽是單機模式?(Single user mode) 我該怎麽進入單機模式? 
Hint: 
1.請記住 UNIX 系統(當然包含 FreeBSD)先天的設計上是多使用工作環境, 
別人可以藉由 telnet 或是 rsh 或其他的遠端簽入程式連線過來使用你的 
機器,單機模式簡單的說,系統處於最原始的狀態,所有有關網路方面的 
service 都還沒有跑起來,file system 也還沒有 mount, 只有最原始的 
系統組態被讀入,然後由 kernel 開機進入 command line 這樣而已。這 
種類似渾沌初開的原始狀態,就是單機模式。 
2.進入單機模式,在 FreeBSD 的方法就是當你開機看到 boot: 提示號 
時,馬上打 boot -s 就可以了。如果你有裝 boot loader, 在 loader 
裡面打 boot -s 也是一樣的效果。 

Q1: root(or other user)shell 設錯,怎麽辦? 
(類似這樣的問題還有,密碼忘記了等等) 
Hint: 
1.開機進入單機模式。 
2.用 vipw 改密碼或 shell 路徑吧! 
3.或系統提示號 # 出現以後馬上用 passwd 命令更改密碼,這次請把密碼抄 
在女朋友的背上,刻在自己的額頭上,或是用任何不會再忘記或找不到的 
方法強迫自己記憶。 

Q2: 開機到一半結果好像硬碟有問題,沒有辦法 mount 某個 partition 結果 
就整個停住了,怎麽辦? 
(類似這樣的問題還有,把硬碟從 master 換到 slave, 或是相反的動作,或是 
/etc/fstab 檔裡面寫錯一個 slice name 等等) 
Hint: 
1.開機進入單機模式。 
2.在系統提示號 # 出現後,打 /sbin/mount / 先把 root partition mount 
起來。 
3.然後改 /etc/fstab. 
4.如果不確定有這個 device name, 或許你該去 /dev 下利用 MAKEDEV 這個 
指令做出 dev 再說。比如說你把原本放在 primary master 的硬碟搬到 
slave 去,device name 應該從 wd0->wd1, 但是你看 /dev 下沒有任何叫 
rwd1 的 device name, 你就應該這樣做: 

# cd /dev 
# ./MAKEDEV wd1 

Q3: 單機模式下,鍵盤按鍵變得好奇怪,還有方向鍵(上下)不能拿來 repeat 以 
前的命令,怎麽辦? 
Hint: 
1.在系統提示號 # 後面打 set -E 
2.可以更換 shell, 因為單機模式是使用 /bin/sh 這個 shell, 你還是可以 
使用自己習慣的 shell. 直接找到 shell 所在的目錄,一般來說常用的就 
是 /bin/csh, /usr/local/bin/tcsh; /usr/local/bin/bash 等這幾種。 

Q4: 單機模式下,我要使用 /stand/sysinstall 或是 ee 等程式的時候,系統告 
告訴我 Unknown terminal type, 怎麽辦? 
(同樣的問題還有,vi 不能使用,說 terminal 不對等等...) 
Hint: 
1.set TERM=cons25 
2.done. 

Q5. 我的硬碟裡面好像有壞軌,結果不能正常開機進入單機模式了,怎麽辦? 
Hint: 
1.進入單機模式以後, 
2.用 fsck -y 命令先檢查看看,來源:考試網IT學院如果有壞軌就用 bad144 或其他 repair 
程式去掃描修復。 

Q6. 我的 kernel 不能開機了,怎麽辦? 
Hint: 
1.在 boot: 提示號出現的時候,直接打 kernel.GENERIC 或是 kernel.old 
用舊的 kernel 來開機。再怎麽樣,kernel.GENERIC 都一定要可以用。 
2.有裝 boot loader 的人,可以在 loader 裡面先下 load kernel.GENERIC 
的命令讀取這個 kernel, 然後用 boot 命令啟動系統。

Copyright © Linux教程網 All Rights Reserved