Kako koristiti 'fsck' za popravak grešaka datotečnog sustava u Linuxu


Datotečni sustavi Linuxa odgovorni su za organizaciju načina na koji se podaci pohranjuju i vraćaju. Na ovaj ili onaj način, s vremenom se datotečni sustav može oštetiti i određenim dijelovima možda neće biti moguće pristupiti. Ako vaš datotečni sustav razvije takvu nedosljednost, preporučuje se provjeriti njegov integritet.

To se može dovršiti pomoću uslužnog programa sustava pod nazivom fsck (provjera dosljednosti datotečnog sustava), koji automatski provjerava korijenski datotečni sustav tijekom pokretanja ili se pokreće ručno.

U ovom ćemo članku pregledati naredbu fsck i njezinu upotrebu kako bismo vam pomogli u popravljanju grešaka diska Linuxa.

Kada koristiti naredbu fsck u Linuxu

Postoje različiti scenariji kada želite pokrenuti fsck. Evo nekoliko primjera:

  • Sustav se ne može pokrenuti.
  • Datoteke na sustavu postaju oštećene (često možete vidjeti ulazno/izlaznu pogrešku).
  • Priloženi pogon (uključujući flash pogone/SD kartice) ne radi prema očekivanjima.

Mogućnosti naredbe fsck

Naredbu fsck potrebno je pokrenuti s privilegijama superkorisnika ili root. Možete ga koristiti s različitim argumentima. Njihova uporaba ovisi o vašem konkretnom slučaju. U nastavku ćete vidjeti neke od važnijih opcija:

  • -A – Koristi se za provjeru svih datotečnih sustava. Popis je preuzet iz /etc/fstab.
  • -C – Prikaži traku napretka.
  • -l – Zaključava uređaj kako bi se zajamčilo da nijedan drugi program neće pokušati koristiti particiju tijekom provjere.
  • -M – Ne provjeravajte montirane datotečne sustave.
  • -N – Prikaži samo ono što bi se učinilo – ne prave se stvarne promjene.
  • -P – Ako želite paralelno provjeriti datotečne sustave, uključujući root.
  • -R – Ne provjeravajte korijenski datotečni sustav. Ovo je korisno samo s '-A'.
  • -r – Navedite statistiku za svaki uređaj koji se provjerava.
  • -T – Ne prikazuje naslov.
  • -t – Isključivo navedite vrste Linux datotečnog sustava koje treba provjeriti. Tipovi mogu biti popisi odvojeni zarezima.
  • -V – Opišite što se radi.

Pokrenite naredbu fsck za popravak grešaka Linux datotečnog sustava

Kako biste pokrenuli fsck, morat ćete osigurati da particija koju ćete provjeriti nije montirana. U svrhu ovog članka, koristit ću svoj drugi pogon /dev/sdb montiran u /mnt.

Evo što se događa 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 sigurno pokrenuti.

fsck /dev/sdb

Razumijevanje fsck izlaznih kodova

Nakon pokretanja fsck, vratit će izlazni kod. Ovi se kodovi mogu vidjeti u fsckovom 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 Popravak Linux datotečnog sustava

Ponekad se u datotečnom sustavu može pronaći više od jedne pogreške. U takvim slučajevima, možda biste željeli da fsck automatski pokuša ispraviti pogreške. To se može učiniti pomoću:

fsck -y /dev/sdb

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

Slično, možete pokrenuti isto na svim datotečnim sustavima (bez root):

fsck -AR -y 

Kako pokrenuti fsck na korijenskoj particiji Linuxa

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

  • Prisilno aktivirajte fsck pri pokretanju sustava
  • Pokrenite fsck u načinu spašavanja

Pregledat ćemo obje situacije.

Forsirajte fsck nakon pokretanja sustava

Ovo je relativno lako dovršiti, jedino što trebate učiniti je stvoriti datoteku pod nazivom forcefsck u korijenskoj particiji vašeg sustava. Koristite sljedeću naredbu:

touch /forcefsck

Tada možete jednostavno prisiliti ili zakazati ponovno pokretanje sustava. Tijekom sljedećeg pokretanja izvršit će se fsck. Ako je prekid rada kritičan, preporuča se da to pažljivo isplanirate, budući da ako na vašem sustavu postoji mnogo korištenih inodeva, fsck može potrajati dodatno vrijeme.

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

ls /forcefsck

Ako se dogodi, možda ćete ga htjeti ukloniti kako biste izbjegli fsck pri svakom pokretanju sustava.

Pokrenite fsck u načinu spašavanja

Pokretanje fsck u načinu spašavanja zahtijeva još nekoliko koraka. Prvo pripremite svoj sustav za ponovno pokretanje. Zaustavite sve kritične usluge poput MySQL/MariaDB itd. i zatim upišite.

reboot

Tijekom pokretanja držite tipku shift tako da se prikaže grub izbornik. Odaberite “Napredne opcije”.

Zatim odaberite “Način oporavka”.

U sljedećem izborniku odaberite “fsck”.

Bit ćete upitani želite li ponovno montirati vaš / datotečni sustav. Odaberite “yes”.

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 dosljednosti na različitim Linux datotečnim sustavima. Ako imate pitanja o fsck-u, slobodno ih pošaljite u odjeljku za komentare u nastavku.