Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fsck(8) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

FSCK(8)  —  NEWS-OS Programmer’s Manual

名称

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

形式

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

解説

一行目の形式で実行されると、 fsck はデフォルトのファイルシステムまたは指定したファイルシステムの整合性を チェックし、その修復を行います。 通常この形式はリブート時に実行されるスクリプト /etc/rc の中で使用されます。 この場合、 fsck はできるだけ早くファイルシステムをチェックするために /etc/fstab を読み出し、チェックすべきファイルを決めます。 この情報を使用し、また I/O オーバーラップの利点を最大限いかしながら、 ディスクグループを同一のパスでパラレルにチェックします。 "4.3" タイプのファイルシステムを持つ 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 を応答するものとみなされます。 書き込みのためのファイルシステムのオープンは行われません。

−c もしファイルシステムが旧 (static table) フォーマットである場合、 新 (dynamic table) フォーマットに変換します。 もしファイルシステムが、新フォーマットであり、 かつ旧フォーマットでサポート可能なコンフィギュレーションである場合、 旧フォーマットに変換します。 インタラクティブモードでは、 fsck はなされるべき変換方向を表示し、 変換を行うかどうか問い合わせます。 もし否定するように答えると、 ファイルシステムに対してそれ以上の操作は行われません。 preen モードではユーザの関与が必要ない場合は、 変換方向が表示され、変換が実行されます。 preen モードでの変換は全てのファイルシステムを一度に 変換する場合にもっとも適しています。 ファイルシステムのフォーマットは dumpfs(8) の出力の最初の行から知ることが出来ます。

−v SAFS (Sony Advanced File System) の仮想ディスクデバイスとして 設定済みのものだけをチェックします。このフラグの無いときは、 仮想ディスクデバイスをチェックしません。 詳細は、SAFSのマニュアルを参照してください。

もしファイルシステムを指定しないと、 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), fsdb(8), newfs(8), crash(8V), reboot(8)

バグ

パス  n で  fsck −p を起動できるようにすべきです。

NEWS-OSRelease 4.1C

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