FSCK (File System Consistency Check) je nástroj příkazového řádku pro kontrolu a opravu chyb souborového systému Linuxu. To zajišťuje integritu a konzistenci souborového systému.
fsck je front-endový program a ke spuštění zavolá příslušný program pro konkrétní souborový systém. Fsck se obvykle spustí poté, co se systém nepodaří spustit, poškodí se souborový systém nebo připojený disk nefunguje správně.
V tomto tutoriálu se naučíme o příkazu fsck a jak opravit souborové systémy v distribuci Linuxu.
Předpoklady
- Linux nebo systém podobný Unixu
- Uživatel s přístupem root
Při použití příkazu fsck
- Systém automaticky zjistí, že systém je nekonzistentní, obvykle po pádu systému, výpadku napájení nebo po nečistém odpojení.
- Systém se nespustí
- Když má systém chybu I/O
- Naplánujte spuštění fsck pro intergerity souborového systému při spouštění nebo každých několik měsíců
příkaz fsck v Linuxu
Příkaz fsck se řídí základní syntaxí.
$ sudo fsck [Option] [Filesystem]
[Option] v syntaxi jsou volby, které jsou dostupné s nástrojem fsck (volby fsck jsou uvedeny na konci tohoto návodu). [Souborový systém] může být zařízení, oddíl, přípojný bod a tak dále. Pokud do [Filesystem] nejsou přidány žádné přihlašovací údaje, fsck zkontroluje zařízení uvedená v souboru fstab.
fsck je standardně součástí všech distribucí Linuxu. Mít dobrou zálohu je bezpečný bod pro spuštění příkazu fsck. fsck uchovává všechny soubory nedotčené a kontroluje pouze integritu souborového systému. Tento příkaz lze spustit ručně nebo automaticky.
Než se pokusíte zkontrolovat nebo opravit souborové systémy, vždy nezapomeňte oddíl odpojit. Pokud tak neučiníte, může dojít k poškození souborového systému.
Zkontrolujte a opravte chyby souborového systému
Fsck se běžně používá k opravě chyb na poškozených souborových systémech ext3 nebo ext4. Chcete-li použít nástroj fsck, musíte se nejprve ujistit, že byl oddíl odpojen. Pokud se pokusíte spustit příkaz fsck na oddílu, aniž byste jej odpojili, zobrazí se chyba a váš proces bude přerušen. Po dokončení procesu můžete znovu připojit souborový systém.
Pokud si nejste jisti názvem zařízení, vyhledejte jej pomocí příkazu df, lsblk nebo fdisk (fdisk -l).
$ sudo df -h
Použijte příkaz unmount, abyste zabránili poškození souborového systému.
Syntaxe:
$ sudo umount [filesystem]
Můžete použít volbu -p spolu s nástrojem fsck k automatické opravě jakýchkoli problémů, které lze bezpečně vyřešit bez zásahu uživatele.
Syntaxe:
$ sudo fsck -p [Filesystem]
Například:
$ sudo umount /dev/sdc
$ sudo fsck -p /dev/sdc
Výstup:
$ sudo fsck -p /dev/sdc
fsck from util-linux 2.34
exfatfsck 1.3.0
Checking file system on /dev/sdc.
File system version 1.0
Sector size 512 bytes
Cluster size 128 KB
Volume size 55 GB
Used space 4 MB
Available space 55 GB
Totally 1 directories and 3 files.
File system checking finished. No errors found.
Po kontrole a opravě nezapomeňte připojit disk.
Opravit chybu kořenového systému souborů
Protože kořenový počítač nelze odpojit, Fsck nemůže kontrolovat chyby. Můžete však spustit fsck v režimu obnovy.
Restartováním počítače v záchranném režimu můžete spustit fsck. Pomocí následujících kroků můžete spustit fsck a opravit chyby souborů kořenového systému.
Vstupte do spouštěcí nabídky a během restartu vyberte „Pokročilé možnosti“.
Z nabídky pokročilých možností vyberte „Recovery mode“ a poté z rozbalovací nabídky vyberte „fsck“.
Zobrazí se okno se zprávou s dotazem, zda chcete znovu připojit váš / souborový systém. Vyberte možnost „Ano“.
Výběrem možnosti "Obnovit" se nyní můžete vrátit k normálnímu spouštění.
Možnosti fsck
Existuje seznam možností, které jsou k dispozici s nástrojem fsck pro konkrétní účely. Některé z užitečných možností fsck jsou:
1. Proveďte fsck dry run – Tím se provede testovací běh.
fsck -N /dev/sdc
2. Spustit neinteraktivně – na všechny otázky odpoví ano, vyhnete se tak všem výzvám
fsck -y /dev/sdc
3. Stačí vytisknout fsck Error do Stdout bez opravy
fsck -n /dev/sdc
4. Spusťte fsck na všech souborových systémech
fsck -AR
-R přeskočí kořenový souborový systém, protože jej nelze odpojit na běžícím počítači
5. Spusťte fsck pro konkrétní souborový systém
Příkaz fsck je obal a interně používá příslušný příkaz kontroly souborového systému (fsck.*
). Můžete najít následující různé příkazy kontroly fsck, jako je fsck.ext2, fsck.ext3, fsck.ext4 atd.).
# cd /sbin
# ls fsck*
fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.minix fsck.xfs
Následující tabulka ukazuje všechny možnosti příkazu fsck.
Možnost | Popis |
-A | Zkontrolujte všechny systémy souborů v /etc/fstab |
-C | Zobrazit ukazatel průběhu |
-f | Důrazně zkontrolujte souborový systém |
-l | Zamkněte zařízení |
-M | Nekontrolujte připojené souborové systémy |
-N | Vytiskněte výstup bez provedení jakýchkoli akcí |
-P | Zkontrolujte paralelně více souborových systémů |
-p | Automaticky opravte všechny problémy, které lze bezpečně vyřešit bez nutnosti zásahu uživatele |
-R | Nekontrolujte kořenový souborový systém při použití s -A |
-r | Vytisknout statistiky pro každé zařízení, které bylo zkontrolováno |
-T | Nezobrazovat název |
-t | Specifikujte typy souborových systémů, které se mají kontrolovat (to lze provést pomocí man příkaz) |
-v | Poskytněte podrobný výstup |
-y | Předpokládejte „ano“ na všechny otázky |
fstab je soubor, který řídí operační systém, jak a kam má připojovat oddíly. Seznam položek v souboru fstab můžete najít tak, že jej otevřete pomocí /etc/fstab.
Možnost
Ukázkový soubor /etc/fstab:
<filesystem> <mount point> <type> <options> <dump> <pass>
/dev/sda / ext4 errors=remount-ro 0 1
/dev/sdb none swap sw 0 0
/dev/sdc /mnt/data ext4 defaults,noatime,nofail 0 2
Závěr
V tomto tutoriálu jsme se naučili používat příkaz fsck ke kontrole a opravě souborových systémů v Linuxu. Úplnější popis naleznete na manuálových stránkách fsck.