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

フェーズ 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)
エラーの発生原因

..」の 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 はこの問題を解決できない。

解決方法

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


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 '..'
エラーの発生原因

第 2 のエントリが「..」(親ディレクトリ) でないディレクトリ inode-number が見つかった。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 と入力する。