В чем разница между fsck и e2fsck?


Ответы:


29

fsck это просто оригинальное имя. Когда они выпустят новые файловые системы, им понадобится специальный инструмент для каждой из них: efsck для ext, e2fsck для ext2, dosfsck, fsckvfat. Поэтому они сделали fsck интерфейсом, который просто вызывает тот инструмент, который подходит.


Хм, так что, видимо, вы можете использовать fsck "front-end" для некоторых общих задач, но не для всего? Например, опция -c ( superuser.com/questions/20010/… ) упоминается на справочной странице e2fsck, но на странице fsck.
Джоник

Есть ли GPT fsck?
Джонатан

@Jonathan fsck проверяет файловые системы, а GPT - сама таблица разделов. Вероятно, есть инструмент, который может это проверить, но я не могу вспомнить ни одного из них, кроме дисковой утилиты Mac (или командной строки diskutil). У gptкоманды есть опция «восстановить из резервной копии», по крайней мере, на Mac.
Серебряный Волк - Восстановить Монику

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это просто внешний интерфейс, который вызывает соответствующий инструмент для рассматриваемой файловой системы, которая в данном случае предназначена e2fsckдля файловой системы ext семейства.

Я предполагаю, что причина наличия различных fsck.ext2/3/4файлов заключается в том, что: 1. легко написать сценарии, которые могут обрабатывать все типы файловых систем в общем (они могут определить имя инструмента fsck тривиально из типа файловой системы) и 2. для гибкости, так что это тривиально при необходимости разделить e2fsck на два или более независимых инструмента.


Спасибо за более длинное объяснение, потому что после прочтения ответа @hyperslug я уже ощущал сердечный приступ :-) У меня есть файловая система ext3, и я запустил e2fsck.
Гринольдман

Теперь ни одна из них не является символической ссылкой, но инструменты e2fsck и fsck.ext2 / 3/4 имеют один и тот же индекс, поэтому фактически являются одним и тем же файлом (Возможно, этот двоичный файл будет запрашивать собственное имя при запуске и вести себя по-разному для имени, с которым он вызывается, но я сомневаюсь, что это так.) - Почему бы и нет - это особенно * nix-ish способ делать вещи и может быть на самом деле!
SlySven

Эти альтернативные имена на самом деле являются примерами менее заметных жестких ссылок (большинство людей знакомы с символическими ссылками, но их более крепкий брат также использует их, хотя они ограничены тем же устройством .)
SlySven
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.