Los sistemas de archivos de Linux son responsables de organizar cómo se almacena y recupera datos. De una forma u otra, con el tiempo, el sistema de archivos puede corromperse y ciertas partes de él pueden volverse inaccesibles. Si su sistema de archivos desarrolla tal inconsistencia, se recomienda verificar su integridad.
Esto puede realizarse a través de una utilidad del sistema llamada fsck (comprobación de consistencia del sistema de archivos), que verifica automáticamente el sistema de archivos raíz durante el tiempo de arranque o se ejecuta manualmente.
En este artículo, vamos a revisar el comando fsck y su uso para ayudarlo a reparar errores de disco en Linux.
Tabla de contenidos
Cuándo usar el comando fsck en Linux
Existen diferentes escenarios en los que querrás ejecutar fsck. Aquí tienes algunos ejemplos:
- El sistema no arranca.
- Los archivos en el sistema se corrompen (a menudo se pueden observar errores de entrada/salida).
- La unidad conectada (incluidas las unidades flash/tarjetas SD) no funciona como se espera.
Opciones del comando fsck
El comando fsck debe ejecutarse con privilegios de superusuario o root. Puedes usarlo con diferentes argumentos. Su uso depende de tu caso específico. A continuación verás algunas de las opciones más importantes:
-A
– Usado para verificar todos los sistemas de archivos. La lista se toma de/etc/fstab
.-C
– Mostrar barra de progreso.-l
– Bloquea el dispositivo para garantizar que ningún otro programa intentará usar la partición durante la comprobación.-M
– No comprueba sistemas de archivos montados.-N
– Solo muestra lo que se haría, no se realizan cambios reales.-P
– Si desea comprobar sistemas de archivos en paralelo, incluido el raíz.-R
– No comprueba el sistema de archivos raíz. Esto es útil solo con ‘-A
‘.-r
– Proporciona estadísticas para cada dispositivo que se está comprobando.-T
– No muestra el título.-t
– Especifica exclusivamente los tipos de sistema de archivos de Linux que se van a comprobar. Los tipos pueden ser listas separadas por comas.-V
– Proporciona una descripción de lo que se está haciendo.
Ejecute el comando fsck para reparar errores en el sistema de archivos de Linux
Para ejecutar fsck, deberá asegurarse de que la partición que va a comprobar no esté montada. Para el propósito de este artículo, utilizaré mi segunda unidad /dev/sdb
montada en /mnt
.
Esto es lo que sucede si intento ejecutar fsck cuando la partición está montada.
# fsck /dev/sdb

Para evitar esto, desmonte la partición usando.
# umount /dev/sdb
Luego fsck se puede ejecutar de forma segura.
# fsck /dev/sdb

Comprendiendo los códigos de salida de fsck
Después de ejecutar fsck, devolverá un código de salida. Estos códigos pueden verse en el manual de fsck ejecutando:
# man fsck 0 No errors 1 Filesystem errors corrected 2 System should be rebooted 4 Filesystem errors were left uncorrected 8 Operational error 16 Usage or syntax error 32 Checking canceled by user request 128 Shared-library error
Reparación de Sistema de Archivos Linux con fsck
A veces se pueden encontrar más de un error en un sistema de archivos. En tales casos, es posible que desee que fsck intente corregir los errores automáticamente. Esto se puede hacer con:
# fsck -y /dev/sdb
La bandera -y
, que responde automáticamente "sí"
a cualquier indicación de fsck para corregir un error.
De manera similar, puede ejecutar lo mismo en todos los sistemas de archivos (sin root):
$ fsck -AR -y
Cómo Ejecutar fsck en la Partición Raíz de Linux
En algunos casos, es posible que necesite ejecutar fsck en la partición root de su sistema. Dado que no puede ejecutar fsck mientras la partición está montada, puede probar una de estas opciones:
- Forzar fsck al iniciar el sistema
- Ejecutar fsck en modo de rescate
Revisaremos ambas situaciones.
Forzar fsck al Iniciar el Sistema
Esto es relativamente fácil de completar, lo único que necesitas hacer es crear un archivo llamado forcefsck en la partición raíz de tu sistema. Utiliza el siguiente comando:
# touch /forcefsck
Entonces simplemente puedes forzar o programar un reinicio de tu sistema. Durante el próximo arranque, se realizará el fsck. Si el tiempo de inactividad es crítico, se recomienda planificar esto cuidadosamente, ya que si hay muchos inodos utilizados en tu sistema, fsck puede tardar un poco más.
Después de que tu sistema arranque, verifica si el archivo todavía existe:
# ls /forcefsck
Si lo hace, es posible que desees eliminarlo para evitar fsck en cada arranque del sistema.
Ejecutar fsck en Modo de Rescate
Ejecutar fsck en modo de rescate requiere algunos pasos adicionales. Primero, prepara tu sistema para el reinicio. Detén cualquier servicio crítico como MySQL/MariaDB etc y luego escribe:
# reboot
Durante el arranque, mantén presionada la tecla shift
para que se muestre el menú de grub. Selecciona “Opciones avanzadas“.

Luego elige “Modo de recuperación“.

En el siguiente menú selecciona “fsck“.

Se te preguntará si deseas que se vuelva a montar tu sistema de archivos /
. Selecciona "sí"
.

Deberías ver algo similar a esto.

Reanudar.

Conclusión
En este tutorial, aprendiste cómo usar fsck y ejecutar comprobaciones de consistencia en diferentes sistemas de archivos de Linux. Si tienes alguna pregunta sobre fsck, no dudes en enviarlas en la sección de comentarios a continuación.
Source:
https://www.tecmint.com/fsck-repair-file-system-errors-in-linux/