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