Provided by: manpages-zh_1.6.4.0-1_all
NAME
fsck - 檢查並修復Linux檔案系統
總覽 SYNOPSIS
fsck [ -sACVRTNP ] [ -t fstype ] [filesys ... ] [--] [ fs-specific-options ]
描述 DESCRIPTION
fsck 通常用來檢查並適當修復一個或多個Linux檔案系統. filesys 可以是一個裝置名(例如: /dev/hdc1, /dev/sdb2), 一個掛載點(例如: /, /usr, /home), 或一個ext2檔案系統的磁碟標籤, 也 可以是UUID指定符(例如: UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd 或 LABEL=root). 通常, fsck 會試著以並行的方式同時在不同的物理磁碟上執行檔案系統檢查,這樣可以減少對所有檔案系統 進行檢查的時間。 如果沒有在命令列指定檔案系統,並且沒有指定 -A 選項, fsck 將預設順序地檢查 /etc/fstab 中登 記的檔案系統。這和使用 -As 選項是相同的。 fsck 退出的返回值是下列情況之和: 0 - 沒有錯誤 1 - 檔案系統有錯但已修復 2 - 系統應當重啟 4 - 檔案系統錯誤沒有修復 8 - 執行錯誤 16 - 用法或語法錯誤 32 - 使用者撤銷了fsck 操作 128 - 共享庫出錯 當檢測多個檔案系統時,退出的返回值是對每個檔案系統檢查的返回值按位或的結果。 實際上, fsck 只是Linux 中不同的檔案系統檢查器(fsck.fstype)的一個前端。首先,它在 /sbin 中 搜索特定檔案系統的檢查器,然後在 /etc/fs 和 /etc 中搜索,最後在 PATH 環境變數中列出的路徑 中搜索。請檢視特定檔案系統的檢查器的手冊頁來獲取細節資訊。
選項 OPTIONS
-s 順序地進行 fsck 操作。如果你要檢查多個檔案系統,並且檢查器執行在互動模式,這樣作比 較有好處。(注意: e2fsck(8) 預設是以互動方式執行的。要使 e2fsck(8) 以非互動方式執 行,你必須指定 -p 和 -a 選項,如果你想要自動糾正錯誤,或 -n 選項,如果不想自動糾正 錯誤。) -t fslist 指定要檢查的檔案系統的型別。當指定了 -A 標誌時,只有 fslist 中列出的型別的檔案系統 會被檢查。 fslist 引數是一個以逗號分隔的檔案系統型別列表以及選項說明符。可以在這個 以逗號分隔的列表的所有檔案系統前面加上否定字首 'no' 或 '!' 來使得只有沒有列在 fslist 中的檔案系統將被檢查。如果並非 fslist 中列出的所有檔案系統都加上了否定字 首,那麼只有 fslist 中列出的檔案系統將被檢查。 選項說明符也可能包含在這個以逗號分隔的列表 fslist 中。它們的格式是 opts=fs-option 。如果出現了選項說明符,那麼只有在 /etc/fstab 中它們的掛載選項欄位中不包含 fs- option 的檔案系統將被檢查。 如果選項說明符有否定字首,那麼只有在 /etc/fstab 中它們 的掛載選項欄位中包含 fs-option 的檔案系統將被檢查。 例如,如果 fslist 中出現了 opts=ro 那麼只有 /etc/fstab 中,掛載選項包含 ro 的檔案系 統將被檢查。 為了和Mandrake 發行版相容(它的啟動指令碼依賴於一個未經許可而對 fsck 程式使用者介面 作出的改變),如果 fslist 中有一個 loop 檔案系統,它被視為指定了 opts=loop 作為 -t 選項的引數。 一般地,檔案系統型別是在 /etc/fstab 中透過搜尋與 filesys 相應的條目得到的。如果不能 這樣推知型別,並且 -t 選項只有一個檔案系統引數, fsck 將使用指定的檔案系統型別。如 果不能使用這種型別,將使用預設的檔案系統型別(當前是ext2)。 -A 搜尋 /etc/fstab 檔案,一次檢查所有在檔案中有定義的檔案系統。這個選項典型地用在 /etc/rc 系統初始化檔案中,而不使用多條命令來分別檢查各獨立的分割槽。 如果沒有使用 -P 選項,則根檔案系統將第一個被檢查。之後,將按 /etc/fstab 檔案中第六 欄位 fs_passno 指定的順序對各檔案系統進行檢查。 fs_passno 值為0 的檔案系統將被跳 過,不會被檢查。 fs_passno 值大於0 的檔案系統將被按順序檢查, fs_passno 值最小的檔 案系統將被最先檢查。 如果多個檔案系統有相同的pass號,fsck將試著並行處理這些檔案系 統,儘管它不允許在同一個物理磁碟上同時執行多個檔案系統檢查程式。 因此, /etc/fstab 檔案中的一個很普遍的設定是將root檔案系統的 fs_passno 設為1,定義 其它檔案系統的 fs_passno 為2。這樣就充許 fsck 程式自動以並行的方式執行檔案系統檢 查, 如果這樣有好處的話。系統管理員可能會出於某些原因而不希望並行執行多個檔案系統檢 查--例如,如果記憶體不夠,那麼過多的換頁會成為系統瓶頸。 -C 如果檔案系統檢查器支援的話(當前只有ext2),顯示進度條。fsck 將管理各檔案系統檢查 器,使得同一時間它們中只能有一個可以顯示進度條。 -N 不執行,僅僅顯示將執行的操作。 -P 當設定了 -A 標誌時,將並行檢查root檔案系統和其他檔案系統。這樣是世界上最不安全的做 法,因為如果root檔案系統有問題, e2fsck(8) 這樣的程式可執行檔案將被破壞!這個選項是 為不想把root 檔案系統分得小而緊湊(這才是正確的做法)的系統管理員準備的。 -R 當使用 -A 標誌來檢查所有檔案系統時,跳過root檔案系統 (它可能已經被掛載為可讀寫)。 -T 啟動時不顯示標題。 -V 產生冗餘輸出,包含所有被執行的特定檔案系統的命令。 fs-specific-options fsck 不理解的選項被傳遞給特定檔案系統的檢查器。這些選項 決不能 有引數,因為 fsck 不 能判斷出哪個選項有引數,那些沒有。 以 -- 引導的選項和引數將被當作特定檔案系統的選項傳給它的檢查器。 注意 fsck 沒有為傳遞任意複雜的選項給特定檔案系統的檢查器而專門設計。如果你要做複雜 的操作,請直接執行特定檔案系統的檢查器。如果你傳給 fsck 極其複雜的選項和引數,它沒 有按照你想要的那樣工作, 不要把它報告為一個bug! You're almost certainly doing something that you shouldn't be doing with fsck. 當前,標準的特定檔案系統的選項仍在改進之中。儘管不能保證,還是有下列這些選項可以被大部分檔 案系統檢查器所支援。 -a 不提問,自動修復檔案系統(請小心使用此選項)。注意 e2fsck(8) 支援 -a 僅僅是為了向前相 容。這個選項被對映到 e2fsck 的 -p 選項,那比較安全一點,不像大多數檔案系統檢查器支 援的 -a 那樣。 -r 互動式地修復檔案系統錯誤(詢問確認)。注意: 如果多個 fsck 在並行執行,這不是一個好想 法。還要注意 e2fsck 的預設行為;它也只為了向前相容才保留這個選項。
作者 AUTHOR
Theodore Ts'o (tytso@mit.edu)
檔案 FILES
/etc/fstab
環境變數 ENVIRONMENT VARIABLES
fsck 程式的行為受下列環境變數影響: FSCK_FORCE_ALL_PARALLEL 如果設定了這個環境變數, fsck 將試著並行執行所有指定的檔案系統檢查,不管這些檔案系 統是不是在同一裝置上。(這對於RAID系統或者高階儲存系統比如IBM或者EMC出售的那種很有 用) FSCK_MAX_INST 這個環境變數將限制同時可以執行的檔案系統檢查器的最大數量。這樣使得擁有大量磁碟的系 統避免 fsck 一次啟動過多檔案系統檢查器,那樣有可能耗盡機器的CPU和記憶體資源。如果值 為0,可以孵化出沒有限制的數量的程序,這是當前的預設值。將來版本的 fsck 將試著根據收 集作業系統的統計資料,自動判斷應當啟動多少檔案系統檢查。 PATH PATH 環境變數用來查詢檔案系統檢查器。一些系統目錄會被最先搜尋: /sbin, /sbin/fs.d, /sbin/fs, /etc/fs, 和 /etc. 然後才搜尋 PATH 環境變數中設定的目錄集合。 FSTAB_FILE 這個環境變數允許系統管理員指定 /etc/fstab 檔案的位置。它也為 fsck 的開發者做測試之 用。
參見 SEE ALSO
fstab(5), mkfs(8), fsck.minix(8), fsck.ext2(8) 或者 e2fsck(8), fsck.xiafs(8).
[中文版維護人]
袁乙鈞 <bbbush@163.com>
[中文版最新更新]
2003.11.01
《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net
跋
本頁面中文版由中文 man 手冊頁計劃提供。 中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh