fsckとe2fsckの違いって?

6月 20, 2009

LinuxサーバOS編。
fsckはLinuxファイルシステムの整合性をチェックし、不整合があった場合は修復するコマンド。
通常使用することはないと思われるが、ノーマルなシャットダウンやリブート以外で
電源がOFFになってしまった時などに利用される。

つまりファイルシステムの整合性が疑われるから、なんだろうけど、そういう意味で言うと、
それ以外でもファイルシステムに何らかの異常が発生した時に利用するってことになる。
どっちにしろ、fsckをしなければいけない時っていうのは「何か」あった時と考えてよい、と思われる。

追記
「何か」あったときだけではなく、ディスク拡張の時なんかにも普通に利用しますね。。


fsckはシングルユーザーモードで、対象のファイルシステムをアンマウントした状態で実施する。
e2fsckというのもある。やることは一緒。fsckとe2fsckの違いって・・・?

結論から言うと、「fsck、e2fsckどちらで実行しても構わない」ようだ。
ファイルシステムの種別に応じて実行すべきfsckプログラムが選択され、ext2/ext3であれば
e2fsckが実行され、ReiserFSであれば reiserfsckが実行される・・・とのこと。
つまり、fsckがe2fsckやreiserfsckを呼び出す、ってイメージかな。
(サラッと書いてるけど、実は、”reiserfsck”って今調べた時に初めて知った)

そういえば「fsck は、実際には Linux で利用できるさまざまなファイルシステムチェッカー
(fsck.fstype) への単なるフロントエンドにすぎない。」とmanに書いてあった。
うーむ、なるほど。

追記
実際に、fsckとe2fsckの両方を実行してみた。

# fsck -t ext3 /dev/sda1 ※fsck.ext3でも。
# e2fsck -y /dev/sda1


結果は当然ながら、同じ、でした。

関連記事
fsckの”-f”オプションって?
LVMとfsck


Categories: Linux