Hoe gebruik je het fsck commando in Linux?

het fsck Commando (file system consistence check) is een hulpprogramma om een Linux bestandssysteem te controleren en te repareren. Moderne bestandssystemen met journaling zijn zo ontworpen dat tools zoals fsck niet gemakkelijk nodig zijn. In een paar gevallen kan fsck echter de enige optie zijn om een ‘slecht’ bestandssysteem te repareren.

fsck kan worden uitgevoerd op een partitie die beschadigd is geraakt of niet overeenkomt met de rest van de filesytem.

redenen waarom fsck vereist kan zijn

  • onreine Shutdown-Dit is de belangrijkste oorzaak van corruptie. Als gevolg van een’ onreine shutdown’, kan het systeem niet eens goed opstarten
  • Stationstoring of corruptie

inhoudsopgave:

omgevingen waar je fsck

niet zou moeten gebruiken omdat het commando direct werkt met de sectoren van het bestandssysteem, is het belangrijk om hier de nodige voorzorgsmaatregelen te nemen.

e2fsck ‘ s man page zegt:

merk op dat het over het algemeen niet veilig is om e2fsck op aangekoppelde bestandssystemen uit te voeren. De enige uitzondering is als de optie-n is opgegeven en de opties-c, -l of-L niet zijn opgegeven. Echter, zelfs als het veilig is om dit te doen, de resultaten afgedrukt door e2fsck zijn niet geldig als het bestandssysteem is gemount. Als e2fsck vraagt of je een bestandssysteem moet controleren dat gemount is, is het enige juiste antwoord “Nee”.

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

u moet dus fsck doen op een niet-gemount partitie. Als je de partitie kunt unmounten met umount, well en good. Anders moet je je omgeving veranderen:

1. Recovery Mode

(Voor Ubuntu – Hold SHIFT tijdens het opstarten om GRUB binnen te gaan, selecteer ‘Advanced Options for Ubuntu’, selecteer vervolgens de optie ‘recovery mode’ en selecteer vervolgens fsck). In de herstelmodus worden de partities gemount.

Recovery Mode Fsck
Recovery Mode fsck

2. Tijdens het gebruik van init = /bin / bash kernel parameter

(houd SHIFT tijdens het opstarten om GRUB binnen te gaan, druk op e om de kernel parameters te bewerken). Het biedt een bash shell van waaruit fsck kan worden uitgevoerd, maar ook hier worden de partities gemount.

init Kernel Parameter
init Kernel Parameter

Hoe gebruik je het fsck Commando?

met de basis duidelijk, laten we naar de stappen gaan hoe je het fsck commando in Linux moet gebruiken.

1. Basisgebruik van

voordat u begint met het gebruik van het commando, moet u ervoor zorgen dat u werkt op een niet-gemount partitie. Om een partitie te ontkoppelen en er vervolgens fsck op uit te voeren, typt u :

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

de kans is groot dat je de partitie niet kunt unmounten. In dat geval kunt u kiezen voor een van de volgende methoden.

2. Fsck draaien met een live USB

dit is waarschijnlijk de beste manier om fsckuit te voeren. Het biedt een rijke set van bekende tools zoals fdisk. Gebruik deze tutorial om een live Ubuntu USB te maken. Dit deel gaat ervan uit dat je Linux draait op een Live USB.

om alle partities op uw systeem weer te geven, kunt u het commando fdisk gebruiken.

$ sudo fdisk -l
Nvme Partities
NVMe SSD Partities
Sata Ssd Partities
SATA SSD Partities

Opmerking: De partities hierboven weergegeven (voor 2 Ssd ‘ s, een NVMe en andere SATA) kan anders zijn dan wat u op uw systeem. fdisk drukt ook meer informatie over de partities af. Voor de toepassing van dit artikel is de naam van de partitie echter voldoende.

Identificeer partitie die problemen veroorzaakt, voer dan eenvoudig uit:

$ fsck /dev/<partition_name>

dit moet het probleem oplossen.

3. Het gebruik van initramfs

een andere manier om het fsck commando te gebruiken is in de intramfs modus. To get into initramfs

  1. houd SHIFT toets ingedrukt tijdens het opstarten om in het GRUB menu te komen.
  2. druk op e om de opstartingang
  3. te bewerken Voeg de kernelparameter toe als ‘break ‘zoals getoond in de screenshot hieronder
  4. druk op Ctrl - X om op te slaan en af te sluiten
Enter Into initramfs
Enter Into Initramfs

initramfs biedt een ‘minder verleidelijke’ manier van probleemoplossing.

de partities zijn niet gemount in initramfs, dus het uitvoeren van fsck zou veilig zijn. Je hebt ook de naam van de partitie nodig. Initramfs biedt echter een minimum aan hulpprogramma ‘ s. Dus fdisk zal niet beschikbaar zijn. Je kunt de partities weergeven met het cat commando zoals hieronder getoond:

$ cat /proc/partitions

Identificeer de partitie en voer vervolgens uit:

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

opmerking: fsck met Live USB is mogelijk niet altijd beschikbaar. Gebruik In dat geval de initramfs methode.

hoe te controleren of fsck is gepland of niet

u wilt misschien weten wanneer uw partitie de laatste keer is gecontroleerd of wanneer het in de toekomst zal zijn. In dat geval, ren:

$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
controleren op Fsck 1
controleren op Fsck
  • het Maximum aantal aankoppelingen is het aantal aankoppelingen waarna het bestandssysteem automatisch wordt gecontroleerd door fsck.
  • Controleinterval is de tijd tussen twee controles van het bestandssysteem.

deze twee waarden zijn voldoende om te bepalen wanneer het fsck-commando voor het laatst werd uitgevoerd.

verschil tussen fsck en e2fsck

u kunt verschillende antwoorden/artikelen vinden waarin u wordt gevraagd e2fsck of fsck uit te voeren.ext4 in plaats van fsck. Wat maakt het uit als u een van deze tools gebruikt in plaats van fsck?

fsck is slechts een frontend voor alle bestandssysteem-specifieke fsck commando ‘ s zoals de twee hierboven weergegeven (een wrapper als je zou kunnen zeggen). Als fsck wordt aangeroepen, wordt automatisch het juiste bestandssysteemspecifiek fsckaangeroepen. Laten we eens kijken welke fsck er allemaal op ons systeem staan:

$ ls -l /sbin/fsck*
verschillende fsck ' s
die alle fsck bevatten

het draaien van fsck op een ext2/3/4 partitie draait het respectievelijke /sbin/fsck.ext* uitvoerbare bestand. Deze uitvoerbare bestanden zijn op hun beurt harde koppelingen naar het e2fsck uitvoerbare bestand. Dus, zelfs als je fsck op een ext4 partitie draait zou het uiteindelijk e2fsckdraaien.

conclusie

in deze handleiding hebben we fsck behandeld, wat een nuttig hulpmiddel is voor het herstellen van bestandssystemen. Voor meer informatie over het fsck Commando, kijk naar de man page.

Leave a Reply