¿Cuál es la diferencia entre las herramientas de comprobación de errores de disco de Linux fsck y e2fsck?
¿Cuál es la diferencia entre las herramientas de comprobación de errores de disco de Linux fsck y e2fsck?
Respuestas:
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):
Las opciones que fsck no entiende se pasan al verificador específico del sistema de archivos. Estos argumentos no deben tomar argumentos, ya que no hay forma de que fsck pueda adivinar correctamente qué argumentos toman opciones y cuáles no.
Las opciones y argumentos que siguen a - se tratan como opciones específicas del sistema de archivos que se pasan al verificador específico del sistema de archivos.
Tenga en cuenta que fsck no está diseñado para pasar opciones arbitrariamente complicadas a los verificadores específicos del sistema de archivos. Si está haciendo algo complicado, simplemente ejecute el verificador específico del sistema de archivos directamente. Si pasa fsck alguna opción y argumentos horriblemente complicados, y no hace lo que espera, no se moleste en informarlo como un error. Es casi seguro que estás haciendo algo que no deberías hacer con fsck.
Sin embargo, fsck manejará la mayoría de las operaciones normales en un sistema de archivos.
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
las fsck.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 es e2fsck
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.