fsck和e2fsck有什么区别?


Answers:


29

fsck只是原始名称。当他们推出新的文件系统时,他们将需要为每个文件系统使用特定的工具,efsck用​​于ext,e2fsck用​​于ext2,dosfsck,fsckvfat。因此,他们使fsck成为仅调用适当工具中任何一个的前端。


嗯,所以显然您可以将fsck“前端”用于一些常见任务,但不能用于所有任务?例如,e2fsck手册页中提到了-c选项(superuser.com/questions/20010/…),而fsck中提到了-c选项。
约尼克,

是否有GPT fsck?
乔纳森

@Jonathan fsck检查文件系统,而GPT是分区表本身。可能有一种工具可以检查这些内容,但是除了Mac的Disk Utility(或命令行diskutil)之外,我想不出什么。该gpt命令至少在Mac上确实具有“从备份表恢复”选项。
SilverWolf-恢复莫妮卡

15

fsck是特定于文件系统的fsck。*系列工具的包装。它们可以与一个警告互换使用(来自fsck联机帮助页):

fsck无法理解的选项将传递给特定于文件系统的检查器。 这些参数一定不能带有参数,因为fsck无法正确猜测哪些参数带有选项,哪些没有。

-之后的选项和参数被视为要传递给文件系统特定检查器的文件系统特定选项。

请注意,fsck并非旨在将任意复杂的选项传递给特定于文件系统的检查器。 如果您要执行复杂的操作,请直接执行特定于文件系统的检查器。 如果您通过fsck传递了一些非常复杂的选项和参数,但是它没有达到您的期望,请不要将其报告为错误。几乎可以肯定,您正在做fsck不应该做的事情。

但是,fsck将处理文件系统上的大多数正常操作。


5

在我的系统上,我有:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ...(fsck.*其他非扩展文件系统的更多工具)

现在这些都不是符号链接,但是e2fsck这些fsck.ext2/3/4工具都共享相同的索引节点,因此实际上是相同的文件。(该二进制文件在运行时可能会询问自己的名称,并且其调用名称的行为可能有所不同,但我怀疑情况确实如此。)

因此,我们现在只能使用两种工具:

  • fsck
  • e2fsck

而且,正如其他人所说的,fsck它只是一个前端,它为所涉及的文件系统调用适当的工具,在这种情况下,该工具用于e2fsckext系列文件系统。

我认为拥有各种fsck.ext2/3/4文件的原因是:1.编写可以通用地处理所有文件系统类型的脚本很容易(它们可以从文件系统类型中简单地推导出fsck工具名称); 2。灵活性,因此很简单在将来需要时将e2fsck分为两个或更多独立工具。


感谢您的详细解释,因为在阅读@hyperslug答案后,我已经感觉到心脏病发作:-)我有ext3文件系统,并且运行了e2fsck。
greenoldman

现在这些都不是符号链接,但是e2fsck和fsck.ext2 / 3/4工具都共享相同的索引节点,因此实际上是相同的文件。(有可能该二进制文件在运行时会询问其自身名称,并且其调用名称的行为也有所不同,但我怀疑是这种情况。) -为什么不这样做-这是一种特别* nix-ish的方式做事,实际上可能是这样!
SlySven

这些替代名称实际上是不易发现的链接的示例(大多数人都熟悉符号链接,但虽然更硬的兄弟也将其使用,尽管它们仅限于同一设备。)
SlySven
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.