В чем разница между инструментами проверки ошибок на Linux-дисках fsck и e2fsck?
В чем разница между инструментами проверки ошибок на Linux-дисках fsck и e2fsck?
Ответы:
fsck это просто оригинальное имя. Когда они выпустят новые файловые системы, им понадобится специальный инструмент для каждой из них: efsck для ext, e2fsck для ext2, dosfsck, fsckvfat. Поэтому они сделали fsck интерфейсом, который просто вызывает тот инструмент, который подходит.
gptкоманды есть опция «восстановить из резервной копии», по крайней мере, на Mac.
fsck - это оболочка для семейства инструментов fsck. * для файловой системы . Их можно использовать взаимозаменяемо с одним предупреждением (из справочной страницы fsck):
Опции, которые не понятны fsck, передаются в файловую систему проверки. Эти аргументы не должны принимать аргументы, так как fsck не может правильно угадать, какие аргументы принимают параметры, а какие нет.
Опции и аргументы, следующие за - обрабатываются как специфичные для файловой системы опции, которые передаются в специфичную для файловой системы проверку.
Обратите внимание, что fsck не предназначен для передачи произвольно сложных опций в специфичные для файловой системы средства проверки. Если вы делаете что-то сложное, просто запустите проверку файловой системы напрямую. Если вы передаете fsck какой-то ужасно сложный параметр и аргументы, и он не делает то, что вы ожидаете, не стесняйтесь сообщать об этом как об ошибке. Вы почти наверняка делаете то, что не должны делать с fsck.
Тем не менее, fsck будет обрабатывать большинство обычных операций в файловой системе.
В моей системе у меня есть:
fsckfsck.ext2fsck.ext3fsck.ext4e2fsckfsck.*инструментов для других, не внешних файловых систем)Теперь ни один из них не символические ссылки , но e2fsckи fsck.ext2/3/4инструменты используют один индексный дескриптор так, на самом деле тот же файл. (Возможно, этот двоичный файл будет запрашивать собственное имя при запуске и вести себя по-разному для имени, с которым он вызывается, но я сомневаюсь, что это так.)
Итак, теперь у нас осталось всего два инструмента:
fscke2fsckИ, как уже говорили другие, fsckэто просто внешний интерфейс, который вызывает соответствующий инструмент для рассматриваемой файловой системы, которая в данном случае предназначена e2fsckдля файловой системы ext семейства.
Я предполагаю, что причина наличия различных fsck.ext2/3/4файлов заключается в том, что: 1. легко написать сценарии, которые могут обрабатывать все типы файловых систем в общем (они могут определить имя инструмента fsck тривиально из типа файловой системы) и 2. для гибкости, так что это тривиально при необходимости разделить e2fsck на два или более независимых инструмента.