e2fsck - システム管理コマンドの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- オプション
- 返り値
- シグナル
- バグ報告
- 著者
- 関連項目
名前
e2fsck - Linux ext2/ext3 ファイルシステムをチェックする
書式
e2fsck
[
-pacnyrdfkvstDFSV
]
[
-b
superblock
]
[
-B
blocksize
]
[
-l|-L
bad_blocks_file
]
[
-C
fd
]
[
-j
external-journal
]
[
-E
extended_options
]
device
説明
e2fsck
は Linux 第 2 拡張ファイルシステム (ext2fs) をチェックする。
e2fsck はジャーナル付きの ext2 ファイルシステムもサポートする。
このファイルシステムは ext3 ファイルシステムとも呼ばれ、
この場合は通常の
e2fsck
処理を行う前に、まずジャーナルをファイルシステムに適用する。
ジャーナルを適用した後、ファイルシステムは通常
clean であるとマークされる。
よって、ext3 ファイルシステムに対しては、
e2fsck
は通常ジャーナルを実行して終了するだけになる
(ただしスーパーブロックに、
より詳細なチェックを要求する内容が記述されている場合は別)。
device
はファイルシステムが保存されているデバイスファイルである (例:
dev/hdc1
)。
マウントされているファイルシステムに対して
e2fsck
を実行するのは、一般的に言って、安全でないという点に注意すること。
唯一の例外は、
-n
が指定されていて、かつ
-c
,
-l
,
-L
オプションが指定されていない
場合である。
しかし安全に実行できたとしても、
ファイルシステムがマウントされているときに
e2fsck
で表示される結果は有効ではない。
マウントされているファイルシステムをチェックすべきか否かを
e2fsck
が質問してきた場合、唯一の正しい答えは ``no'' である。
何をしているかを本当に分かっているエキスパートのみが、
この質問に対して別の答えを出すかを考えるべきである。
オプション
-
-a
-
このオプションは
-p
オプションと同様のものとみなされる。
下位互換性のためにのみ準備されているオプションであるため、
できる限り
-p
オプションを使うことが推奨される。
-
-b
superblock
-
通常のスーパーブロックのかわりに、
superblock
をスーパーブロックとして利用する。
このオプションが用いられるのは、
プライマリなスーパーブロックが壊れた場合である。
バックアップスーパーブロックの場所は、
ファイルシステムのブロックサイズによって異なる。
ファイルシステムのブロックサイズが 1k の場合、
バックアップスーパーブロックは 8193 にある。
また、ブロックサイズが 2k の場合は 16384 に、
4k の場合は 32768 にある。
バックアップ用の追加スーパーブロックの位置を決めるには、
mke2fs
プログラムを
-n
オプション付きで実行して、
スーパーブロックが生成された場所を表示させればよい。
スーパーブロックの正確な場所を表示させたければ、
-b
オプションでファイルシステムのブロックサイズを指定して
mke2fs
を実行しなければならない。
代替スーパーブロックが指定され、
ファイルシステムが read-only 以外で open されている場合、
e2fsck はファイルシステムのチェックが終わったときに
プライマリのスーパーブロックを適切な値に更新するかどうかの
確認を求める。
-
-B
blocksize
-
通常
e2fsck
は、
適切なブロックサイズを探すために
スーパーブロックを様々なブロックサイズでサーチする。
この作業は無駄な場合がある。このオプションは、
ブロックサイズを指定してスーパーブロックをサーチするよう指定する。
スーパーブロックが見つからない場合、
e2fsck
は致命的なエラー (fatal error) で終了する。
-
-c
-
このオプションを指定すると
e2fsck
は
badblocks
(8) プログラムを呼び出してファイルシステムの不良ブロックを探し、
見つかったものを不良ブロック inode に加える。
このオプションが 2 つ指定されると、
不良ブロックのスキャンは非破壊的 read-write テストを用いて行われる。
-
-C
fd
-
このオプションを指定すると
e2fsck
は作業状況を指定したファイルディスクリプタに書き出し、
ファイルシステムのチェックの進行状況をモニターできるようにする。
このオプションは、
e2fsck
を動作させるプログラムから良く用いられる。
指定されたファイルディスクリプタが 0 の場合、
e2fsck
は作業を進めるごとに棒グラフを出力する。
この動作をさせるには、
e2fsck
をビデオコンソールか端末から実行する必要がある。
-
-d
-
デバッグ情報を出力する
(
e2fsck
をデバッグするときにしか役に立たない)。
-
-D
-
ファイルシステム中のディレクトリを最適化する。
このオプションを指定すると、
e2fsck はすべてのディレクトリを最適化しようとする。
ファイルシステムがディレクトリインデクシングをサポートしていれば、
インデックスを再生成する。
また従来の線形的なディレクトリ構造を使うファイルシステムでは、
小さなディレクトリから順にソートして圧縮する。
-
-E
extended_options
-
e2fsck に拡張オプションを設定する。
拡張オプション間はコンマで区切り、
等号 ('=') に続ける形で引数を取ることもできる。
次のオプションがサポートされている。
-
ea_ver=
extended_attribute_version
-
対象ファイルシステムの拡張属性ブロックのフォーマットを、
指定したバージョン番号のものであると仮定する。
バージョン番号には 1 または 2 が指定できる。
デフォルトの拡張属性フォーマットのバージョンは 2 である。
-
-f
-
ファイルシステムが clean な場合でも、強制的にチェックする。
-
-F
-
チェックを始める前に、ファイルシステムデバイスのキャッシュバッファを
フラッシュする。
e2fsck
を用いたタイムトライアルにのみ有用。
-
-j
external-journal
-
このファイルシステムの外部ジャーナルがあるパス名を設定する。
-
-k
-
-c
オプションと組み合わせると、
不良ブロックリストにある既存の不良ブロックは保存され、
badblocks
(8)
を実行して見つかった新たな不良ブロックが
既存の不良ブロックリストに追加される。
-
-l
filename
-
filename
で指定したファイルにリストされているブロック番号を
不良ブロックのリストに追加する。このファイルのフォーマットは
badblocks
(8) プログラムが出力するものと同じである。
ブロック番号はファイルシステムのブロックサイズに基づいていることに注意。
したがって正しい結果を得るためには
badblocks
(8) にファイルシステムのブロックサイズを与えなければならない。
よって、
e2fsck
に
-c
オプションを与える方が、ずっと単純かつ安全である。
このオプションを指定すれば、正しいパラメータが
badblocks
プログラムに渡ることになっている。
-
-L
filename
-
filename
で指定したファイルに書かれているブロックリストを、
不良ブロックのリストに指定する。
(このオプションは
-l
オプションとは異なり、ファイルにリストされているブロックを
不良ブロックリストに加える前に、
不良ブロックリストをいったんクリアする。)
-
-n
-
ファイルシステムを read-only で open し、全ての問いに対して「no」と答える。
e2fsck
を非対話的に動作させることができる。(注意:
-n
オプションに加えて
-c
,
-l
,
-L
のいずれかのオプションを付加した場合は、
不良ブロックリストを更新するためにファイルシステムは
read/write でオープンされる。
ただしファイルシステム自体は変更されない。)
-
-p
-
ファイルシステムを質問なしで自動的に修復 (preen) する。
-
-r
-
このオプションは何もしない。
過去との互換性のために準備されているだけである。
-
-s
-
このオプションはファイルシステムのバイトスワップ (エンディアンの変更) を行う。
すなわち、i386 やリトルエンディアンで標準的なバイトオーダーにする。
ファイルシステムがすでに標準的なバイトオーダーになっているならば、
e2fsck
は何もしない。
-
-S
-
ファイルシステムがバイトスワップされている場合でも、
現在のバイトオーダーを保つ。
-
-t
-
e2fsck
のタイミング統計 (statistics) を表示する。
このオプションを 2 つ指定すると、より詳細なタイミング統計が
次々と得られる。
-
-v
-
詳細な表示をする。
-
-V
-
バージョン情報を表示して終了する。
-
-y
-
全ての問いに対して「yes」と答える。これによって
e2fsck
を非対話的に動作させることができる。
返り値
e2fsck
の返り値は、以下の状態を表す数の和になる。
0-エラーなし
1-ファイルシステムのエラーが修正された
2-ファイルシステムのエラーが修正された。
システムをリブートしなければならない
4-ファイルシステムのエラーが修正されないまま
残っている
8-操作エラー
16-利用法・文法のエラー
32-e2fsck がユーザ要求によってキャンセルされた
128-共有ライブラリエラー
シグナル
以下のシグナルが
e2fsck
に送られると、記述されているような効果を及ぼす。
-
SIGUSR1
-
このシグナルを送ると
e2fsck
は作業状況の棒グラフの表示を始める
(
-C
オプションの記述を見よ)。
-
SIGUSR2
-
このシグナルを送ると
e2fsck
は作業状況の棒グラフの表示をやめる。
バグ報告
どんなソフトウェアにもバグはつきものである。
もしも
e2fsck
がクラッシュしたり、
e2fsck
によって修復できない事態が発生したりした場合は、
作者に連絡してほしい。
バグ報告にはできるだけ多くの情報を入れてほしい。
e2fsck
の完全な実行記録があれば、
私はどのようなエラーが発生しているかを確認することができる。
(
e2fsck
で表示されるメッセージが英語であることを確認してほしい。
e2fsck
のメッセージが他の言語に翻訳されるようにシステムが設定されている場合は、
環境変数
LC_ALL
を
C
に設定して、e2fsck の出力の実行記録が私にとって役立つようにしてほしい。)
実行記録を書き込むことのできるファイルシステムがあるなら、
script
(1) プログラムを用いれば、簡単に
e2fsck
の出力を保存できる。
dumpe2fs
(8) の出力も役に立つ。
特定の inode の不良が
e2fsck
の動作をおかしくしているようなら、
debugfs
(8) コマンドを起動し、該当する inode に対して
stat
コマンドを実行して、その出力を送ってほしい。
その inode がディレクトリである場合は、debugfs の
dump
コマンドを利用すれば、ディレクトリ inode の内容を取り出すことができる。
その内容を
uuencode
(1) にかければ、そのまま私に報告することができる。
バグを再現するためにユーザが送ることのできる最も有用なデータは、
e2image
(8) を使って生成されるファイルシステムの圧縮された raw イメージダンプである。
より詳細な情報は
e2image
(8) を参照すること。
私に報告する際には、どのバージョンなのか私にわかるよう、
e2fsck
の実行時に表示されるバージョン文字列を必ず入れてほしい。
著者
このバージョンの
e2fsck
は、Theodore Ts'o <tytso@mit.edu> によって作成された。
関連項目
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする