¿Cuál es la diferencia entre las herramientas de comprobación de errores de disco de Linux fsck y e2fsck?
30
fsck es solo el nombre original. Cuando salieran con nuevos sistemas de archivos necesitarían una herramienta específica para cada uno, efsck para ext, e2fsck para ext2, dosfsck, fsckvfat. Entonces hicieron fsck el front end que solo llama a la herramienta apropiada.
gpt
comando tiene una opción de "recuperación de la tabla de respaldo", al menos en Mac.fsck es un contenedor para la familia de herramientas fsck. * específicas del sistema de archivos . Se pueden usar indistintamente con una advertencia (de la página de manual de fsck):
Sin embargo, fsck manejará la mayoría de las operaciones normales en un sistema de archivos.
fuente
En mi sistema tengo:
fsck
fsck.ext2
fsck.ext3
fsck.ext4
e2fsck
fsck.*
herramientas para otros sistemas de archivos que no sean ext)Ahora ninguno de estos son enlaces simbólicos, pero todas
e2fsck
lasfsck.ext2/3/4
herramientas comparten el mismo inodo, por lo que en realidad son el mismo archivo. (Es posible que este binario interrogue su propio nombre cuando se ejecuta y se comporte de manera diferente para el nombre con el que se invoca, pero dudo que este sea el caso).Así que ahora solo tenemos dos herramientas:
fsck
e2fsck
Y, como han dicho otros,
fsck
es simplemente un front-end que llama a la herramienta adecuada para el sistema de archivos en cuestión, que en este caso ese2fsck
para un sistema de archivos de la familia ext.Supongo que la razón para tener los diversos
fsck.ext2/3/4
archivos es que 1. es fácil escribir scripts que pueden manejar todos los tipos de sistemas de archivos de forma genérica (pueden deducir el nombre de la herramienta fsck de manera trivial del tipo de sistema de archivos) y 2. por flexibilidad, para que sea trivial dividir el e2fsck en dos o más herramientas independientes si es necesario en el futuro.fuente