it-swarm-es.tech

¿Cuál es la diferencia entre fsck y e2fsck?

¿Cuál es la diferencia entre las herramientas de comprobación de errores de disco de Linux fsck y e2fsck?

31
Fred Hamilton

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.

32
hyperslug

fsck es un contenedor para el sistema de archivos específico fsck. * familia de herramientas. 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 informarlo como un error. Es casi seguro que está haciendo algo que no debería estar haciendo con fsck.

Sin embargo, fsck manejará la mayoría de las operaciones normales en un sistema de archivos.

15
user4358

En mi sistema tengo:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (más fsck.* herramientas para otros sistemas de archivos que no sean ext)

Ahora ninguno de estos son enlaces simbólicos pero e2fsck y el fsck.ext2/3/4 todas las 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 una interfaz 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 familia ext.

Supongo que la razón de tener los diversos fsck.ext2/3/4 files es así 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 trivialmente del tipo de sistema de archivos) y 2. por flexibilidad, para que sea trivial dividir el e2fsck en dos o herramientas más independientes si es necesario en el futuro.

5
Paul Ruane