Com utilitzar fsck per reparar errors del sistema de fitxers a Linux


Els sistemes de fitxers són els responsables d'organitzar com s'emmagatzemen i es recuperen les dades. D'una manera o d'una altra, amb el temps, el sistema de fitxers es pot malmetre i algunes parts del mateix poden no ser accessibles. Si el vostre sistema de fitxers desenvolupa aquesta incoherència, es recomana verificar-ne la integritat.

Això es pot completar mitjançant la utilitat del sistema anomenada fsck (comprovació de la coherència del sistema de fitxers). Aquesta comprovació es pot fer automàticament durant l'arrencada o executar-se manualment.

En aquest article, revisarem la utilitat fsck i el seu ús per ajudar-vos a reparar els errors del disc.

Hi ha diferents escenaris en què voldreu executar fsck. Aquí teniu uns quants exemples:

  • El sistema no pot arrencar.
  • Els fitxers del sistema es corrompeixen (sovint podeu veure errors d'entrada/sortida).
  • La unitat connectada (incloses les unitats flash/targetes SD) no funciona com s'esperava.

L'ordre Fsck s'ha d'executar amb privilegis de superusuari o root. Podeu utilitzar-lo amb diferents arguments. El seu ús depèn del vostre cas concret. A continuació veureu algunes de les opcions més importants:

    • -A: s'utilitza per comprovar tots els sistemes de fitxers. La llista s'ha extret de /etc/fstab.
    • -C: mostra la barra de progrés.
    • -l: bloqueja el dispositiu per garantir que cap altre programa intentarà utilitzar la partició durant la comprovació.
    • -M: no comproveu els sistemes de fitxers muntats.
    • -N: només mostra el que es faria; no es fan canvis reals.
    • -P: si voleu comprovar els sistemes de fitxers en paral·lel, inclòs l'arrel.
    • -R: no comproveu el sistema de fitxers arrel. Això només és útil amb '-A'.
    • -r: proporciona estadístiques de cada dispositiu que s'està comprovant.
    • -T: no mostra el títol.
    • -t – Especifiqueu exclusivament els tipus de sistemes de fitxers que cal comprovar. Els tipus poden ser llista separada per comes.
    • -V: proporciona una descripció del que s'està fent.

    Com executar fsck per reparar errors del sistema de fitxers Linux

    Per executar fsck, haureu d'assegurar-vos que la partició que aneu a comprovar no estigui muntada. Per als propòsits d'aquest article, utilitzaré la meva segona unitat /dev/sdb muntada a /mnt.

    Això és el que passa si intento executar fsck quan la partició està muntada.

    # fsck /dev/sdb
    

    Per evitar-ho, desmunteu la partició utilitzant.

    # umount /dev/sdb
    

    Aleshores, es pot executar amb seguretat fsck.

    # fsck /dev/sdb
    

    Després d'executar fsck, retornarà un codi de sortida. Aquests codis es poden veure al manual de fsck executant:

    # man fsck
    
    0      No errors
    1      Filesystem errors corrected
    2      System should be rebooted
    4      Filesystem errors left uncorrected
    8      Operational error
    16     Usage or syntax error
    32     Checking canceled by user request
    128    Shared-library error            
    

    De vegades es pot trobar més d'un error en un sistema de fitxers. En aquests casos, potser voldreu que fsck intenti corregir els errors automàticament. Això es pot fer amb:

    # fsck -y /dev/sdb
    

    La marca -y, automàticament \sí a qualsevol sol·licitud de fsck per corregir un error.

    De la mateixa manera, podeu executar el mateix en tots els sistemes de fitxers (sense root):

    $ fsck -AR -y 
    

    Com executar fsck a la partició arrel de Linux

    En alguns casos, és possible que hàgiu d'executar fsck a la partició arrel del vostre sistema. Com que no podeu executar fsck mentre la partició està muntada, podeu provar una d'aquestes opcions:

    • Força fsck a l'arrencada del sistema
    • Executeu fsck en mode de rescat

    Revisarem ambdues situacions.

    Això és relativament fàcil de completar, l'únic que heu de fer és crear un fitxer anomenat forcefsck a la partició arrel del vostre sistema. Utilitzeu l'ordre següent:

    # touch /forcefsck
    

    Aleshores, simplement podeu forçar o programar un reinici del vostre sistema. Durant la propera arrencada, es realitzarà el fsck. Si el temps d'inactivitat és crític, es recomana planificar-ho amb cura, ja que si hi ha molts inodes utilitzats al vostre sistema, fsck pot trigar una mica més.

    Després d'arrencar el sistema, comproveu si el fitxer encara existeix:

    # ls /forcefsck
    

    Si ho fa, potser voldreu eliminar-lo per evitar fsck a cada arrencada del sistema.

    L'execució de fsck en mode de rescat requereix uns quants passos més. Primer prepareu el vostre sistema per reiniciar-lo. Atureu qualsevol servei crític com MySQL/MariaDB, etc. i després escriviu.

    # reboot
    

    Durant l'arrencada, manteniu premuda la tecla majúscules perquè es mostri el menú grub. Seleccioneu les \Opcions avançades.

    A continuació, trieu \Mode de recuperació.

    Al menú següent, seleccioneu \fsck.

    Se us demanarà si voleu tornar a muntar el vostre sistema de fitxers /. Seleccioneu \sí.

    Hauríeu de veure alguna cosa semblant a això.

    A continuació, podeu reprendre l'arrencada normal, seleccionant \Reprèn.

    En aquest tutorial heu après com utilitzar fsck i executar comprovacions de coherència en diferents sistemes de fitxers Linux. Si teniu cap pregunta sobre fsck, no dubteu a enviar-les a la secció de comentaris a continuació.