lunes, 4 de julio de 2022

fsck: comando comprobar sistema ficheros en Linux

Fsck (file system consistency check - verificación de consistencia del sistema de archivos) es una utilidad de línea de comandos desarrollada para analizar y reparar errores en el sistema de archivos del sistema.

 


 

Un sistema de archivos hace referencia a los métodos y estructuras de datos que posee el sistema operativo los cuales a su vez usa para seguir la secuencia de los archivos de un disco o partición, en otras palabras, el sistema de archivos permite organizar los archivos en el disco.

 

La comprobación de fsck puede hacerse de forma automática durante el tiempo de arranque o ejecutarse manualmente si es necesario. fsck se usa para verificar y opcionalmente reparar uno o más sistemas de archivos Linux, los elementos del sistema de archivos (filesys) puede abarcar valores como:

 

  • Nombre de dispositivo (/dev/hdc1, /dev/sdb2)
  • Un punto de montaje (/, /usr, /home)
  • Una etiqueta (ext2, ext3)
  • Un especificador UUID (UUID = 8868abf6-88c5-4a83- 98b8-bfc24057f7bd o LABEL = root).

 

¿Qué es Fsck?

Fsck es un programa de línea de comandos. Fsck son las siglas de File System Check o File System Consistency Check, una utilidad antigua presente en los sistemas operativos tipo Unix, como Linux, macOS, Solaris, BSD, etc. Se emplea, como su propio nombre indica, para manejar algunos errores físicos y recuperar información que sigue siendo legible de un disco duro o partición. Se puede usar de forma manual o automatizar su ejecución al inicio del sistema operativo para detectar alguna anomalía y tratar de solventarla.

Existe un equivalente en DOS y Windows llamado CHKDSK o Checkdisk. Este otro programa de línea de comandos también sirve para comprobar la integridad de las unidades de disco duro, y reparar errores lógicos del sistema de archivos. En los sistemas basados en Windows NT, también puede verificar físicamente la integridad de los discos, particiones, y sectores dañados y tratar de recuperar información que sigue siendo legible.

Si se usa la opción –help de fsck se puede ver en la consola las opciones que tiene este comando y la sintaxis básica de uso, que se corresponde con:


fsck -opción /dev/sdXx

Siendo -opción alguna o algunas de las opciones disponibles de fsck y /dev/sdXx el nombre de la unidad de disco duro o sistema de archivos a revisar. En cuanto a las opciones disponibles más empleadas son:

  • -A: es la opción automática, comprobando todos los sistemas de archivos, aunque no es la opción recomendable.
  • -C: mostrará la barra de progreso.
  • -l: bloquea el dispositivo con el que se está trabajando para garantizar el acceso en exclusividad y evitar corrupción de archivos por otros usos simultáneos.
  • -M: no comprobará los sistemas de archivos que se encuentren montados, solo los desmontados.
  • -N: no se ejecuta el fsck, simplemente es una simulación, mostrando lo que ocurriría si se ejecutase. Puede ser una buena prueba para ver qué pasa cuando no se está muy seguro.
  • -P: comprueba los sistemas de archivos en paralelo, también se incluye el / o raíz.
  • -r: se puede usar con -A para que se salte la comprobación del sistema de archivos raíz o /.
  • -s: serializará las operaciones de comprobación.
  • -T: no mostrará el título durante el arranque.
  • -t: va seguido del tipo de sistemas de archivos o FS que se quiere que se comprueben.
  • -V: es el modo verbose, para que muestre en pantalla información de lo que está haciendo.
  • –help: muestra el menú de ayuda para que lo tengas presente.
  • –version: muestra la versión de fsck.

En muchos casos, se ejecuta sin opciones, simplemente indicando la unidad que se desea comprobar. En cuanto a la salida o código de salida, verás que aparecen una serie de números que tienen el siguiente significado:

 

  • 0 – No se han encontrado errores.
  • 1 – Los errores encontrados se han corregido.
  • 2 – El sistema debería reiniciarse.
  • 4 – Los errores encontrados se han dejado sin corregir.
  • 8 – Error operacional.
  • 16 – Error de uso o de sintaxis.
  • 32 – Fsck cancelado por petición del  usuario.
  • 128 – Error en biblioteca compartida.

 

Por último, agregar también que en Linux, fsck se puede usar tal cual para cualquier sistema de archivos o se puede usar una herramienta específica para uno concreto. Por ejemplo: fsck.ext2, fsck.ext3, fsck.ext4,… Puedes usar el siguiente comando para listar todos los que tienes a tu disposición:


cd /sbin
ls fsck*

Si por algo no se encuentra disponible para el FS que quieres emplear, fsck mostrará un error tipo «fsck: fsck.ntfs not found«.

 


Ejemplos prácticos de uso

Si prefieres ver algunos ejemplos prácticos de uso, aquí tienes algunos ejemplos que podrás modificar según el nombre de tu disco o sistema de archivos para operar sobre él:

*Nota: se aconseja tener la unidad sobre la que se va a operar desmontada, no trabajar con la unidad montada o podría haber problemas.

Para ver los nombres de las particiones y su numeración, puedes usar alguno de los siguientes comandos:


cat /etc/fstab
sudo fdisk -l
parted /dev/sda 'print'

Lo siguiente es desmontar el medio que vas a analizar por seguridad, para ello, puedes usar:

sudo umount /dev/sdc

Siendo /dev/sdc el nombre del disco a desmontar, aunque puede ser el que necesites en tu caso de los listados con los anteriores comandos. Ahora que ya conoces todo esto, ya puedes saber cómo usarlos con fsck. Por ejemplo:

  • Comprobar una partición específica con fsck, para ver si tiene errores de algún tipo y comprobar si se pueden subsanar. Ya sabes que te dará una serie de códigos como la listada anteriormente que podrás interpretar una vez finalice el proceso:
sudo /dev/sda7
  • Si deseas comprobar todos los sistemas de archivos que están listados en /etc/fstab, entonces puedes usar la opción -A de este modo:
sudo fsck -A
  • Lo mismo que el anterior, pero excluyendo el root / de la prueba:
sudo fsck -Ar -y
  • Si solo quisieras analizar un tipo de FS, por ejemplo ext4, entonces puedes usar este otro comando:
sudo fsck -t ext4 -y
  • También podrías analizar todos los demás menos un tipo de FS:
sudo fsck -t noext4 -y
  • No comprobará los sistemas montados:
sudo fsck -M /dev/sda
  • Forzar el chequeo:
sudo fsck -f /dev/sda
  • Reportar los errores pero no repararlos:
sudo fsck -n /dev/sda
  • Reparar automáticamente lo que está dañado:
sudo fsck -a /dev/sda8

 

 Fuentes:
https://www.profesionalreview.com/2022/07/03/fsck/

https://www.solvetic.com/tutoriales/article/6126-comando-fsck-linux-para-reparar-error-sistema-de-archivos/

No hay comentarios:

Publicar un comentario