Catch up with fsck.8 rev 1.31

Submitted by:	Yoshiteru Kageyama <yt-kage@cb3.so-net.ne.jp>
This commit is contained in:
Kazuo Horikawa 2002-12-29 20:58:33 +00:00
parent e08cad3e13
commit 41526dea4d
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=15454

View file

@ -1,6 +1,7 @@
.\" $NetBSD: fsck.8,v 1.19 1999/03/10 00:08:33 erh Exp $
.\" %FreeBSD: src/sbin/fsck/fsck.8,v 1.31 2002/12/12 17:25:55 ru Exp %
.\"
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" Copyright (c) 1996 Christos Zoulas. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@ -11,317 +12,194 @@
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgment:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\" must display the following acknowledgement:
.\" This product includes software developed by Christos Zoulas.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" @(#)fsck.8 8.4 (Berkeley) 5/9/95
.\" %FreeBSD: src/sbin/fsck/fsck.8,v 1.14.2.3 2001/01/23 23:11:07 iedowse Exp %
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/fsck.8,v 1.11 2001/05/14 01:09:48 horikawa Exp $
.\"
.Dd November 15, 1996
.\" $FreeBSD$
.Dd April 25, 2001
.Dt FSCK 8
.Os BSD 4
.Os
.Sh 名称
.Nm fsck
.Nd ファイルシステムの整合性チェックと対話的修正
.Sh 書式
.Nm
.Fl p
.Op Fl f
.Op Fl m Ar mode
.Op Ar filesystem
.Ar ...
.Nm
.Op Fl ny
.Op Fl b Ar block#
.Op Fl c Ar level
.Op Fl dvplfyn
.Op Fl B | F
.Op Fl l Ar maxparallel
.Op Fl m Ar mode
.Op Ar filesystem
.Ar ...
.Op Fl t Ar fstype
.Op Fl T Ar fstype : Ns Ar fsoptions
.Op Ar special | node ...
.Sh 解説
.Nm
の最初の書式は、標準のファイルシステムのセットや指定された
ファイルシステムの状態を整えるのに使われます。
ユーティリティは、ファイルシステムに特化したプログラムを起動し、
.Xr fstab 5
ファイルにリストされているもの、もしくは
コマンドラインで与えたスペシャルデバイスの整合性をチェックします。
.Pp
通常は、自動リブートの間に
.Pa /etc/rc
スクリプトの中で使用されます。
この時
従来からのやり方では、ファイルシステムがマウントされる前に
.Nm
が起動され、マウントされるときにはチェックはすべて
完了しています。
バックグラウンドでのチェックが利用できる場合には、
.Nm
は 2 回起動されます。
まず最初に、従来からのやり方と同じとき、つまり
ファイルシステムがマウントされる前にバックグラウンドでの
チェックができないファイルシステムをすべてチェックするため、
.Fl F
フラグをつけて起動されます。
その後、システムがマルチユーザモードに移行完了した後で
2 度目の起動がなされ、このときには
.Fl B
フラグをつけ、バックグラウンドでのチェックができる
ファイルシステムをすべてチェックするようにします。
フォアグラウンドでのチェックとは違い、
バックグラウンドでのチェックは非同期に開始されるため、
ファイルシステムがチェック中になっているときであっても
システムの他の仕事は進行できます。
.Pp
ファイルシステムが指定されていない場合、
.Nm
はテーブル
.Pa /etc/fstab
を読んで、チェックするファイルシステムを決定します。
fstab 内の ``rw,'' ``rq,'' ``ro'' のいずれかのオプションで
マウントされる、 0 以外のパス番号をもつパーティションのみが
チェックの対象です。
.Pa /etc/fstab
内の
.Dq rw ,
.Dq rq ,
.Dq ro
のいずれかのオプションでマウントされる、0 以外のパス番号を
もつパーティションのみがチェックの対象です。
パス番号 1 を持つファイルシステム
(通常はルートファイルシステムだけです) は、
一つずつ順番にチェックされます。
パス 1 が完了すると、残りのすべてのファイルシステムは、
ディスクドライブごとに一つのプロセスを使ってチェックされます。
ファイルシステムが含まれるディスクドライブは、
デバイス名のうち最後が数字である最も長い文字列として認識されます。
残りの文字列はパーティションを示すと解釈されます。
常に 1 つずつ順番にチェックされます。
.Pp
preen モードでは、各ファイルシステムのスーパブロックの
クリーン (clean) フラグを調べ、
クリーンでないファイルシステムのみをチェックします。
ファイルシステムがクリーンとマークされるのは、
アンマウントされた時、読み取り専用でマウントされた時、
preen モードでない場合は、パス番号の昇順に
残りのエントリが 1 つずつ順番にチェックされます。
この機能は、
.Nm
が成功裏に実行された時です。
.Fl f
オプションを指定した場合、クリーンフラグの状態にかかわらず
ファイルシステムをチェックします。
を用いて対話的に処理することが必須である場合に必要です。
.Pp
カーネルは、ハードウェアやソフトウェアに障害が起きない限り、
ファイルシステムには限定された無害な不整合しか起こさない様に
動作します。
それらの不整合には以下の物があります。
preen モードでは、パス番号 1 が完了すると残りすべての
ファイルシステムがチェックされますが、
各パス番号について昇順であり、なおかつ 1 つのディスクドライブに
つき 1 つずつ並行にプロセスが走るようなパス番号順にチェックされます。
.Pp
.Bl -item -compact -offset indent
.It
参照されない inode
.It
inode のリンクカウントが多すぎる
.It
フリーマップ中にないフリー (空き) ブロック
.It
フリーマップとファイルの両方にあるブロック
.It
スーパブロック内の数値の異常
.El
つまりこういうことです: preen モードでは、パス番号が 1 である
パーティションは 1 つずつ順番にチェックされます。
次に、パス番号が 2 であるパーティションが並行にチェックされますが、
このとき 1 つのディスクドライブにつきプロセスは 1 つだけです。
その次に、パス番号が 3 であるパーティションが並行にチェック
されますが、このとき 1 つのディスクドライブにつきプロセスは
1 つだけ、という具合です。
.Pp
.Fl p
オプション付の
.Nm
では、上記の不整合のみを修正します。その他の不整合を発見すると、
.Nm
は異常終了のステータスを返して終了し、自動リブートは失敗します。
不整合を修正するたびに、ファイルシステムと修正内容が表示されます。
ファイルシステムの修正に成功した後で、
.Nm
はファイルシステム中のファイル数、使用中ブロックとフリーブロックの数、
フラグメントの割合を表示します。
各ファイルシステムが入っているディスクドライブは、数字で終わる
デバイス名の最短プレフィックスから判断されます。デバイス名の
残りの文字はパーティションおよびスライス指示子とみなされます。
.Pp
.Nm
がファイルシステムをチェックしている間に
.Dv QUIT
シグナルを送ると、
.Nm
はチェックを続けますが、終了時に異常終了のステータスを返し、
自動リブートを失敗させます。
これは、自動リブートによるファイルシステムチェックは行いたいが、
チェック完了後にマルチユーザモードに移行したくない場合に有用です。
.Pp
.Nm
.Dv SIGINFO
シグナルを受信すると (
.Xr stty 1
.Dq status
引数を参照してください)、
現在チェック中のデバイスと現在フェーズ番号とフェーズ固有の進捗情報を示す行が、
標準出力へ書かれます。
.Pp
.Fl p
オプションなしでは、
.Nm
はファイルシステムの状態の検査をおこない、それを対話的に修正します。
ファイルシステムに不整合がある場合、修正を実施する前にオペレータへ
確認を求めます。
.Fl p
オプションでは直せない修正では、データが失われる可能性があることに
注意すべきです。
失われるデータの量とその致命度は、診断メッセージから判断して下さい。
デフォルト動作では、修正を実行する前に、オペレータが
.Li yes
.Li no
と応答するまで待ちます。
オペレータにファイルシステムの書き込み権限がない場合、
.Nm
は、
.Fl n
オプションの動作をデフォルトにします。
.Pp
.Nm
は、以前使われていた
.Em check , dcheck , fcheck ,
.Em icheck
の組み合わせよりもより詳しい不整合チェックを行ないます。
.Pp
.Nm
は以下のフラグを解釈します。
オプションは次の通りです:
.Bl -tag -width indent
.It Fl b
指定した番号のブロックをファイルシステムの
スーパブロックとして使用します。
ブロック番号 32 は普通、代替スーパブロックになっています。
.It Fl c
ファイルシステムを指定したレベルへ変換します。
ファイルシステムのレベルは、上げることのみが可能です。
.Bl -tag -width indent
以下の 4 レベルが定義されています。
.It 0
ファイルシステムは、旧フォーマットです (静的テーブル)。
.It 1
ファイルシステムは、新フォーマットです (動的テーブル)。
.It 2
ファイルシステムは 32 ビットの UID と GID を用い、
短いシンボリックリンクは inode 内へ格納し、
ディレクトリはファイルタイプを示す追加フィールドを持ちます。
.It 3
maxcontig が 1 より大きい場合、
連続ブロックをみつけるためのフリーセグメントマップを作成します。
maxcontig が 1 の場合、既存のセグメントマップを削除します。
.El
.Pp
対話モードでは、
.It Fl d
デバッグモードです。コマンドを実行せず、表示だけ行います。
このモードをサポートするように
.Nm
は、変換の内容を表示して、実際に変換するかどうかを問い合わせます。
no と答えると、ファイルシステムへのそれ以上の操作は行われません。
preen モード (
.Fl p
オプション) では、変換内容を表示しますが、変換が可能なら
ユーザへの問い合わせなしに実行します。
preen モードでの変換は、すべてのファイルシステムを一度に
変換してしまう場合に便利です。
ファイルシステムのフォーマットは、
.Xr dumpfs 8
の出力の最初の行から決定することができます。
がコンパイルされたときだけ利用可能です。
.It Fl f
preen モードの場合でも、
.Sq クリーン
なファイルシステムをチェックするようにします。
.It Fl l
同時チェックの並列度を、指定した数に制限します。
デフォルト値はディスク数であり、
ディスク毎に一つのプロセスが実行されます。
これより小さい値を指定すると、
各ディスクを、ファイルシステムを一つずつ
ラウンドロビン方式でチェックします。
.It Fl m
.Pa lost+found
ディレクトリを作る時のモードとして、デフォルトの 1777 の代わりの
値を 8 進数で指定します。
失われたファイルをすべてのユーザには見せたくないシステムでは、
より制限の厳しい 700 を使うべきです。
たとえクリーンであるとマークがついていても (この機能を
サポートしているファイルシステムについて)
ファイルシステムを強制的にチェックします。
.It Fl n
"CONTINUE?" を除くオペレータへの問い合わせに対して
すべて no と答えたものと
.Nm
からの
.Ql CONTINUE?
を除くすべての問い合わせに no と答えます。
このオプション使用時、ファイルシステムへの書き込みオープンを行いません。
がみなすようになります。
.It Fl p
ファイルシステムを整えます(上記参照)。
preen モードに入ります。preen モードでは、害のない
ファイルシステムの不整合のうち、限られたものだけを
修復します。
ハードウェアもしくはソフトウェアの問題により予期しない
不整合が発見された場合、このチェックプログラムは
エラーで終了します。
preen モードで実行されているときにチェックプログラムが
修復する欠陥の種類を示したリストについては、それぞれの
チェックプログラムのマニュアルページを参照してください。
.It Fl F
フォアグラウンドモードで実行します。
このチェックプログラムは、各ファイルシステムに対して
.Fl F
フラグつきで実行され、ブートアップシーケンスの一部として
実行したいものかどうか、もしくはシステムが立ち上がって
動作した後バックグラウンドでジョブを実行できるかどうかを
決定します。
0 以外の終了コードである場合、後でバックグラウンドで
実行できるということであり、後で行うというメッセージだけが
表示されます。
.It Fl B
バックグラウンドモードで実行します。
このチェックプログラムは、各ファイルシステムに対して
.Fl F
フラグつきで実行され、ブートアップシーケンスの一部として
実行したいものかどうか、もしくはシステムが立ち上がって
動作した後バックグラウンドでジョブを実行できるかどうかを
決定します。
0 以外の終了コードである場合、フォアグラウンドで実行
したかったものであり、すでに実行が終了しているとみなす
ものであるということですので、そのファイルシステムは
スキップされます。
終了コードが 0 である場合、バックグラウンドで実行可能で
あるということですので、このチェックプログラムは
.Fl B
フラグつきで実行され、アクティブなファイルシステムに
対するチェックは済んでいるはずであることが示されます。
バックグラウンドモードで実行している場合、
一度にチェックされるファイルシステムは 1 つだけです。
.It Fl t Ar fstype
ファイルシステムの種類が書かれたコンマ区切りのリストに
対してのみ
.Nm
を起動します。リストが
.Dq no
で始まる場合、
リストで指定されていないファイルシステムの種類に対して
.Nm
を起動します。
.It Fl v
コマンドを実行する前に表示します。
.It Fl y
オペレータへの質問にすべて yes と答えたものと
.Nm
からのすべての質問に yes と答えます。
このオプションは、
修正によって新たな不整合を生むような誤った修正に対しても無制限な
許可を与えてしまうものですから、
十分に用心して使用すべきです。
.\" お手上げにつき、意訳しました by TM
.\"(訳注)とくに問題がないと判断したので,この意訳をそのままとしました。
.\" 2.2.1R 対象(1997/04/23) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
がみなします。
.It Fl T Ar fstype : Ns Ar fsoptions
指定されたファイルシステムの種類に特化したオプションを
コンマ区切りにしたリストであり、
.Xr mount 8
と同じ形式です。
.El
.Pp
ファイルシステムを指定せずに
.Nm
を実行すると
.Pa /etc/fstab
ファイルから読み込まれたファイルシステムのリストが対象になります。
.Pp
.Bl -enum -compact
ファイルシステムは、以下の点について検査されます。
.It
二つ以上の inode やフリーマップにより使用されているブロック
.It
ファイルシステム領域外の inode により使用されているブロック
.It
不正なリンクカウント
.It
サイズのチェック:
.Bl -item -offset indent -compact
.It
サイズが DIRBLKSIZ の倍数でないディレクトリ
.It
切り詰め (truncate) が部分的に行われているファイル
.El
.It
不正な inode フォーマット
.It
どこにも登録されていないブロック
.It
ディレクトリのチェック:
.Bl -item -offset indent -compact
.It
割り当てされていない inode を指すファイル
.It
範囲外の inode 番号
.It
割り当てられていないブロック (穴) を持つディレクトリ
.It
最初の 2 つのエントリが `.' と `..' でないか、
不正な inode 番号を持つディレクトリ
.El
.It
スーパブロックのチェック:
.Bl -item -offset indent -compact
.It
ファイルシステムにあるよりも多い inode ブロック数
.It
不正なフリーブロックマップフォーマット
.It
フリーブロックやフリー inode の総数の誤り
.El
.El
.Pp
親ディレクトリの無いファイルやディレクトリ (割り当て
られているが参照されていない) は、
オペレータへの問い合わせのあとで
.Pa lost+found
ディレクトリへ配置されます。
その際のファイル名は inode 番号になります。
.Pa lost+found
ディレクトリが存在しない場合、新たに作成されます。
スペースが不足している場合は、そのサイズが拡張されます。
.Pp
ブロックデバイスとバッファキャッシュの内容は一致しないかもしれないので、
必ずロー (raw) デバイスを指定してください。
.Sh 関連ファイル
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
チェックを行なうファイルシステムのデフォルトリストを含む
ファイルシステムのテーブルです。
.El
.Sh 診断
.Nm
の出す診断メッセージは、
.Rs
.%T "Fsck \- The UNIX File System Check Program"
.Re
の Appendix A にすべて列挙され説明されています。
.Sh 関連項目
.Xr fs 5 ,
.Xr fstab 5 ,
.Xr fsdb 8 ,
.Xr newfs 8 ,
.Xr reboot 8
.Xr fsck_ffs 8 ,
.Xr fsck_msdosfs 8 ,
.Xr mount 8