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

30

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

Fred Hamilton
fuente

Respuestas:

29

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.

hiperslug
fuente
Hmm, entonces aparentemente puedes usar el fsck "front-end" para algunas tareas comunes, ¿pero no para todo? Por ejemplo, la opción -c ( superuser.com/questions/20010/… ) se menciona en la página de manual de e2fsck pero en la de fsck.
Jonik
¿Hay un GPT fsck?
Jonathan
@ Jonathan fsck comprueba los sistemas de archivos, mientras que GPT es la tabla de particiones en sí. Probablemente haya una herramienta que pueda verificarlos, pero no puedo pensar en uno fuera de mi cabeza que no sea la Utilidad de Discos de Mac (o la línea de comandos diskutil). El gptcomando tiene una opción de "recuperación de la tabla de respaldo", al menos en Mac.
SilverWolf - Restablece a Mónica el
15

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.

nagul
fuente
5

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 todas e2fscklas fsck.ext2/3/4herramientas 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, fsckes simplemente un front-end que llama a la herramienta adecuada para el sistema de archivos en cuestión, que en este caso es e2fsckpara un sistema de archivos de la familia ext.

Supongo que la razón para tener los diversos fsck.ext2/3/4archivos 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.

Paul Ruane
fuente
Gracias por la explicación más larga, porque después de leer la respuesta @hyperslug ya estaba sintiendo un ataque al corazón :-) Tengo un sistema de archivos ext3 y ejecuté e2fsck.
Greenoldman
Ahora ninguno de estos son enlaces simbólicos, pero e2fsck y las herramientas fsck.ext2 / 3/4 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.) - ¿Por qué no? Esta es una forma particularmente * nix-ish de haciendo cosas y realmente podría ser el caso!
SlySven
Esos nombres alternativos son en realidad ejemplos del enlace rígido con menos manchas (la mayoría de las personas están familiarizadas con los enlaces simbólicos, pero su hermano más duro también lo usa aunque están confinados en el mismo dispositivo ).
SlySven