В чем разница между инструментами проверки ошибок на Linux-дисках fsck и e2fsck?
30
fsck это просто оригинальное имя. Когда они выпустят новые файловые системы, им понадобится специальный инструмент для каждой из них: efsck для ext, e2fsck для ext2, dosfsck, fsckvfat. Поэтому они сделали fsck интерфейсом, который просто вызывает тот инструмент, который подходит.
gpt
команды есть опция «восстановить из резервной копии», по крайней мере, на Mac.fsck - это оболочка для семейства инструментов fsck. * для файловой системы . Их можно использовать взаимозаменяемо с одним предупреждением (из справочной страницы fsck):
Тем не менее, fsck будет обрабатывать большинство обычных операций в файловой системе.
источник
В моей системе у меня есть:
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 на два или более независимых инструмента.источник