Kā izmantot fsck, lai labotu Linux failu sistēmas kļūdas


Failu sistēmas ir atbildīgas par datu glabāšanas un atkopšanas organizēšanu. Vienā vai otrā veidā ar laiku failu sistēma var tikt bojāta, un atsevišķas tās daļas var nebūt pieejamas. Ja jūsu failu sistēmā rodas šāda neatbilstība, ieteicams pārbaudīt tās integritāti.

To var pabeigt, izmantojot sistēmas utilītu fsck (failu sistēmas konsekvences pārbaude). Šo pārbaudi var veikt automātiski sāknēšanas laikā vai manuāli.

Šajā rakstā mēs pārskatīsim fsck utilītu un tās lietojumu, lai palīdzētu jums novērst disku kļūdas.

Ir dažādi scenāriji, kad vēlaties palaist fsck. Šeit ir daži piemēri:

  • Sistēmu neizdodas palaist.
  • Sistēmas faili kļūst bojāti (bieži var redzēt ievades/izvades kļūdu).
  • Pievienotais disks (ieskaitot zibatmiņas diskus/SD kartes) nedarbojas, kā paredzēts.

Fsck komanda jāpalaiž ar lietotāja īpašnieka privilēģijām vai root. To var izmantot ar dažādiem argumentiem. To lietošana ir atkarīga no jūsu konkrētā gadījuma. Zemāk jūs redzēsiet dažas svarīgākas iespējas:

    • -A - tiek izmantots visu failu sistēmu pārbaudei. Saraksts ir ņemts no /etc/fstab .
    • -C - rādīt progresa joslu.
    • -l - bloķē ierīci, lai garantētu, ka citas programmas pārbaudes laikā nemēģinās izmantot nodalījumu.
    • -M - nepārbaudiet pievienotās failu sistēmas.
    • -N - parādiet tikai to, kas tiktu darīts - faktiskas izmaiņas netiek veiktas.
    • -P - ja vēlaties paralēli pārbaudīt failu sistēmas, ieskaitot saknes.
    • -R - nepārbaudiet saknes failu sistēmu. Tas ir noderīgi tikai ar ‘ -A ’.
    • -r - sniedziet statistiku par katru pārbaudāmo ierīci.
    • -T - neparāda nosaukumu.
    • -t - norādiet tikai pārbaudāmos failu sistēmas tipus. Veidus var atdalīt ar komatiem.
    • -V - sniedziet aprakstu par notiekošo.

    Kā palaist fsck, lai labotu Linux failu sistēmas kļūdas

    Lai palaistu fsck, jums jāpārliecinās, ka nodalījums, kuru pārbaudīsit, nav uzstādīts. Šī raksta vajadzībām es izmantoju savu otro disku /dev/sdb , kas uzstādīts mapē /mnt .

    Lūk, kas notiek, ja mēģinu palaist fsck, kad nodalījums ir uzstādīts.

    # fsck /dev/sdb
    

    Lai izvairītos no šī nodalījuma noņemšanas, izmantojot.

    # umount /dev/sdb
    

    Tad ar fsck var droši braukt.

    # fsck /dev/sdb
    

    Pēc fsck palaišanas tas atgriezīs izejas kodu. Šie kodi ir redzami fsck rokasgrāmatā, palaižot:

    # 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            
    

    Dažreiz failu sistēmā var atrast vairāk nekā vienu kļūdu. Šādos gadījumos jūs varat vēlēties, lai fsck automātiski mēģina labot kļūdas. To var izdarīt ar:

    # fsck -y /dev/sdb
    

    Karodziņš -y automātiski “yes” visiem fsck aicinājumiem labot kļūdu.

    Līdzīgi jūs varat palaist to pašu visās failu sistēmās (bez saknes):

    $ fsck -AR -y 
    

    Kā palaist fsck Linux saknes nodalījumā

    Dažos gadījumos jums var būt nepieciešams palaist fsck sistēmas saknes nodalījumā. Tā kā nodalījuma uzstādīšanas laikā nevar palaist fsck, varat izmēģināt kādu no šīm iespējām:

    • Piespiediet fsck pēc sistēmas palaišanas
    • palaidiet fsck glābšanas režīmā

    Mēs pārskatīsim abas situācijas.

    To ir salīdzinoši viegli izpildīt, vienīgais, kas jums jādara, ir sistēmas saknes nodalījumā izveidot failu ar nosaukumu forcefsck. Izmantojiet šādu komandu:

    # touch /forcefsck
    

    Tad jūs varat vienkārši piespiest vai ieplānot sistēmas restartēšanu. Nākamās sāknēšanas laikā tiks veikts fsck. Ja dīkstāves laiks ir kritisks, ieteicams to rūpīgi plānot, jo, ja jūsu sistēmā ir daudz lietotu inodu, fsck var aizņemt papildu laiku.

    Pēc sistēmas palaišanas pārbaudiet, vai fails joprojām pastāv:

    # ls /forcefsck
    

    Ja tā notiek, ieteicams to noņemt, lai izvairītos no fsck katrā sistēmas sāknēšanā.

    Lai palaistu fsck glābšanas režīmā, ir nepieciešami vēl daži soļi. Vispirms sagatavojiet sistēmu pārstartēšanai. Pārtrauciet visus kritiskos pakalpojumus, piemēram, MySQL/MariaDB utt., Un pēc tam ierakstiet.

    # reboot
    

    Sāknēšanas laikā turiet nospiestu taustiņu shift , lai tiktu parādīta grub izvēlne. Atlasiet “Papildu opcijas”.

    Pēc tam izvēlieties “Atkopšanas režīms”.

    Nākamajā izvēlnē atlasiet “fsck”.

    Jums tiks vaicāts, vai vēlaties, lai jūsu / failu sistēma tiktu uzstādīta no jauna. Atlasiet “yes” .

    Jums vajadzētu redzēt kaut ko līdzīgu šim.

    Pēc tam varat atsākt normālu sāknēšanu, atlasot “Resume”.

    Šajā apmācībā jūs uzzinājāt, kā izmantot fsck un palaist konsekvences pārbaudes dažādās Linux failu sistēmās. Ja jums ir kādi jautājumi par fsck, lūdzu, nevilcinieties tos iesniegt zemāk esošajā komentāru sadaļā.