Solaris のシステム管理

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

  1. スーパーユーザーになります。

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

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

    # fsck
    

    /etc/vfstab ファイル内で、「fsck pass」フィールド内のエントリが 0 より大きいすべてのファイルシステムがチェックされます。また、fsck の引数として、マウントポイントディレクトリや /dev/rdsk/device-name も指定できます。非整合性メッセージが表示されます。エラーメッセージのプロンプトに応答して 1 つまたは複数の UFS ファイルシステムを対話方式でチェックする方法については、第 73 章「ファイルシステムで発生する問題の解決」を参照してください。

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

    fsck は、一度の実行ですべてのエラーを修正できないことがあります。「FILE SYSTEM STATE NOT SET TO OKAY」というメッセージが表示される場合は、このコマンドをもう一度実行します。コマンドが機能しない場合は、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 *****