Cómo reparar el sistema de archivos en forma automática con fsck

tune2fs

Con el paso del tiempo el costo del hardware es cada vez más bajo y su capacidad cada vez mayor, pero si algo importante llevamos en nuestros ordenadores es la información allí alojada, por lo cual podríamos decir casi sin temor a equivocarnos que el disco duro es la parte que más debiera preocuparnos. Por desgracia esto no siempre se logra y muchos usuarios dejan su salud librada al azar, hasta que cuando finalmente algo malo sucede ya es tarde para lamentos y se pierden valiosos documentos, imágenes, vídeos o incluso música.

El tema es que con un poco de trabajo podemos dejar todo muy bien acomodado para que el sistema se encargue de revisar en forma automática el estado de nuestro sistema de archivos para determinar si todo está en orden, y esto en Linux lo podemos hacer mediante un veterano que todavía tiene mucho para dar: el comando fsck. Claro que luego cada distro tiene su forma de hacer las cosas, así que veamos como configurarlo en las distros más importantes.

En el caso de Debian y sus derivadas (por ejemplo Ubunto o Linux Mint, nos basamos en el archivo /etc/default/rcS, el cual abrimos para edición:

sudo gedit /etc/default/rcS

Luego añadimos:

FSCKFIX=yes

En el caso de CentOS, por ejemplo, las cosas son distintas y nos basamos en el archivo /etc/sysconfig/autofsck el cual también abrimos para editar (en mi caso, con Gedit):

sudo gedit /etc/sysconfig/autofsck

Luego añadimos una línea en dicho archivo:

AUTOFSCK_DEF_CHECK=yes

Ahora bien, esos pasos que indicamos en los párrafos anteriores sirven para cuando queremos ejecutar el chequeo mediante fsck en cada inicio del sistema, y aunque está muy bien puede llegar a demorarnos mucho si nuestras unidades de disco y particiones son muy grandes. Por ello, podemos aprovechar las ventajas que nos ofrece otra herramienta de Linux llamada tune2fs, que entre otras cosas nos posibilita realizar chequeos periódicos a nuestro sistema de archivos para que estos se realicen cada tanto pero no en cada inicio de nuestro ordenador.

Primero comprobamos el estado de la configuración actual, ejecutando:

sudo tune2fs -l /dev/sda1

Podemos analizar lo que me entrega el ordenador cuando yo lo ejecuto, y para ello tenemos que prestar atención a algunos de los parámetros en los que tune2fs se fija. Por ejemplo, ‘Filesystem state’, que como vemos en la imagen superior de este post en mi caso me marca ‘clean’ y eso es un buen comienzo. Sin embargo no hay que dejarse engañar, y debajo vemos otros parámetros igualmente importantes que no son tan positivos.

Por ejemplo ‘Mount count’, que nos indica la cantidad de veces que nuestro sistema de archivos ha de ser montado antes de volver a realizar un chequeo y que en mi caso es de 270, un número muy alto, eso sin dejar de lado que la última vez que se ejecutó fsck en mi sistema fue el 7 de mayo del año 2013. Otro es el de ‘Check interval’, que nos indica el tiempo máximo en meses que queremos dejar pasar sin realizar este chequeo de integridad; si está establecido en 0 como en mi caso no se tomará en cuenta.

Si queremos que el chequeo se ejecute cada 30 inicios del sistema:

sudo tune2fs -c 30 /dev/sda1

Si queremos que como máximo se dejen pasar 3 meses antes de volver a realizar el chequeo:

sudo tune2fs -i 3m /dev/sda1

Pero si en algo se diferencia Linux es en el hecho de ofrecernos multitud de opciones, así que a todo lo mencionado podemos añadir la posibilidad de realizar el chequeo de integridad de nuestro sistema de archivos en el próximo inicio del sistema, es decir que lo hacemos por demanda y por una única vez.

Para ello ejecutamos:

sudo touch /forcefsck

Con esto creamos un archivo vacío llamado forcefsck, que estará ubicado en el directorio raíz y gracias a esto la próxima vez que se inicie el equipo se realizará el chequeo del sistema de archivos mediante fsck, y luego de ello este archivo será eliminado en forma automática por lo que en inicios subsiguientes ya no será realizado.

Como vemos, en Linux las posibilidades siempre son muchas y gracias a ello podemos adaptar esta funcionalidad tan importante a nuestras necesidades, sobre todo por lo valioso de toda la información que tenemos alojada en nuestros discos duros. De esta manera podemos realizar un chequeo de integridad en forma manual cuando sepamos que no vamos a necesitar el ordenador y por lo tanto no nos preocupa lo que pueda llegar a demorar, o bien hacerlo en forma programada cada una cierta cantidad de reinicios del sistema.


5 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   domingopv dijo

    escribi en el terminal sudo tune2fs -l /dev/sda1 y me salio lo siguiente;
    domingopv@pc1:~$ sudo tune2fs -l /dev/sda1
    [sudo] password for domingopv:
    tune2fs 1.42.9 (4-Feb-2014)
    tune2fs: Bad magic number in super-block mientras se intentaba abrir /dev/sda1
    No se pudo encontrar un superbloque válido para el sistema de ficheros.
    domingopv@pc1:~$
    ¿que quiere decir esto?

  2.   juan dijo

    Que te metistes en una kagada de sistema operativo igual que yo y ahora no se como salir de esto

  3.   HugoDes dijo

    cuando indican /dev/sda1 estan asumiendo que tienes instalado linux en esa particion.

    debes revisar primero donde esta instalado tu linux (puedes usar gparted) y colocar la particion correcta ( ejemplo /dev/sda7)

  4.   America dijo

    Saludos, es 100 % necesario desmonstar el disco y si es asi, como se desmonta y luego volver a montarlo?
    tengo centos 7.

  5.   Jorge dijo

    Gracias. Un saludo desde Perillo (Oleiros) – A Coruña.