3.14.- Revisar sistemas de ficheros

tux-navegandoPoner a punto un sistema de ficheros es una tarea que, posiblemente,  tengamos que desarrollar de vez en cuando si tenemos que realizar algún cambio importante en alguna instalación. También hay una tarea aún más común que es la de revisar un sistema de ficheros buscando errores. Los errores y los fallos de alimentación nos puede corromper una estructura de datos en un sistema de ficheros. Para eso Linux incluye herramientas para verificar para verificar la integridad de un sistema de ficheros y para corregir los problemas que pudiera encontrar. La herramienta principal que usaremos para esta finalidad es fsck.

Veamos los parámetros más comunes de fsck:

  • Revisar todos los ficheros.- La opción -A hace que fsck verifique los sistemas de ficheros marcados para la revisión en /etc/fstab. Esta opción se suele utilizar en scripts de inicio del sistema.fsck_A
  • Indicar el progreso.- La opción -C nos muestra un indicador de progreso en modo texto del proceso de revisión. La mayoría de los programas de revisión del sistema de ficheros no incluyen esta característica, pero e2fsck sí.
  • Mostrar una salida detallada.- La opción -V produce una salida al detalle del proceso de revisión.fsck_V
  • Sin acciones.- La opción -N hace que fsck nos muestre una simulación de lo que haría normalmente.fsck_N
  • Definir el sistema de ficheros.- Generalmente, fsck determina automáticamente el tipo de ficheros, aunque también podemos forzar otro tipo con el indicador -t tiposf. Utilizado junto a -A, hace que el programa verifique sólo los tipos de sistema de ficheros especificados, incluso aunque haya otros marcados para revisión. Si ponemos el prefijo no a tiposf , entonces se revisarán todos los sistemas de ficheros a excepción al del tipo especificado.
  • Opciones específicas del sistema de ficheros.- Los programas de revisión para ficheros específicos, generalmente, poseen sus propias opciones. El comando fsck le pasa las opciones que no entiende o aquellas que llevan un doble guión (--) al programa de revisión bajo él. Entre las opciones habituales se encuentran -a o -p (que realiza una comprobación automática), -r (realiza la comprobación interactiva) y -f (que fuerza una comprobación completa del sistema de ficheros aunque el sistema de ficheros parezca inicialmente limpio).
  • Lista e sistemas de ficheros.- El último parámetro suele ser el nombre del fichero o los sistemas de ficheros a revisar, como /dev/sdb6.

Casi siempre fsck sólo se ejecuta con el nombre del dispositivo del sistema de ficheros, como fsck /dev/sdb6, aunque podemos añadir las opciones que necesitemos. Consulte la página man de fsck para conocer otras opciones menos comunes.

man_fsckfsck_advertencia

comprobaciónLinux ejecuta automáticamente fsck al iniciarse sobre las particiones marcadas para ello en /etc/fstab. El comportamiento de e2fsck es realizar sólo un rápido examen superficial de una partición si ésta ha sido desmontada limpiamente. El resultado es que el proceso de inicio de Linux no sufre retraso por culpa de alguna comprobación del sistema de ficheros a menos que el sistema no se haya apagado adecuadamente. Sin embargo, esta regla tiene un par de excepciones ya que e2fsck forzará una comprobación si el disco lleva más tiempo del establecido (normalmente, seis meses) sin que sea revisado o si el sistema de ficheros ha sido montado más de un cierto número de veces (normalmente, 20) desde la última comprobación. Todas las opciones las podemos cambiar con tune2fs, como vimos con anterioridad. Por lo tanto, observaremos, en ocasiones, que se realizan comprobaciones del sistema de ficheros de las particiones ext2fs y ext3fs aunque hayamos apagado el sistema correctamente.

Estos sistemas de ficheros aún necesitan programas que revisen y que corrijan los problemas derivados de los fallos de escritura, errores, problemas de hardware no detectado o motivos similares. Si observa algún comportamiento extraño en un sistema de ficheros con respaldo de transacciones, debemos desmontarlo y realizar una comprobación del sistema de ficheros (leeremos primeramente la documentación).

logicielslibresAlgunas distribuciones de Linux hacen cosas raras con algunos programas de comprobación de sistemas de ficheros con respaldo de transacciones. Un ejemplo lo tenemos con Mandriva que usa un enlace simbólico desde /sbin/fsck.reiserfs hasta /bin/true. Lo que hace que se acelera el inicio del sistema si las particiones ReiserFS están marcadas para su revisión automática, pero puede resultar confusa si necesita revisar manualmente el sistema de ficheros. Si se da el caso, ejecute sistema de ficheros /sbin/reiserfsck para realizar la tarea. Similarmente, /sbin/fsck.xfs sólo suele ser un script que nos recomienda a los usuarios ejecutar xfs_check o xfs_repair.