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


回答:


29

fsckは単なる元の名前です。彼らが新しいファイルシステムを開発したとき、それぞれに特定のツール、ext用のefsck、ext2用のe2fsck、dosfsck、fsckvfatが必要になるでしょう。そのため、適切なツールを呼び出すだけのfsckをフロントエンドにしました。


うーん、どうやらfsckの「フロントエンド」をいくつかの一般的なタスクに使用できますが、すべてではありませんか?たとえば、-cオプション(superuser.com/questions/20010/…)は、e2fsckのマニュアルページに記載されていますが、fsckのマニュアルページには記載されています。
ジョニック2009

GPT fsckはありますか?
ジョナサン

@Jonathan fsckはファイルシステムをチェックしますが、GPTはパーティションテーブルそのものです。おそらくそれらをチェックできるツールはありますが、Macのディスクユーティリティ(またはコマンドラインdiskutil)以外に頭の上のものは考えられません。gpt少なくともMacでは、このコマンドには「バックアップテーブルから回復」オプションがあります。
シルバーウルフ-モニカの復活

15

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

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

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

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

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


5

私のシステムには次のものがあります。

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

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

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

  • fsck
  • e2fsck

そして、他の人が言ったように、fsck問題のファイルシステムに適切なツールを呼び出すフロントエンドであり、この場合はe2fsckextファミリーのファイルシステム用です。

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


@hyperslugの答えを読んだ後、すでに心臓発作を感じていたので、長い説明をありがとう:-)私はext3ファイルシステムを持っているので、e2fsckを実行しました。
greenoldman

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

これらの代替名は、実際にはあまり斑点の例であり、ハードリンク(ほとんどの人が精通しているシンボリック・リンクが、その困難兄弟はまた、彼らはこれに限定されているものの、それは使用しています持っているデバイス。)
SlySven
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.