EN JA
FSCK_FFS(8)
FSCK_FFS(8) FreeBSD System Manager's Manual FSCK_FFS(8)

名称

fsck_ffs, fsck_ufsファイルシステムの整合性のチェックと対話的な修正

書式

fsck_ffs [ -BEFfnpryZ][ -b block][ -c level][ -m mode] filesystem ...

解説

指定されたディスクのパーティションおよびファイルシステムがチェックされます。 "preen"または "check clean"モードでは、各ファイルシステムのスーパブロックのクリーン (clean) フラグが、調べられ、クリーンとマークされていないファイルシステムのみがチェックされます。ファイルシステムは、アンマウントされるとき、読み込み専用としてマウントされたとき、または fsck_ffs がファイルシステムで成功して実行されるとき、クリーンとマークされます。 -f オプションが指定されるなら、ファイルシステムは、ファイルシステムのクリーンフラグの状態にかかわらず、チェックされます。

カーネルは、ハードウェアまたはソフトウェアの障害が起こらなければ、無害のファイルシステムの制限されたクラスだけ不一致が起こるかもしれないことに、注意していください。これらは、次のように制限されています:

  • 参照されない inode
  • 多すぎる inode のリンクカウント
  • フリー (空き) マップの失われたブロック
  • 同様にファイル中のフリーマップのブロック
  • スーパブロック中の誤ったカウント

これらは、 -p オプションを付けた fsck_ffs が修正するただ一つの不整合です。他の不整合に遭遇するなら、異常な返り状態で終了し、そして、自動的なリブートは、失敗します。訂正された不整合のたびに、1 つ以上の行は、修正が起こるファイルシステムと修正の性質を識別して印刷されます。ファイルシステムを成功して修正した後、 fsck_ffs は、そのファイルシステムのファイルの数、使用されているブロックの数、空きブロックの数とフラグメントの割合を印刷 (表示) します。

QUIT シグナルを送られるなら、 fsck_ffs は、ファイルシステムのチェックを終了し、次に、自動的なリブートを失敗させる異常な返り状態で終了します。自動的なリブートの間にファイルシステムのチェックを終了したいが、チェックが完了した後に、マシンをマルチユーザにしたくないとき、これは、役に立ちます。

fsck_ffsSIGINFO ( stty(1) のための“status”引数を参照) シグナルを受信するなら、行は、現在チェックされているデバイスの名前、現在のフェーズ番号とフェーズ特有の進捗情報を示して、標準出力に書き込まれます。

-p オプションなしで、 fsck_ffs は、ファイルシステムのための不整合な条件を監査し、対話式に修理します。ファイルシステムが不整合であるなら、オペレータは、各修正が試みられる前に、一致のためのプロンプトが出されます。 -p オプションの下で修正可能でない訂正動作のいくつかが、いくつかのデータの損失の結果となることを注意するべきです。失われたデータの量と重大性は、診断出力から判断されます。一貫性のある修正ごとのデフォルト動作は、 yes または no を応答するオペレータを待つことです。オペレータにファイルシステムの書き込み許可がないなら、 fsck_ffs は、 -n の動作をデフォルトとします。

次のフラグが fsck_ffs によって解釈されます:

-B
指定された、もしかすると使用中かもしれないファイルシステムに対し、チェックを実施します。実施可能な修正は、preen モード ( -p フラグ参照) での実行時のものに限定されます。予期しないエラーがみつかると、ファイルシステムには、フォアグラウンドチェックが必要という印が付けられ、 fsck_ffs は、更なるクリーニングを試みずに終了します。
-E
割り付けられていないブロックをクリアし、使用されていなくて、内容が破棄されるかもしれない基本的なデバイスを通知します。これは、1 つのデバイスから別のデバイスまでコピーされたファイルシステムと同様に、 TRIM サポートがないか、または TRIM サポートが無効になっているシステムでマウントされているファイルシステムの役に立ちます。

newfs(8)-E-t フラグ、および tunefs(8)-t フラグを参照してください。

-F
ファイルシステムがフォアグラウンドで直ちにクリーンにされる必要があるか、またはバックグラウンドにして、そのクリーンにすることを遅らせることができるかどうか判断します。バックグラウンドにしてクリーンにするための適任者となるために、ソフト更新で実行され、フォアグラウンドのチェックを必要とすることとしてマークされず、マウントされ、バックグラウンドのチェックが行なわれたとき、書き込み可能でなければなりません。これらの条件が満たされるなら、 fsck_ffs は、0 の終了ステータスで終了します。そうでなければ、0 以外の終了ステータスで終了します。ファイルシステムがクリーンであるなら、フォアグラウンドのチェックの間にファイルシステムのクリーンなステータスを検証して報告することができるように、 0 以外の終了ステータスで終了します。 -F フラグで呼び出されるとき、クリーンアップは、行なわれないことに注意してください。 fsck_ffs が行なうただ 1 つのことは、フォアグラウンドまたはバックグラウンドのチェックが必要であるかどうか判断し、適切なステータスコードで終了します。
-b
ファイルシステムのためのスーパブロックとしてフラグの直後に指定されたブロックを使用します。通常、代替スーパブロックは、UFS1 のためには、ブロック 32、 UFS2 のためには、ブロック 160 に位置しています。

newfs(8)-N フラグを参照してください。

-C
ファイルシステムがクリーンな状態でディスマウントされたかどうか、チェックします。そうであれば、("preen"モードのように) ファイルシステムのチェックをスキップします。しかしながら、ファイルシステムがクリーンな状態でディスマウントされていなければ、 fsck_ffs が、 -C なしで呼び出されているように、徹底したチェックを行います。
-c
ファイルシステムを指定されたレベルに変換します。ファイルシステムのレベルを上げることだけができることに注意してください。現在、次の 4 つのレベルが定義されています:
0
ファイルシステムは、古い (静的テーブル) 形式です。
1
ファイルシステムは、新しい (動的なテーブル) 形式です。
2
ファイルシステムは、32 ビットの UID と GID をサポートし、短いシンボリックリンクは、inode に格納され、そしてディレクトリには、ファイルタイプを示す追加フィールドがあります。
3
maxcontig が 1 より大きいなら、連続するブロックの組を見つけることを援助するためにフリーセグメントマップを構築します。 maxcontig が 1 に等しいなら、あらゆる既存のセグメントマップを削除します。

対話型モードで、 fsck_ffs は、行なわれる変換をリストし、転換が行われるべきかどうか問い合わせます。否定の答えが与えられるなら、それ以上の操作は、ファイルシステムで行なわれません。 preen モードで、転換は、リストされ、可能であるなら、ユーザ対話なしで行なわれます。整える (preen) モードの変換は、すべてのファイルシステムが一度に変換されているとき、最も使用されます。 dumpfs(8) からの出力の最初の行から、ファイルシステムの形式を決定することができます。

このオプションは、 -f フラグに意味を含みます。

-f
fsck_ffs は、整える (preen) モードのとき、‘クリーン’なファイルシステムを強制的にチェックします。
-m
デフォルトの 1777 ではなく lost+found ディレクトリを作成するとき、使用するパーミッションビットとしてのフラグの直後に 8 進数で指定されたモードを使用します。特に、システムですべてのユーザによってアクセス可能な lost ファイルを持ちたくないシステムは、700 のような、より制限されたパーミッションを使用するべきです。
-n
肯定的であると仮定される‘ CONTINUE?’を除いて、 fsck_ffs によって問い合わされるすべての質問に no の応答を仮定します。書き込むのためのファイルシステムをオープンしません。
-p
ファイルシステムを整えます (上記参照)。
-r
余分な未使用の inode を使えるようにします。前もって割り付けられた inode の数を減少させると、今後に実行する fsck_ffs の実行時間を減少させ、ファイルに割り付けることができる空間を使えるようにします。 -r オプションは、preen モードで実行するとき、無視されます。
-S
エラーであきらめます。このフラグが有効にされているなら、ディスク I/O で返されたハードエラーによって、 fsck_ffs は、たぶんより多くの I/O エラーでつまずいて、継続する代わりに異常終了します。
-y
fsck_ffs によって問い合わされたすべての質問に yes の応答を仮定します。これは、本質的に果てのない問題に遭遇した後に、自由に継続するので、十分に注意して使用されるべきです。
-Z
-E に似ていますが、0 クリアされた未使用のブロックを上書きします。 -E-Z の両方が指定されるなら、ブロックは、最初に 0 クリアされ、次に削除されます。

チェックされる不整合は、次の通りです:

  1. 2 つ以上の inode またはフリーマップによって要求されるブロック。
  2. ファイルシステムの範囲の外側の inode によって要求されるブロック。
  3. 不正確なリンクカウント。
  4. サイズチェックは、次の通りです:
    • DIRBLKSIZ の倍数でないディレクトリのサイズ。
    • 部分的に切り詰められたファイル。
  5. 不正な inode 形式。
  6. どこにも説明されないブロック。
  7. ディレクトリのチェックは、次の通りです:
    • 割り付けられていない inode を指すファイル。
    • 範囲外の inode 番号。
    • 割り付けられていないブロック (穴) があるディレクトリ。
    • 最初の 2 つのエントリが `.' と `..' でないディレクトリ、または不正な inode 番号があるディレクトリ。
  8. スーパブロックのチェックは、次の通りです:
    • ファイルシステムにあるより多い inode のブロック。
    • 不正なフリーブロックのマップ形式。
    • 不正確な合計のフリーブロックおよびフリー inode カウント。

孤児にされたファイルとディレクトリ (割り付けられたが参照されていない) は、オペレータの同意を得て、 lost+found ディレクトリに、それらを置くことによって、再度接続されます。割り当てられた名前は、inode 番号です。 lost+found ディレクトリが存在しないなら、それは、作成されます。十分な空間がないなら、そのサイズが、増加されます。

完全なフォアグランドの fsck_ffs は、復旧できないディスクの書き込みエラーの後に起こる多くの問題をチェックします。したがって、復旧できないディスクの書き込みエラーまたはファイルシステム関連のパニックに遭遇するときはいつも、定期的に利用者のシステムでフォアグランドの fsck_ffs を実行することをお勧めします。

関連ファイル

/etc/fstab
チェックするファイルシステムのデフォルトのリストを含む

終了ステータス

The fsck_ffs utility exits 0 on success, and >0 if an error occurs.

オプション -F が使用され、ファイルシステムがクリーンであるなら、 fsck_ffs は、7 で終了します。

診断

fsck_ffs によって生成される診断は、 Fsck - The UNIX File System Check Program の付録 A に完全に列挙され説明されています。
July 30, 2013 FreeBSD