Al administrar y usar cualquier sistema operativo, este tiene muchos componentes a nivel interno, pero uno de los más vitales para todo el óptimo funcionamiento son los sistemas de archivos. Básicamente 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.
El disco duro es uno de los elementos fundamentales dentro de nuestros equipos ya que es en él donde tenemos guardada nuestra información pero además interviene en el proceso de arranque de Linux del sistema. Por eso una buena conservación del disco nos asegura un buen funcionamiento a largo tiempo del PC. En ocasiones nos encontramos con errores de disco Linux y por eso debemos tener herramientas como el comando fsck linux que nos ayude a reparar este tipo de problemas.
- Sistemas de archivos de disco.
- Sistemas de archivos de red.
- Sistemas de archivos de propósito especial.
- Errores de lectura y escritura
- Presencia de virus o malware
- Fallos a nivel de hardware
- El sistema no arranca.
- Las unidades no responden
- Fallos propios del sistema y más.
En caso de que el sistema de archivos de la distribución de Linux usada esta inestable, presente errores de desempeño y fiabilidad, como administradores o usuarios debemos proceder a validar su integridad y para esto disponemos de una utilidad llamada fsck la cual Solvetic explicará en detalle.
Esta 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).
Por defecto, fsck intentará gestionar sistemas de archivos en diferentes unidades del disco físico de forma paralela para reducir la cantidad total de tiempo necesario en el proceso de verificación. Si no se especifica ningún sistema de archivos en la línea de comandos, y la opción -A no está indicada, fsck ejecutará la verificación de los sistemas de archivos en el directorio /etc/fstab en serie.
- -A: Aplica para para comprobar todos los sistemas de archivos. El origen de la lista es /etc/fstab.
- -C: Despliega la barra de progreso.
- -l: Bloquea el dispositivo con el fin de garantizar que ningún otro programa intentará usar la partición durante la verificación y así causar errores
- -M: No verifica los sistemas de archivos montados.
- -N: despliega la acción a realizar mas no la ejecuta realmente.
- -P: Permite comprobar los sistemas de archivos en paralelo, incluyendo root.
- -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 despliega el título.
- -t: Nos permite especificar de forma exclusiva los tipos de sistemas de archivos a verificar. Los tipos pueden ser una lista separada por comas.
- -V: Ofrece una descripción de la acción realizada.
- 0: Sin errores
- 1: Errores del sistema de archivos corregidos
- 2: El sistema debe ser reiniciado
- 4: Errores del sistema de archivos dejados sin corregir
- 8: Error operacional
- 16: Error de uso o sintaxis
- 32: Comprobación cancelada por solicitud del usuario
- 128: Error de biblioteca compartida
1. Desmontar partición Linux con fsck
Para ejecutar fsck de forma correcta es necesario que la partición a verificar no esté montada, si intentamos ejecutar fsck en una unidad montada veremos lo siguiente:
sudo fsck /dev/sda1
En este caso debemos desmontar dicha unidad ejecutando:
umount /dev/sda1
Una vez desmontado, ejecutamos de nuevo el comando sobre la partición a analizar, en este caso hemos creado una nueva partición, así: “sudo fsck /dev/sdb” y este será el resultado:
sudo fsck /dev/sdb
2. Reparar disco duro Linux fsck
En caso tal de que fsck detecte errores en el sistema de archivos podemos ejecutar la siguiente línea para que fsck intente corregir los errores automáticamente:
sudo fsck -y /dev/sdb
El parámetro “-y”, automáticamente dice "sí" a cualquier solicitud de fsck para corregir un error en Linux. Asimismo, es posible ejecutar lo mismo en todos los sistemas de archivos (sin root) de la siguiente forma:
fsck -AR -y
Podemos tener otras tareas importantes en las que usar el comando fsck
- Forzar a fsck a que sea ejecutado en el arranque del sistema
- Ejecutar fsck en modo de rescate
touch /forcefsckDespués de esto vamos a forzar o programar un reinicio del sistema, de este modo, durante el próximo arranque, se ejecutará el comando fsck. Después de que el sistema arranque, podemos verificar si el archivo aún existe con el siguiente comando:
ls /forcefsck
3. Cómo ejecutar fsck en modo rescate
Para este proceso el primer paso es detener cualquier servicio crítico, después de esto, reiniciar el sistema con el comando “reboot”.
En la ventana de inicio seleccionamos la línea “Opciones avanzadas para Ubuntu”:
En la siguiente ventana seleccionaremos la línea (recovery mode):
En la próxima ventana seleccionamos la línea “fsck”:
Se desplegará el siguiente mensaje indicando si se desea volver a montar el sistema de archivos /, seleccionamos "sí":
Iniciará el proceso de análisis del sistema de archivos de Linux:
Una vez concluya será desplegada la siguiente ventana:
Allí seleccionamos la línea resume para continuar con el arranque normal del sistema. Recordemos que fsck toma la lista de origen en el directorio /etc/ fstab, podemos listar el contenido de dicho directorio para saber qué partición será analizada ejecutando la siguiente línea:
cat /etc/fstab
En este directorio se encuentran ciertas variables que afectan el comportamiento de fsck, estas son.
- Comprobar solo un tipo de sistema de archivos:
fsck -AR -t ext2 -y
- No ejecutar fsck en unidades montadas
mount | grep "/dev/sd*"
- Omitir el título desplegada a la salida de los resultados
fsck -TAR
- Reparar automáticamente daños
fsck -a -AR
El comando fsck es una solución integral para optimizar el uso del sistema de archivos de Linux y comprobar de forma periódica su estado. De esta forma con el comando fsck ubuntu podemos comprobar errores disco linux además de corregir errores disco linux fácilmente usando fsck.