Solaris のシステム管理 (基本編)

ファイルシステムを対話式でチェックする方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. ルート (/) と /usr 以外のローカルファイルシステムをマウント解除します。


    # umountall -l
    
  3. ファイルシステムをチェックします。


    # fsck
    

    /etc/vfstab ファイル内で、「fsck pass」フィールドのエントリが 0 より大きいすべてのファイルシステムがチェックされます。また、fsck コマンドの引数として、マウントポイントディレクトリや /dev/rdsk/device-name も指定できます。整合性が失われている場合には、そのことを示すメッセージが表示されます。

    1 つまたは複数の UFS ファイルシステムを対話式でチェックしながら、エラーメッセージのプロンプトに応答する方法については、『Solaris のシステム管理 (上級編)』の「UFS ファイルシステムの不整合解決 (手順)」を参照してください。


    注意 – 注意 –

    マウントされているファイルシステム上で fsck コマンドを実行すると、fsck コマンドによってなんらかの変更が行われた場合にシステムがクラッシュする可能性があります。ただし、シングルユーザーモードで fsck コマンドを実行してファイルシステムを修復する場合などは除きます。


  4. エラーを修正し終わったら、fsck と入力して Return キーを押します。

    fsck コマンドは、一度の実行ですべてのエラーを修正できないことがあります。「FILE SYSTEM STATE NOT SET TO OKAY」というメッセージが表示される場合は、fsck コマンドを使って、修正作業を繰り返します。fsck では修正できない場合は、fsck コマンドで修復できない UFS ファイルシステムの修正を参照してください。

  5. lost+found ディレクトリに保存されているファイルの名前を変更して移動します。

    fsck コマンドによって lost+found ディレクトリに入れられた各ファイルの名前は、その i ノード番号を使用して変更されます。可能であれば、ファイル名を変更し、ファイルが含まれるディレクトリに移動してください。grep コマンドを使用して各ファイル中の語句を探したり、file コマンドを使用してファイルタイプを識別できる場合もあります。ディレクトリ全体が lost+found ディレクトリに書き込まれている場合の方が、復帰先のディレクトリを調べて、移動することは容易です。

例 — ファイルシステムを対話式でチェックする

次の例は、/dev/rdsk/c0t0d0s6 ファイルシステムをチェックし、不正なブロック数を訂正する方法を示しています。


# fsck /dev/rdsk/c0t0d0s6
checkfilesys: /dev/rdsk/c0t0d0s6
** Phase 1 - Check Block and Sizes
INCORRECT BLOCK COUNT I=2529 (6 should be 2)
CORRECT? y

** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Cylinder Groups
929 files, 8928 used, 2851 free (75 frags, 347 blocks, 0.6%
fragmentation)
/dev/rdsk/c0t0d0s6 FILE SYSTEM STATE SET TO OKAY
 
***** FILE SYSTEM WAS MODIFIED *****