Kako koristiti 'fsck' za popravku grešaka sistema datoteka u Linuxu


Linux sistemi datoteka su odgovorni za organizaciju načina na koji se podaci pohranjuju i obnavljaju. Na ovaj ili onaj način, s vremenom, sistem datoteka može postati oštećen i određeni dijelovi možda neće biti dostupni. Ako vaš sistem datoteka razvije takvu nedosljednost, preporučuje se da provjerite njegov integritet.

Ovo se može završiti putem sistemskog uslužnog programa pod nazivom fsck (provjera konzistentnosti sistema datoteka), koji automatski provjerava korijenski sistem datoteka tokom vremena pokretanja ili se pokreće ručno.

U ovom članku ćemo pregledati fsck naredbu i njenu upotrebu kako bismo vam pomogli da popravite greške na Linux disku.

Kada koristiti naredbu fsck u Linuxu

Postoje različiti scenariji kada ćete htjeti pokrenuti fsck. Evo nekoliko primjera:

  • Sistem ne uspijeva da se pokrene.
  • Fajlovi na sistemu postaju oštećeni (često možete vidjeti grešku u unosu/izlazu).
  • Priključeni disk (uključujući fleš diskove/SD kartice) ne radi kako se očekivalo.

Opcije komande fsck

Naredbu fsck treba pokrenuti s privilegijama superkorisnika ili root. Možete ga koristiti sa različitim argumentima. Njihova upotreba zavisi od vašeg konkretnog slučaja. U nastavku ćete vidjeti neke od važnijih opcija:

  • -A – Koristi se za provjeru svih sistema datoteka. Lista je preuzeta iz /etc/fstab.
  • -C – Prikaži traku napretka.
  • -l – Zaključava uređaj da garantuje da nijedan drugi program neće pokušati koristiti particiju tokom provjere.
  • -M – Ne provjeravajte montirane sisteme datoteka.
  • -N – Pokaži samo ono što bi bilo urađeno – nema stvarnih promjena.
  • -P – Ako želite paralelno provjeriti sistem datoteka, uključujući root.
  • -R – Ne provjeravajte korijenski sistem datoteka. Ovo je korisno samo sa '-A'.
  • -r – Navedite statistiku za svaki uređaj koji se provjerava.
  • -T – Ne prikazuje naslov.
  • -t – Ekskluzivno navedite tipove Linux sistema datoteka koje treba provjeriti. Tipovi mogu biti liste razdvojene zarezima.
  • -V – Navedite opis onoga što se radi.

Pokrenite naredbu fsck da popravite greške u sistemu datoteka Linux

Da biste pokrenuli fsck, morat ćete osigurati da particija koju ćete provjeriti nije montirana. Za potrebe ovog članka, koristit ću svoj drugi disk /dev/sdb montiran u /mnt.

Evo šta se dešava ako pokušam pokrenuti fsck kada je particija montirana.

fsck /dev/sdb

Da biste to izbjegli, demontirajte particiju pomoću .

umount /dev/sdb

Tada se fsck može bezbedno pokrenuti sa.

fsck /dev/sdb

Razumijevanje fsck izlaznih kodova

Nakon pokretanja fsck, vratit će izlazni kod. Ovi kodovi se mogu vidjeti u fsck-ovom priručniku pokretanjem:

man fsck

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

Fsck Popravi Linux sistem datoteka

Ponekad se na sistemu datoteka može pronaći više od jedne greške. U takvim slučajevima, možda želite da fsck automatski pokuša ispraviti greške. Ovo se može uraditi sa:

fsck -y /dev/sdb

Oznaka -y, automatski “yes ” na sve upite od fsck-a da ispravi grešku.

Slično, isto možete pokrenuti na svim sistemima datoteka (bez root):

fsck -AR -y 

Kako pokrenuti fsck na Linux root particiji

U nekim slučajevima, možda ćete morati pokrenuti fsck na root particiji vašeg sistema. Pošto ne možete pokrenuti fsck dok je particija montirana, možete isprobati jednu od ovih opcija:

  • Forsiraj fsck pri pokretanju sistema
  • Pokrenite fsck u načinu spašavanja

Mi ćemo razmotriti obje situacije.

Force fsck nakon pokretanja sistema

Ovo je relativno lako završiti, jedino što trebate učiniti je kreirati datoteku pod nazivom forcefsck u root particiji vašeg sistema. Koristite sljedeću naredbu:

touch /forcefsck

Tada možete jednostavno prisiliti ili zakazati ponovno pokretanje vašeg sistema. Tokom sljedećeg pokretanja, fsck će se izvršiti. Ako je vrijeme zastoja kritično, preporučuje se da to pažljivo isplanirate, jer ako na vašem sistemu ima mnogo korištenih inoda, fsck može potrajati dodatno vrijeme.

Nakon što se vaš sistem pokrene, provjerite da li datoteka još uvijek postoji:

ls /forcefsck

Ako jeste, možda ćete želeti da ga uklonite kako biste izbjegli fsck pri svakom pokretanju sistema.

Pokrenite fsck u Rescue Modu

Pokretanje fsck-a u režimu spašavanja zahtijeva još nekoliko koraka. Prvo pripremite svoj sistem za ponovno pokretanje. Zaustavite sve kritične usluge kao što je MySQL/MariaDB itd, a zatim ukucajte.

reboot

Tokom pokretanja, držite pritisnut taster shift tako da se prikaže grub meni. Odaberite “Napredne opcije”.

Zatim odaberite “Recovery mode”.

U sljedećem meniju odaberite “fsck”.

Bićete upitani da li želite da se vaš / sistem datoteka ponovo montira. Odaberite “da ”.

Trebali biste vidjeti nešto slično ovome.

Zatim možete nastaviti normalno pokretanje, odabirom “Nastavi ”.

Zaključak

U ovom vodiču ste naučili kako koristiti fsck i pokrenuti provjere konzistentnosti na različitim Linux sistemima datoteka. Ako imate bilo kakvih pitanja o fscku, ne ustručavajte se da ih pošaljete u odeljku za komentare ispod.