Solaris のシステム管理 (上級編)

フェーズ 2: パス名の検査のメッセージ

このフェーズでは、フェーズ 1 と 1B で見つかった不良 i ノードを指すディレクトリエントリが削除されます。次の原因によるエラー条件が表示されます。

ファイルシステムを修復している場合は (-o -p (preen、修復) オプション)、このフェーズでどのエラーが発生した場合も、fsck が終了します。ただし、ブロックサイズの倍数でないディレクトリ、重複ブロックと不良ブロック、範囲外の i ノード、過剰なハードリンクに関連するエラーは除きます。

フェーズ 2 では、次のメッセージ (アルファベット順) が表示される可能性があります。


BAD INODE state-number TO DESCEND
エラーの発生原因

fsck の内部エラーによって、ファイルシステムのディレクトリ構造を継承するルーチンに、無効な状態 state-number が渡されました。fsck は終了します。

対処方法

このエラーメッセージが表示される場合は、ご購入先に問い合わせてください。


BAD INODE NUMBER FOR '.' I=inode-number OWNER=UID MODE=file-mode 
SIZE=file-size MTIME=modification-time DIR=filename (FIX)
エラーの発生原因

.」の i ノード番号が inode-number に等しくないディレクトリ inode-number が見つかりました。

対処方法

.」の i ノード番号を inode-number に等しくなるように変更するには、FIX プロンプトから y と入力します。「.」の i ノード番号を変更しない場合は、n と入力します。


BAD INODE NUMBER FOR '..' I=inode-number OWNER=UID MODE=file-mode 
SIZE=file-size MTIME=modification-time DIR=filename (FIX)
エラーの発生原因

ディレクトリ inode-number が見つかりましたが、このディレクトリの「..」の i ノード番号が inode-number の親と等しくありません。

対処方法

.. の i ノード番号を inode-number の親に等しくなるように変更するには、FIX プロンプトに y を入力します。(ルート i ノード内の「..」は、それ自体を指す)。「..」の i ノード番号を変更しない場合は、n と入力します。


BAD RETURN STATE state-number FROM DESCEND
エラーの発生原因

fsck の内部エラーによって、ファイルシステムのディレクトリ構造を継承するルーチンから、不可能な状態 state-number が返されました。fsck は終了します。

対処方法

このメッセージが表示される場合は、ご購入先に問い合わせてください。


BAD STATE state-number FOR ROOT INODE
エラーの発生原因

内部エラーによって、ルート i ノードに不可能な状態 state-number が割り当てられました。fsck は終了します。

対処方法

このエラーメッセージが表示される場合は、ご購入先に問い合わせてください。


BAD STATE state-number FOR INODE=inode-number
エラーの発生原因

内部エラーによって、i ノード inode-number に不可能な状態 state-number が割り当てられました。fsck は終了します。

対処方法

このエラーメッセージが表示される場合は、ご購入先に問い合わせてください。


DIRECTORY TOO SHORT I=inode-number OWNER=UID MODE=file-mode 
SIZE=file-size MTIME=modification-time DIR=filename (FIX)
エラーの発生原因

サイズ file-size が最小ディレクトリサイズより小さいディレクトリ filename が見つかりました。所有者 UID、モード file-mode、サイズ file-size、変更時刻 modification-time、およびディレクトリ名 filename が表示されます。

対処方法

ディレクトリのサイズを最小ディレクトリサイズまで大きくするには、FIX プロンプトから y と入力します。このディレクトリを無視するには n と入力します。


DIRECTORY filename: LENGTH file-size NOT MULTIPLE OF disk-block-size (ADJUST)

Oracle Solaris 10:


DIRECTORY filename: LENGTH file-size NOT MULTIPLE OF block-number (ADJUST)
エラーの発生原因

サイズ file-size がディレクトリブロックのサイズ disk-block-size の倍数でないディレクトリ filename が見つかりました。

Oracle Solaris 10:

サイズ file-size がディレクトリブロックのサイズ block-number の倍数でないディレクトリ filename が見つかりました。

対処方法

長さを適切なディスクブロックサイズに切り上げるには、y と入力します。ファイルシステムを修復しているとき (-o p (preen、修復) オプション) は、fsck は警告のみを表示してディレクトリを調整します。この条件を無視するには n と入力します。

Oracle Solaris 10:

長さを適切なブロックサイズに切り上げるには、y と入力します。ファイルシステムを修復しているとき (-o p (preen、修復) オプション) は、fsck は警告のみを表示してディレクトリを調整します。この条件を無視するには n と入力します。


DIRECTORY CORRUPTED I=inode-number OWNER=UID MODE=file-mode 
SIZE=file-size MTIME=modification-time DIR=filename (SALVAGE)
エラーの発生原因

内部状態の整合性がないディレクトリが見つかりました。

対処方法

次のディレクトリ境界 (通常は 512 バイトの境界) までのすべてのエントリを放棄するには、SALVAGE プロンプトから y と入力します。この処置によって、最高で 42 個のエントリを放棄できます。この処置は、他の回復作業に失敗した場合にのみ実行します。問題のディレクトリを変更せずに、次のディレクトリ境界までスキップして読み取りを再開するには、n と入力します。


DUP/BAD I=inode-number OWNER=O MODE=M SIZE=file-size 
MTIME=modification-time TYPE=filename (REMOVE)
エラーの発生原因

フェーズ 1 またはフェーズ 1B で、ディレクトリまたはファイルエントリ filename、i ノード inode-number に関連付けられた重複フラグメントまたは不良フラグメントが見つかりました。所有者 UID、モード file-mode、サイズ file-size、変更時刻 modification-time、ディレクトリまたはファイル名 filename が表示されます。-op (preen 、修復) オプションを指定すると、重複または不良フラグメントが削除されます。

Oracle Solaris 10:

フェーズ 1 またはフェーズ 1B で、ディレクトリまたはファイルエントリ filename、i ノード inode-number に関連付けられた重複ブロックまたは不良ブロックが見つかりました。所有者 UID、モード file-mode、サイズ file-size、変更時刻 modification-time、ディレクトリまたはファイル名 filename が表示されます。-op (preen 、修復) オプションを指定すると、重複または不良ブロックが削除されます。

対処方法

ディレクトリまたはファイルのエントリ filename を削除するには、REMOVE プロンプトから y と入力します。このエラー条件を無視するには、n と入力します。


DUPS/BAD IN ROOT INODE (REALLOCATE)
エラーの発生原因

フェーズ 1 またはフェーズ 1B で、ファイルシステムのルート i ノード (i ノード番号 20) に、重複フラグメントまたは不良フラグメントが見つかりました。

Oracle Solaris 10:

フェーズ 1 またはフェーズ 1B で、ファイルシステムのルート i ノード (通常は i ノード番号 2) に、重複ブロックまたは不良ブロックが見つかりました。

対処方法

ルート i ノードの既存の内容を消去して再割り当てを行うには、REALLOCATE プロンプトから y と入力します。一般にルート内で検出されるファイルとディレクトリがフェーズ 3 で復元され、lost+found ディレクトリに格納されます。ルートの割り当てに失敗すると、fsck は次のメッセージを表示して終了します。 「CANNOT ALLOCATE ROOT INODE」。n と入力すると、CONTINUE プロンプトが表示されます。 ルート i ノード内の DUPS/BAD エラー条件を無視してファイルシステムのチェックを続行するには、CONTINUE プロンプトに対して y と入力します。ルート i ノードが不正であれば、他の多数のエラーメッセージが生成されることがあります。n の場合は、プログラムを終了します。


EXTRA '.' ENTRY I=inode-number OWNER=UID MODE=file-mode 
SIZE=file-size MTIME=modification-time DIR=filename (FIX)
エラーの発生原因

.」のエントリが複数個入っているディレクトリ inode-number が見つかりました。

対処方法

.」の余分なエントリを削除するには、FIX プロンプトから y と入力します。問題のディレクトリを変更しない場合は、n と入力します。


EXTRA '..' ENTRY I=inode-number OWNER=UID MODE=file-mode 
SIZE=file-size MTIME=modification-time DIR=filename (FIX)
エラーの発生原因

ディレクトリ inode-number が見つかりましたが、このディレクトリは複数個の「..」(親ディレクトリ) エントリを持っています。

対処方法

..」(親ディレクトリ) の余分なエントリを削除するには、FIX プロンプトに y を入力します。問題のディレクトリを変更しない場合は、n と入力します。


hard-link-number IS AN EXTRANEOUS HARD LINK TO A DIRECTORY filename (REMOVE)
エラーの発生原因

fsck によって、ディレクトリ filename へのハードリンク hard-link-number にエラーが見つかりました。修復 (preen) しているとき (-o p オプション)、fsck はエラーのあるハードリンクを無視します。

対処方法

エラーのあるエントリ hard-link-number を削除するには、REMOVE プロンプトから y と入力します。このエラー条件を無視するには、n と入力します。


inode-number OUT OF RANGE I=inode-number NAME=filename (REMOVE)
エラーの発生原因

ディレクトリエントリ filename には、i ノードリストの終わりより大きい i ノード番号 inode-number が付いています。-p (preen、修復) オプションを指定すると、i ノードが自動的に削除されます。

対処方法

ディレクトリエントリ filename を削除するには、REMOVE プロンプトから y と入力します。このエラー条件を無視するには、n と入力します。


MISSING '.' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time DIR=filename (FIX)
エラーの発生原因

最初のエントリ (「. 」のエントリ) に未割り当てのディレクトリ inode-number が見つかりました。

対処方法

i ノード番号が inode-number に等しい「.」のエントリを構築するには、FIX プロンプトから y と入力します。問題のディレクトリを変更しない場合は、n と入力します。


MISSING '.' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time DIR=filename CANNOT FIX, FIRST ENTRY IN 
DIRECTORY CONTAINS filename
エラーの発生原因

最初のエントリが filename となっているディレクトリ inode-number が見つかりました。fsck はこの問題を解決できません。

対処方法

このエラーメッセージが表示される場合は、ご購入先に問い合わせてください。


MISSING '.' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time DIR=filename CANNOT FIX, INSUFFICIENT 
SPACE TO ADD '.'
エラーの発生原因

最初のエントリが「.」でないディレクトリ inode-number が見つかりました。fsck は問題を解決できません。

対処方法

このエラーメッセージが表示される場合は、ご購入先に問い合わせてください。


MISSING '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time DIR=filename (FIX)
エラーの発生原因

第 2 のエントリが割り当てられていないディレクトリ inode-number が見つかりました。

対処方法

..」を、i ノード番号が inode-number の親に等しくなるように構築するには、FIX プロンプトから y と入力します。(ルート i ノード内の「..」は、それ自体を指す)。問題のディレクトリを変更しない場合は、n と入力します。


MISSING '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time DIR=filename CANNOT FIX, SECOND ENTRY IN 
DIRECTORY CONTAINS filename
エラーの発生原因

第 2 のエントリが filename となっているディレクトリ inode-number が見つかりました。fsck はこの問題を解決できません。

対処方法

このエラーメッセージが表示される場合は、ご購入先に問い合わせてください。


MISSING '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time DIR=filename CANNOT FIX, INSUFFICIENT SPACE 
TO ADD '..'
エラーの発生原因

ディレクトリ inode-number が見つかりましたが、このディレクトリの第 2 のエントリは「..」(親ディレクトリ) ではありません。fsck はこの問題を解決できません。

対処方法

このエラーメッセージが表示される場合は、ご購入先に問い合わせてください。


NAME TOO LONG filename
エラーの発生原因

長すぎるパス名が見つかりました。通常、これはファイルシステムの名前空間内のループを示します。特権を持つユーザーがディレクトリへの循環リンクを作成すると、このエラーが発生することがあります。

対処方法

循環リンクを削除します。


ROOT INODE UNALLOCATED (ALLOCATE)
エラーの発生原因

ルート i ノード (通常は i ノード番号 2) に割り当てモードビットがありません。

対処方法

i ノード 2 をルート i ノードとして割り当てるには、ALLOCATE プロンプトから y と入力します。一般にルート内で検出されるファイルとディレクトリがフェーズ 3 で復元され、lost+found ディレクトリに格納されます。ルートの割り当てに失敗すると、fsck は次のメッセージを表示して終了します。 「CANNOT ALLOCATE ROOT INODE」。プログラムを終了するには n と入力します。


ROOT INODE NOT DIRECTORY (REALLOCATE)
エラーの発生原因

ファイルシステムのルート i ノード (通常は i ノード番号 2) はディレクトリ i ノードではありません。

対処方法

ルート i ノードの既存の内容を消去して再割り当てを行うには、REALLOCATE プロンプトから y と入力します。一般にルート内で検出されるファイルとディレクトリがフェーズ 3 で復元され、lost+found ディレクトリに格納されます。ルートの割り当てに失敗すると、fsck は次のメッセージを表示して終了します。 「CANNOT ALLOCATE ROOT INODE」。fsckFIX プロンプトを表示させるには、n と入力します。


UNALLOCATED I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time type=filename(REMOVE)
エラーの発生原因

ディレクトリまたはファイルのエントリ filename は、未割り当ての i ノード inode-number を指しています。所有者 UID、モード file-mode、サイズ file-size、変更時刻 modification-time、およびファイル名 filename が表示されます。

対処方法

ディレクトリエントリ filename を削除するには、REMOVE プロンプトから y と入力します。このエラー条件を無視するには、n と入力します。


ZERO LENGTH DIRECTORY I=inode-number OWNER=UID MODE=file-mode 
SIZE=file-size MTIME=modification-time DIR=filename (REMOVE)
エラーの発生原因

ディレクトリエントリ filename のサイズ file-size が 0 になっています。所有者 UID、モード file-mode、サイズ file-size、変更時刻 modification-time、およびディレクトリ名 filename が表示されます。

対処方法

ディレクトリエントリ filename を削除するには、REMOVE プロンプトから y と入力します。これにより、フェーズ 4 で「BAD/DUP」エラーメッセージが表示されます。このエラー条件を無視するには、n と入力します。