Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fsck(8) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

FSCK(8)  —  UNIX Programmer’s Manual

名称

fsck − ファイルシステムの整合性チェックと会話形式による修復

形式

/etc/fsck −p [ filesystem ...  ]
/etc/fsck [ −b block# ] [ −y ] [ −n ] [ filesystem ] ... 

解説

一行目の形式で実行されると、 fsck はデフォルトのファイルシステムまたは指定したファイルシステムの整合性を チェックし、その修復を行います。 通常この形式はリブート時に実行されるスクリプト /etc/rc の中で使用されます。 この場合、 fsck はできるだけ早くファイルシステムをチェックするために /etc/fstab を読み出し、チェックすべきファイルを決めます。 この情報を使用し、また I/O オーバーラップの利点を最大限活かしながら、 ディスクグループを同一のパスでパラレルにチェックします。 fstab 内で、“rw”、“rq”、“ro” でマウントするよう 指定されておりかつ、passno が 0 でないパーティションがチェックされます。 通常、パス1 ではルートファイルシステムがチェックされます。 また、パス2 では他のファイルシステムの “ルート” (“a” パーティション)をチェックします。 それ以降のパスでは他の小さなファイルシステム (例えば、パス3 では “d” パーティション、 パス4 では “e” パーティション)をチェックします。 そして最後のパスで大規模なユーザファイルシステムをチェックします。

ハードウェアまたはソフトウェアで障害が生じない限り、 以下に示した不整合のみが発生することを前提にしています。

未参照 iノード

iノード内のリンクカウントが大きすぎる

フリーリストの中のブロック喪失

フリーリスト中にあるにもかかわらずファイルとして利用されているブロック

スーパブロック内のカウント誤り

−p フラグを指定した fsck が修復できる不整合は以上のものだけです。 他の不整合があると異常リターンステータスを返して終了し、リブートが失敗します。 不整合に対する修復が行なわれると、 修復の行なわれたファイルシステムおよび修復の種類を出力します。 ファイルシステムの修復が成功すると、 fsck はファイルシステム上のファイル数、使用済みおよび未使用ブロック数を出力します。

QUITシグナルが送られて来ると、 fsck はファイルシステムのチェックを終了し、異常ステータスを返します。 これによってリブートは中止されます。 これはファイルシステムチェックを終了させたいが、 マシンをマルチユーザモードにしたくないときに便利です。

−p フラグを指定しないと、 fsck はファイルシステムのチェックを行ない、不整合の修復を会話的に行います。 ファイルシステムに不整合があると修復を行なう前に 注意をうながすメッセージが出力されます。 −p フラグのもとで修復できなかった不整合を修復した場合は、 データが喪失されることがあるので注意が必要です。 失われたデータの量とその重大性は診断出力から判断できます。 オペレーターはそれぞれの修復を行なうかどうかは yes か no で応答します。 オペレーターがファイルシステムへの書き込み許可を持っていないと、 fsck は −n が指定されたものとして実行されます。

fsck は、その前身である check、dcheck、 fcheck、icheck の組み合わせより多くの整合性チェックを行なっています。

fsck では、以下のフラグが指定できます。

−b フラグのすぐ後ろに指定されたブロック(block#)を ファイルシステムの代替スーパーブロックとして使用します。 通常はブロック 32 です。

−y fsck のすべての問い合わせに対し、 yes を応答するものとみなされます。 これは充分注意して使用してください。 基本的に無制限のトラブルが発生したあとでも続行されます。

−n fsck のすべての問い合わせに対し、no を応答するものとみなされます。 書き込みのためのファイルシステムのオープンは行われません。

もしファイルシステムを指定しないと、 fsck は /etc/fstab ファイルからデフォルトリストを読み込みます。

fsck は次の整合性チェックを行います。

1.  1つ以上の iノードあるいは空きリストに重複して存在するブロック

2.  iノードあるいは空きリストに存在するブロックがファイルシステムの範囲外

3.  誤ったリンク数

4.  大きさのチェック

ディレクトリサイズフォーマット誤り

5.  不良 iノードのフォーマット

6.  どこにも管理されないブロック

7.  ディレクトリチェック

割り当てられていない iノードを指しているファイル
範囲外の iノード番号

8.  スーパーブロックのチェック

ファイルシステム内のブロック数より iノードのブロック数が多い

9.  不良の空きブロックリスト形式

10.  不良な空きブロックおよび空き iノード数

(割り付けられているが参照されない) 親のないファイルやディレクトリは、 オペレーターの指示で lost+found ディレクトリにそれらを移動することによって 再度ファイルシステムに置かれます。 iノード番号がそのファイルのファイル名となります。 lost+found ディレクトリがなければ作成されます。 空きスペースが少なければ増やされます。

raw デバイスのチェックの方が高速に処理できます。

関連ファイル

/etc/fstab チェックを行なうファイルシステムのデフォルトリスト

診断

fsck の診断出力は、 “Fsck The UNIX File System Check Program”(SMM:5) の付録A にすべて説明してあります。

関連コマンド

fstab(5), fs(5), newfs(8), mkfs(8), reboot(8)

バグ

パス n で fsck −p を起動する方法を用意すべきです。

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026