Kaip naudoti „fsck“ taisant failų sistemos klaidas sistemoje „Linux“


Failų sistemos yra atsakingos už duomenų saugojimo ir atkūrimo organizavimą. Vienu ar kitu būdu, laikui bėgant, failų sistema gali būti sugadinta, o tam tikros jos dalys gali būti nepasiekiamos. Jei jūsų failų sistemoje atsiranda toks neatitikimas, rekomenduojama patikrinti jos vientisumą.

Tai galima atlikti naudojant sistemos įrankį, vadinamą fsck (failų sistemos nuoseklumo patikrinimas). Šį patikrinimą galima atlikti automatiškai įkrovos metu arba paleisti rankiniu būdu.

Šiame straipsnyje apžvelgsime „fsck“ įrankį ir jo naudojimą, kad padėtume taisyti disko klaidas.

Yra įvairių scenarijų, kada norėsite paleisti „fsck“. Štai keli pavyzdžiai:

  • Sistemos nepavyksta paleisti.
  • Sistemoje esantys failai sugadinami (dažnai galite pamatyti įvesties/išvesties klaidą).
  • Pridedamas diskas (įskaitant „flash“ diskus/SD korteles) neveikia taip, kaip tikėtasi.

„Fsck“ komandą reikia paleisti su super vartotojo privilegijomis arba root. Jį galite naudoti su įvairiais argumentais. Jų naudojimas priklauso nuo konkretaus atvejo. Žemiau pamatysite keletą svarbesnių variantų:

    • -A - naudojamas tikrinant visas failų sistemas. Sąrašas yra paimtas iš /etc/fstab .
    • -C - Rodyti eigos juostą.
    • -l - užrakina įrenginį, kad patikrinimo metu jokia kita programa nebandytų naudoti skaidinio.
    • -M - netikrinkite prijungtų failų sistemų.
    • -N - rodykite tik tai, kas būtų daroma - faktiniai pakeitimai neatliekami.
    • -P - jei norite lygiagrečiai patikrinti failų sistemas, įskaitant root.
    • -R - netikrinkite šakninių failų sistemos. Tai naudinga tik su „ -A “.
    • -r - pateikite kiekvieno tikrinamo įrenginio statistiką.
    • -T - nerodo pavadinimo.
    • -t - nurodykite tik tikrintinų failų sistemos tipus. Tipai gali būti kableliais atskirtas sąrašas.
    • -V - pateikite aprašą, kas daroma.

    Kaip paleisti fsck norint ištaisyti „Linux“ failų sistemos klaidas

    Norėdami paleisti „fsck“, turėsite įsitikinti, kad skaidinys, kurį ketinate patikrinti, nėra prijungtas. Šiame straipsnyje naudosiu savo antrąjį diską /dev/sdb , sumontuotą /mnt .

    Štai kas atsitinka, jei bandau paleisti „fsck“, kai sumontuotas skaidinys.

    # fsck /dev/sdb
    

    Norėdami išvengti šio atjungimo skaidinio naudodami.

    # umount /dev/sdb
    

    Tada fsck galima saugiai paleisti.

    # fsck /dev/sdb
    

    Paleidęs „fsck“, jis grąžins išėjimo kodą. Šiuos kodus galite pamatyti fsck vadove paleisdami:

    # 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            
    

    Kartais failų sistemoje galima rasti daugiau nei vieną klaidą. Tokiais atvejais galite norėti, kad fsck automatiškai bandytų ištaisyti klaidas. Tai galima padaryti su:

    # fsck -y /dev/sdb
    

    Žyma -y automatiškai „yes“ į visus „fsck“ raginimus ištaisyti klaidą.

    Panašiai galite paleisti tą patį visose failų sistemose (be šaknies):

    $ fsck -AR -y 
    

    Kaip paleisti fsck Linux šakniniame skaidinyje

    Kai kuriais atvejais gali tekti paleisti fsck sistemos šakniniame skaidinyje. Kadangi negalite paleisti „fsck“, kai yra prijungtas skaidinys, galite išbandyti vieną iš šių parinkčių:

    • Priverskite „fsck“ paleisti sistemą
    • paleiskite „fsck“ gelbėjimo režimu

    Apžvelgsime abi situacijas.

    Tai palyginti lengva atlikti, vienintelis dalykas, kurį turite padaryti, yra sukurti šakniniame sistemos skaidinyje failą, pavadintą forcefsck. Naudokite šią komandą:

    # touch /forcefsck
    

    Tada jūs galite tiesiog priversti arba suplanuoti savo sistemos perkrovimą. Kito paleidimo metu bus atliktas fsck. Jei prastova yra kritinė, rekomenduojama tai kruopščiai suplanuoti, nes jei jūsų sistemoje yra daug naudojamų inodų, fsck gali užtrukti šiek tiek daugiau laiko.

    Paleidus sistemą, patikrinkite, ar failas vis dar egzistuoja:

    # ls /forcefsck
    

    Jei taip, galbūt norėsite jį pašalinti, kad išvengtumėte fsck ant kiekvieno sistemos įkrovos.

    Norint paleisti „fsck“ gelbėjimo režimu, reikia atlikti dar kelis veiksmus. Pirmiausia paruoškite sistemą iš naujo. Sustabdykite visas kritines paslaugas, pvz., „MySQL/MariaDB“ ir tt, tada įveskite.

    # reboot
    

    Paleidimo metu palaikykite nuspaudę klavišą shift , kad būtų rodomas grub meniu. Pasirinkite „Išplėstinės parinktys“.

    Tada pasirinkite „Atkūrimo režimas“.

    Kitame meniu pasirinkite „fsck“.

    Jums bus paklausta, ar norite, kad jūsų / failų sistema būtų sumontuota iš naujo. Pasirinkite „yes“ .

    Turėtumėte pamatyti kažką panašaus į tai.

    Tada galite atnaujinti įprastą įkrovą pasirinkdami „Tęsti“.

    Šioje pamokoje sužinojote, kaip naudoti „fsck“ ir vykdyti nuoseklumo patikrinimus skirtingose „Linux“ failų sistemose. Jei turite klausimų apie „fsck“, nedvejodami pateikite juos toliau pateiktame komentarų skyriuje.