Cum să utilizați fsck pentru a repara erorile sistemului de fișiere în Linux


Sistemele de fișiere Linux sunt responsabile de organizarea modului în care datele sunt stocate și recuperate. Într-un fel sau altul, cu timpul, sistemul de fișiere poate deveni corupt și anumite părți ale acestuia pot să nu fie accesibile. Dacă sistemul dumneavoastră de fișiere dezvoltă o astfel de inconsecvență, este recomandat să verificați integritatea acestuia.

Acest lucru poate fi finalizat printr-un utilitar de sistem numit fsck (verificarea consistenței sistemului de fișiere), care verifică automat sistemul de fișiere rădăcină în timpul pornirii sau rulează manual.

În acest articol, vom analiza comanda fsck și utilizarea acesteia pentru a vă ajuta să reparați erorile de disc Linux.

Când să utilizați comanda fsck în Linux

Există diferite scenarii în care veți dori să rulați fsck. Iată câteva exemple:

  • Sistemul nu reușește să pornească.
  • Fișierele de pe sistem devin corupte (deseori este posibil să vedeți o eroare de intrare/ieșire).
  • Unitatea atașată (inclusiv unitățile flash/cardurile SD) nu funcționează conform așteptărilor.

Opțiuni de comandă fsck

Comanda fsck trebuie să fie executată cu privilegii de superutilizator sau root. Îl poți folosi cu diferite argumente. Utilizarea lor depinde de cazul dumneavoastră specific. Mai jos veți vedea câteva dintre cele mai importante opțiuni:

  • -A – Folosit pentru verificarea tuturor sistemelor de fișiere. Lista este preluată din /etc/fstab.
  • -C – Afișează bara de progres.
  • -l – Blocează dispozitivul pentru a garanta că niciun alt program nu va încerca să folosească partiția în timpul verificării.
  • -M – Nu verificați sistemele de fișiere montate.
  • -N – Afișați doar ceea ce ar fi făcut – nu se fac modificări efective.
  • -P – Dacă doriți să verificați sistemele de fișiere în paralel, inclusiv root.
  • -R – Nu verificați sistemul de fișiere rădăcină. Acest lucru este util numai cu „-A“.
  • -r – Furnizează statistici pentru fiecare dispozitiv care este verificat.
  • -T – Nu afișează titlul.
  • -t – Specificați exclusiv tipurile de sisteme de fișiere Linux care trebuie verificate. Tipurile pot fi liste separate prin virgulă.
  • -V – Furnizați o descriere a ceea ce se face.

Rulați comanda fsck pentru a repara erorile sistemului de fișiere Linux

Pentru a rula fsck, va trebui să vă asigurați că partiția pe care urmează să o verificați nu este montată. În scopul acestui articol, voi folosi a doua mea unitate /dev/sdb montată în /mnt.

Iată ce se întâmplă dacă încerc să rulez fsck când partiția este montată.

# fsck /dev/sdb

Pentru a evita acest lucru, demontați partiția folosind.

# umount /dev/sdb

Apoi, fsck poate fi rulat în siguranță cu.

# fsck /dev/sdb

Înțelegerea codurilor de ieșire fsck

După rularea fsck, va returna un cod de ieșire. Aceste coduri pot fi văzute în manualul fsck rulând:

# 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 Repară sistemul de fișiere Linux

Uneori pot fi găsite mai multe erori pe un sistem de fișiere. În astfel de cazuri, poate doriți ca fsck să încerce automat să corecteze erorile. Acest lucru se poate face cu:

# fsck -y /dev/sdb

Indicatorul -y, automat \„da” la orice solicitare de la fsck pentru a corecta o eroare.

În mod similar, puteți rula același lucru pe toate sistemele de fișiere (fără rădăcină):

$ fsck -AR -y 

Cum să rulați fsck pe partiția rădăcină Linux

În unele cazuri, poate fi necesar să rulați fsck pe partiția rădăcină a sistemului dumneavoastră. Deoarece nu puteți rula fsck în timp ce partiția este montată, puteți încerca una dintre aceste opțiuni:

  • Forțați fsck la pornirea sistemului
  • Rulați fsck în modul de salvare

Vom analiza ambele situații.

Forțați fsck la pornirea sistemului

Acest lucru este relativ ușor de finalizat, singurul lucru pe care trebuie să-l faceți este să creați un fișier numit forcefsck în partiția rădăcină a sistemului dumneavoastră. Utilizați următoarea comandă:

# touch /forcefsck

Apoi puteți pur și simplu să forțați sau să programați o repornire a sistemului. În timpul următoarei porniri, va fi efectuată fsck. Dacă timpul de nefuncționare este critic, se recomandă să planificați acest lucru cu atenție, deoarece dacă există multe inoduri utilizate pe sistemul dvs., fsck poate dura ceva timp suplimentar.

După ce sistemul dvs. pornește, verificați dacă fișierul mai există:

# ls /forcefsck

Dacă o face, poate doriți să-l eliminați pentru a evita fsck la fiecare pornire a sistemului.

Rulați fsck în modul de salvare

Rularea fsck în modul de salvare necesită încă câțiva pași. Mai întâi, pregătiți-vă sistemul pentru repornire. Opriți orice servicii critice, cum ar fi MySQL/MariaDB etc., apoi tastați.

# reboot

În timpul pornirii, țineți apăsată tasta shift pentru ca meniul grub să fie afișat. Selectați „Opțiuni avansate”.

Apoi alegeți „Modul de recuperare”.

În meniul următor selectați „fsck”.

Veți fi întrebat dacă doriți să vă remontați sistemul de fișiere /. Selectați \„da”.

Ar trebui să vezi ceva asemănător cu asta.

Apoi, puteți relua pornirea normală, selectând \„Reluați”.

Concluzie

În acest tutorial, ați învățat cum să utilizați fsck și să executați verificări de consistență pe diferite sisteme de fișiere Linux. Dacă aveți întrebări despre fsck, vă rugăm să nu ezitați să le trimiteți în secțiunea de comentarii de mai jos.