FSCK(8) — NEWS-OS Programmer’s Manual
名称
fsck − ファイルシステムの整合性チェックと会話形式による修復
形式
/etc/fsck −p [ filesystem ... ]
/etc/fsck [ −b block# ] [ −y | −n ] [ −c ] [ −v ] [ filesystem ] ...
解説
1 行目の形式で実行されると、 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), reboot(8)
バグ
パス n で fsck −p を起動できるようにすべきです。
NEWS-OSRelease 4.2.1R