cum se utilizează comanda fsck în Linux?

comanda fsck(file system consistence check) este un utilitar pentru verificarea și repararea unui sistem de fișiere Linux. Sistemele moderne de fișiere cu jurnalizare sunt proiectate astfel încât instrumente precum fsck nu sunt ușor necesare. Cu toate acestea, în câteva cazuri, fsck ar putea fi singura opțiune pentru a repara un sistem de fișiere ‘rău’.

fsck poate fi rulat pe o partiție care s-au corupt sau în contradicție cu restul filesytem.

motivele pentru care fsck poate fi necesar

  • Shutdown necurat – aceasta este cauza majoră a corupției. Din cauza unei ‘shutdown necurat’, sistemul poate să nu reușească chiar să boot-eze în mod corespunzător
  • eșec unitate sau corupție

cuprins

medii în care nu ar trebui să utilizați fsck

deoarece comanda funcționează direct cu sectoarele sistemului de fișiere, este important să luați măsurile de precauție necesare aici.

pagina de manual a e2fsck spune:

rețineți că, în general, nu este sigur să rulați e2fsck pe sisteme de fișiere montate. Singura excepție este dacă opțiunea-n este specificată și opțiunile-C, – l sau-L nu sunt specificate. Cu toate acestea, chiar dacă este sigur să faceți acest lucru, rezultatele tipărite de e2fsck nu sunt valide dacă sistemul de fișiere este montat. Dacă e2fsck întreabă dacă ar trebui sau nu să verificați un sistem de fișiere care este montat, singurul răspuns corect este “nu”.

https://www.man7.org/linux/man-pages/man8/e2fsck.8.html

deci, trebuie să faceți fsck pe o partiție nemontată. Dacă puteți demonta partiția folosind umount, bine și bine. În caz contrar, trebuie să vă schimbați mediul:

1. Modul de recuperare

(Pentru Ubuntu – Hold SHIFT în timp ce porniți pentru a intra în GRUB, selectați ‘Opțiuni avansate Pentru Ubuntu’, apoi selectați opțiunea etichetată ‘mod de recuperare’, apoi selectați fsck). În modul de recuperare, partițiile sunt montate.

modul de recuperare Fsck
modul de recuperare fsck

2. În timp ce utilizați parametrul init=/bin/bash kernel

( țineți apăsat SHIFT în timp ce porniți pentru a intra în GRUB, apăsați e pentru a edita parametrii kernel-ului). Acesta oferă o coajă bash de unde fsck ar putea fi rulat, dar aici, partițiile sunt montate.

parametru nucleu inițializare
parametru nucleu inițializare

cum se utilizează comanda fsck?

cu elementele de bază clare, să trecem la pașii cum ar trebui să utilizați comanda fsck în Linux.

1. Utilizarea de bază a

înainte de a începe să utilizați comanda, asigurați-vă că lucrați la o partiție nemontată. Pentru a demonta o partiție și apoi executați fsck pe ea tip :

$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>

este posibil să nu puteți demonta partiția. În acest caz, puteți alege una dintre următoarele metode.

2. Rularea fsck folosind un USB live

acesta este probabil cel mai bun mod de a rula fsck. Acesta oferă un set bogat de instrumente familiare, cum ar fi fdisk. Utilizați acest tutorial pentru a crea un live Ubuntu USB. Această parte presupune că rulați Linux de pe un USB Live.

pentru a lista toate partițiile din sistemul dvs., puteți utiliza comanda fdisk.

$ sudo fdisk -l
partiții Nvme
partiții NVMe SSD
partiții Ssd Sata
partiții SSD SATA

notă: partițiile prezentate mai sus (pentru 2 SSD-uri, un NVMe și alte SATA) pot fi diferite de ceea ce aveți pe sistemul dvs. fdisk imprimă și mai multe informații despre partiții. Cu toate acestea, în scopul acestui articol, numele partiției este suficient.

identificați partiția care cauzează probleme, apoi pur și simplu rulați:

$ fsck /dev/<partition_name>

acest lucru ar trebui să rezolve problema.

3. Utilizarea initramfs

o altă modalitate de a utiliza comanda fsck este în modul intramfs. Pentru a intra în initramfs

  1. țineți apăsată tasta SHIFT în timp ce porniți pentru a intra în meniul GRUB.
  2. apăsați e pentru a edita intrarea de pornire
  3. Adăugați parametrul kernel ca ‘break ‘așa cum se arată în captura de ecran de mai jos
  4. apăsați Ctrl - X pentru a salva și a ieși
intră în Initramfs
intră în Initramfs

initramfs oferă un mod ‘mai puțin ademenitoare’ de depanare.

partițiile nu sunt montate în initramfs, deci efectuarea fsck ar fi sigură. De asemenea, aveți nevoie de numele partiției. Initramfs, cu toate acestea, oferă un minim de utilități. Deci fdisk nu va fi disponibil. Puteți lista partițiile folosind comanda cat așa cum se arată mai jos:

$ cat /proc/partitions

identificați partiția și apoi executați:

$ fsck /dev/<partition_name>
Initramfs Fschk
Initramfs Fsck

Notă: este posibil ca fsck utilizând Live USB să nu fie întotdeauna disponibil. Într-un astfel de caz, utilizați metoda initramfs.

cum să verificați dacă fsck este programat sau nu

s-ar putea să doriți să știți când a fost bifată partiția dvs. ultima dată sau când va fi în viitor. În acest caz, executați:

$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
verificați dacă Fsck 1
verificați dacă Fsck
  • numărul maxim de monturi este numărul de monturi după care sistemul de fișiere va fi verificat automat de fsck.
  • intervalul de verificare este timpul dintre două verificări ale sistemului de fișiere.

aceste două valori sunt suficiente pentru a identifica când comanda fsck a fost executată ultima dată.

diferența dintre fsck și e2fsck

puteți găsi răspunsuri/articole diferite care vă solicită să rulați e2fsck sau fsck.ext4 mai degrabă decât fsck. Ce diferență are dacă rulați oricare dintre aceste instrumente în loc de fsck?

fsck este doar o interfață pentru toate comenzile fsck specifice sistemului de fișiere, cum ar fi cele două prezentate mai sus (un înveliș dacă s-ar putea spune). Invocarea fsck invocă automat sistemul de fișiere corect specific fsck. Să vedem care sunt toate fsck în sistemul nostru:

$ ls -l /sbin/fsck*
diferite Fscks
listarea tuturor fsck

rularea fsck pe o partiție ext2/3 / 4 rulează executabilul /sbin/fsck.ext* respectiv. Aceste executabile, la rândul lor, sunt legături dure către executabilul e2fsck. Deci, chiar dacă executați fsckpe o partiție ext4 ar rula în cele din urmă e2fsck.

concluzie

în acest tutorial am acoperit fsck care este un instrument util pentru recuperarea sistemelor de fișiere. Pentru a afla mai multe despre comanda fsck, consultați pagina man.

Leave a Reply