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

ルート (/) 以外、または /usr 以外のファイルシステムをチェックする方法

この手順では、チェックするファイルシステムがマウント解除されていることを前提としています。

不正なスーパーブロックの復元については、不正なスーパーブロックを復元する方法を参照してください。

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

  2. 最初にローカルファイルシステムをマウント解除し、ファイルシステム上でほかの動作が存在しないようにします。

    fsck コマンドの引数として、マウントポイントディレクトリや /dev/dsk/ device-name を指定します。整合性が失われている場合には、そのことを示すメッセージが表示されます。

    たとえば、次のように入力します。


    # umount /export/home
    # fsck /dev/rdsk/c0t0d0s7
    ** /dev/dsk/c0t0d0s7
    ** Last Mounted on /export/home
    .
    .
    .
  3. 報告された fsck エラーをすべて修正します。

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

  4. FILE SYSTEM STATE NOT SET TO OKAY」や「FILE SYSTEM MODIFIED」というメッセージが表示される場合は、必要に応じて fsck コマンドをもう一度実行してください。

    fsck コマンドは、一度の実行ではすべてのエラーを修正できないことがあります。

    fsck コマンドを何度か実行してもすべての問題を修復できない場合は、fsck コマンドで修復できない UFS ファイルシステムの修正を参照してください。

  5. 修復したファイルシステムをマウントして、 lost+found ディレクトリにファイルが存在するかどうかを確認します。

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

    どうしても特定できないファイルまたはディレクトリについては、 lost+found ディレクトリからそれらを削除して、不要な領域を解放してください。

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

例 — ルート (/) 以外、または /usr 以外のファイルシステムを対話式でチェックする

次の例は、/dev/rdsk/c0t0d0s6 ファイルシステムをチェックし、不正なブロック数を訂正する方法を示しています。この例では、ファイルシステムがマウント解除されていることを前提としています。


# fsck /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 *****