web-dev-qa-db-ja.com

fsckとe2fsckの違いは何ですか?

Linuxディスクエラーチェックツールのfsckとe2fsckの違いは何ですか?

31
Fred Hamilton

fsckは元の名前です。新しいファイルシステムが登場したときには、それぞれに固有のツール(extにはefsck、ext2にはe2fsck、dosfsck、fsckvfat)が必要でした。そのため、彼らはfsckをフロントエンドにし、適切なツールのどちらかを呼び出すだけにしました。

32
hyperslug

fsckは、ファイルシステム固有のラッパーですfsck。*ツールファミリ。これらは、(fsckマンページの)1つの警告と互換的に使用できます。

Fsckが理解できないオプションは、ファイルシステム固有のチェッカーに渡されます。 これらの引数は引数を取ってはなりません。fsckがどの引数がオプションを取り、どれがオプションを取らないかを正しく推測する方法がないためです。

-に続くオプションと引数は、ファイルシステム固有のオプションとして扱われ、ファイルシステム固有のチェッカーに渡されます。

Fsckは、ファイルシステム固有のチェッカーに任意に複雑なオプションを渡すようには設計されていないことに注意してください。 複雑なことをしている場合は、ファイルシステム固有のチェッカーを直接実行してください。 fsckに恐ろしく複雑なオプションと引数を渡して、期待どおりに動作しない場合は、気にしないでくださいバグとして報告します。ほぼ確実に、fsckで行うべきではないことを行っています。

ただし、fsckはファイルシステムでの通常の操作のほとんどを処理します。

15
user4358

私のシステムでは:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (もっと fsck.*他の非extファイルシステム用のツール)

これらはいずれもシンボリックリンクではありませんが、e2fsck そしてその fsck.ext2/3/4ツールはすべて同じiノードを共有するため、実際には同じファイルです。 (このバイナリーは、実行時に自身の名前を調べ、それが呼び出された名前に対して異なる動作をする可能性がありますが、私はそうではありません。)

したがって、次の2つのツールだけになります。

  • fsck
  • e2fsck

そして、他の人が言ったように、fsckは、問題のファイルシステム(この場合はe2fsckは、extファミリーのファイルシステムです。

いろいろな理由があると思いますfsck.ext2/3/4ファイルは、1.すべてのファイルシステムタイプを一般的に処理できるスクリプト(ファイルシステムタイプからfsckツール名を簡単に推定できる)を簡単に記述でき、2.柔軟性のため、e2fsckを2つに分割するのは簡単です。将来必要に応じて、より多くの独立したツール。

5
Paul Ruane