Solaris のシステム管理 (第 2 巻)

フェーズ 2: パス名メッセージのチェック

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

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

このフェーズでは、他に次のエラーメッセージが表示されることがあります。

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)

エラーの発生原因 

解決方法 

..」の i ノード番号が inode-number の親に等しくないディレクトリ 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 block-number (ADJUST)

エラーの発生原因 

解決方法 

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

長さを適切なブロックサイズに切り上げるには、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 が表示される。-p (preen、修復) オプションを指定すると、重複または不良ブロックが削除される

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

DUPS/BAD IN ROOT INODE (REALLOCATE)

エラーの発生原因 

解決方法 

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

ルート i ノードの既存の内容を消去して割り当てを解除するには、REALLOCATE プロンプトから y と入力する。ルート内で通常検出されるファイルとディレクトリがフェーズ 3 で復元され、lost+found ディレクトリに格納される。ルートの割り当てに失敗すると、fsck は「CANNOT ALLOCATE ROOT INODE」というメッセージを表示して終了する。CONTINUE プロンプトを表示するには、n と入力する。CONTINUE プロンプトに応答するには、yn のどちらかを入力する。y と入力すると、ルート i ノード内の DUPS/BAD エラー条件を無視して、ファイルシステムのチェックを続行する。ルート 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 を削除するには、 プロンプトから 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 はこの問題を解決できない

ファイルシステムをマウントして、エントリ filename を別の場所に移動する。システムのマウントを解除して、もう一度 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 はこの問題を解決できない

ファイルシステムをマウントして、エントリ filename を他の場所に移動する。次に、ファイルシステムをマウント解除し、もう一度 fsck を実行する


MISSING '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size 
MTIME=modification-time DIR=filename CANNOT FIX, INSUFFICIENT SPACE TO ADD '..'

エラーの発生原因 

解決方法 

第 2 のエントリが「..」(親ディレクトリ) でないディレクトリ inode-number が見つかった。fsck はこの問題を解決できない

ファイルシステムをマウントし、ディレクトリ内の第 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 と入力する