Hoe ‘fsck’ te gebruiken om Linux-bestandssysteemfouten te repareren

Linux-bestandssystemen zijn verantwoordelijk voor het organiseren van hoe gegevens worden opgeslagen en hersteld. Op de een of andere manier kan het bestandssysteem na verloop van tijd beschadigd raken en kunnen bepaalde delen ervan niet toegankelijk zijn. Als uw bestandssysteem dergelijke inconsistenties vertoont, wordt het aanbevolen om de integriteit ervan te controleren.

Dit kan worden uitgevoerd via een systeemhulpprogramma genaamd fsck (bestandssysteemconsistentiecontrole), dat automatisch het root-bestandssysteem controleert tijdens het opstarten of handmatig wordt uitgevoerd.

In dit artikel gaan we de fsck-opdracht en het gebruik ervan bekijken om u te helpen bij het herstellen van fouten op Linux-schijf.

Wanneer fsck-opdracht gebruiken in Linux

Er zijn verschillende scenario’s waarin u fsck wilt uitvoeren. Hier zijn een paar voorbeelden:

  • Het systeem start niet op.
  • Bestanden op het systeem raken beschadigd (vaak ziet u invoer-/uitvoerfouten).
  • De aangesloten schijf (inclusief flashstations/SD-kaarten) werkt niet zoals verwacht.

Opties van fsck-opdracht

De fsck-opdracht moet worden uitgevoerd met supergebruikersrechten of root. U kunt het gebruiken met verschillende argumenten. Hun gebruik hangt af van uw specifieke situatie. Hieronder ziet u enkele van de belangrijkere opties:

  • -A – Gebruikt voor het controleren van alle bestandssystemen. De lijst wordt overgenomen uit /etc/fstab.
  • -C – Toon voortgangsbalk.
  • -l – Vergrendelt het apparaat om te garanderen dat geen ander programma zal proberen de partitie te gebruiken tijdens de controle.
  • -M – Controleert niet gemonteerde bestandssystemen.
  • -N – Toont alleen wat zou worden gedaan – er worden geen daadwerkelijke wijzigingen aangebracht.
  • -P – Als u bestandssystemen parallel wilt controleren, inclusief root.
  • -R – Controleert het root-bestandssysteem niet. Dit is alleen nuttig met ‘-A‘.
  • -r – Geeft statistieken voor elk apparaat dat wordt gecontroleerd.
  • -T – Toont de titel niet.
  • -t – Specificeert exclusief de Linux-bestandssysteemtypen die moeten worden gecontroleerd. Typen kunnen als komma-gescheiden lijsten worden opgegeven.
  • -V – Geeft een beschrijving van wat er wordt gedaan.

Voer het fsck-commando uit om Linux-bestandssysteemfouten te herstellen

Om fsck uit te voeren, moet u ervoor zorgen dat de partitie die u gaat controleren niet is gemonteerd. Voor het doel van dit artikel zal ik mijn tweede schijf /dev/sdb gebruiken die is gemonteerd in /mnt.

Dit is wat er gebeurt als ik probeer fsck uit te voeren wanneer de partitie is gemonteerd.

# fsck /dev/sdb
Run fsck on Mounted Partition

Om dit te vermijden, demonteer de partitie met.

# umount /dev/sdb

Dan kan fsck veilig worden uitgevoerd.

# fsck /dev/sdb
Run fsck on Linux Partition

Het begrijpen van fsck Exit-codes

Na het uitvoeren van fsck, zal het een exitcode retourneren. Deze codes kunnen worden gezien in de handleiding van fsck door het volgende uit te voeren:

# 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            

Herstel Linux-bestandssysteem met fsck

Soms kunnen er meer dan één fout worden gevonden op een bestandssysteem. In dergelijke gevallen wilt u misschien dat fsck automatisch probeert de fouten te corrigeren. Dit kan worden gedaan met:

# fsck -y /dev/sdb

De -y-vlag, automatisch “ja” beantwoorden op alle prompts van fsck om een fout te corrigeren.

Vergelijkbaar hiermee kunt u hetzelfde uitvoeren op alle bestandssystemen (zonder root):

$ fsck -AR -y 

Hoe fsck uit te voeren op het Linux-root-partitie

In sommige gevallen moet u fsck uitvoeren op de root-partitie van uw systeem. Aangezien u fsck niet kunt uitvoeren terwijl de partitie is gemount, kunt u een van deze opties proberen:

  • Forceer fsck bij het opstarten van het systeem
  • Voer fsck uit in de reddingsmodus

We zullen beide situaties bespreken.

Forceer fsck bij het opstarten van het systeem

Dit is relatief eenvoudig te voltooien, het enige wat je hoeft te doen is een bestand genaamd forcefsck aanmaken in de hoofdpartitie van je systeem. Gebruik het volgende commando:

# touch /forcefsck

Vervolgens kun je eenvoudig een herstart van je systeem afdwingen of plannen. Tijdens de volgende opstart wordt de fsck uitgevoerd. Als downtime kritiek is, wordt aangeraden dit zorgvuldig te plannen, omdat als er veel gebruikte inodes op je systeem zijn, fsck mogelijk wat extra tijd in beslag neemt.

Nadat je systeem is opgestart, controleer of het bestand nog steeds bestaat:

# ls /forcefsck

Als dat het geval is, wil je het misschien verwijderen om fsck bij elke systeemopstart te vermijden.

Voer fsck uit in Reddingsmodus

Het uitvoeren van fsck in reddingsmodus vereist een paar extra stappen. Bereid eerst je systeem voor op herstart. Stop alle kritieke services zoals MySQL/MariaDB etc en typ vervolgens.

# reboot

Tijdens het opstarten houd je de shift-toets ingedrukt zodat het grub-menu wordt weergegeven. Selecteer ” Geavanceerde opties “.

Grub Advanced Options

Kies vervolgens ” Herstelmodus “.

Select Linux Recovery Mode

Selecteer in het volgende menu ” fsck “.

Select fsck Utility

Je wordt gevraagd of je wilt dat je /-bestandssysteem opnieuw wordt gemount. Selecteer "ja".

Confirm Root Filesystem

Je zou iets soortgelijks moeten zien als dit.

Running fsck Filesystem Check

U kunt vervolgens normaal opstarten door “Hervatten” te selecteren.

Select Normal Boot
Conclusie

In deze tutorial heb je geleerd hoe je fsck kunt gebruiken en consistentiecontroles kunt uitvoeren op verschillende Linux-bestandssystemen. Als u vragen heeft over fsck, aarzel dan niet om ze in het opmerkingengedeelte hieronder in te dienen.

Source:
https://www.tecmint.com/fsck-repair-file-system-errors-in-linux/