Az „fsck” használata a fájlrendszer-hibák javítására Linux alatt
A Linux fájlrendszerek felelősek az adatok tárolásának és helyreállításának megszervezéséért. Így vagy úgy, idővel a fájlrendszer megsérülhet, és előfordulhat, hogy bizonyos részei nem lesznek elérhetők. Ha a fájlrendszerben ilyen inkonzisztencia alakul ki, javasoljuk, hogy ellenőrizze az integritását.
Ezt az fsck nevű rendszersegédprogrammal (fájlrendszer-konzisztencia-ellenőrzés) hajthatja végre, amely automatikusan ellenőrzi a gyökérfájlrendszert a rendszerindítás során, vagy manuálisan futtatja.
Ebben a cikkben áttekintjük az fsck parancsot és annak használatát a Linux lemezhibáinak kijavításában.
Mikor kell használni az fsck parancsot Linuxban
Különféle forgatókönyvek léteznek, amikor az fsck programot szeretné futtatni. Íme néhány példa:
- A rendszer nem indul el.
- A rendszeren lévő fájlok megsérülnek (gyakran beviteli/kimeneti hibákat láthat).
- A csatlakoztatott meghajtó (beleértve a flash meghajtókat/SD-kártyákat) nem a várt módon működik.
fsck parancsbeállítások
Az fsck parancsot szuperfelhasználói jogosultságokkal vagy root-val kell futtatni. Különféle érvekkel használhatod. Használatuk az adott esettől függ. Az alábbiakban néhány fontosabb lehetőséget láthat:
-A
– Az összes fájlrendszer ellenőrzésére szolgál. A lista a /etc/fstab
fájlból származik.-C
– A folyamatjelző sáv megjelenítése.-l
– Zárolja az eszközt, hogy garantálja, hogy más program ne próbálja meg használni a partíciót az ellenőrzés során.-M
– Ne ellenőrizze a csatlakoztatott fájlrendszereket.-N
– Csak azt jelenítse meg, ami történne – nem történik tényleges változtatás.-P
– Ha párhuzamosan szeretné ellenőrizni a fájlrendszereket, beleértve a root fájlrendszert is.-R
– Ne ellenőrizze a gyökér fájlrendszert. Ez csak a „-A
” esetén hasznos.-r
– Statisztikák megadása minden egyes ellenőrzött eszközről.-T
– Nem mutatja a címet.-t
– Kizárólag az ellenőrizendő Linux fájlrendszer-típusok megadása. A típusok lehetnek vesszővel elválasztott listák.-V
– Leírja, hogy mi történik éppen.
Futtassa az fsck parancsot a Linux fájlrendszer hibáinak kijavításához
Az fsck futtatásához meg kell győződnie arról, hogy az ellenőrizni kívánt partíció nincs csatlakoztatva. Ebben a cikkben a második meghajtómat fogom használni, amely a /dev/sdb
fájlba van beépítve a /mnt
mappába.
Ez történik, ha megpróbálom futtatni az fsck parancsot, amikor a partíció fel van szerelve.
fsck /dev/sdb
Ennek elkerülése érdekében válassza le a partíciót a segítségével.
umount /dev/sdb
Ezután az fsck segítségével biztonságosan futtatható.
fsck /dev/sdb
Az fsck kilépési kódok megértése
Az fsck futtatása után egy kilépési kódot ad vissza. Ezek a kódok az fsck kézikönyvében a következő futtatással tekinthetők meg:
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 Repair Linux fájlrendszer
Néha egynél több hiba is előfordulhat egy fájlrendszerben. Ilyen esetekben érdemes lehet, hogy az fsck automatikusan megpróbálja kijavítani a hibákat. Ezt a következőkkel lehet megtenni:
fsck -y /dev/sdb
A -y
jelző automatikusan “yes ”
az fsck hibajavításra irányuló bármely felszólítására.
Hasonlóképpen futtathatja ugyanazt az összes fájlrendszeren (root nélkül):
fsck -AR -y
Az fsck futtatása Linux gyökérpartíción
Bizonyos esetekben szükség lehet az fsck futtatására a rendszer root partícióján. Mivel nem tudja futtatni az fsck parancsot, amíg a partíció fel van szerelve, kipróbálhatja az alábbi lehetőségek egyikét:
- Az fsck kényszerítése a rendszerindításkor
- Futtassa az fsck-t mentési módban
Mindkét helyzetet áttekintjük.
Az fsck kényszerítése rendszerindításkor
Ez viszonylag könnyen elvégezhető, csak annyit kell tennie, hogy létrehoz egy forcefsck nevű fájlt a rendszer gyökér partícióján. Használja a következő parancsot:
touch /forcefsck
Ezután egyszerűen kényszerítheti vagy ütemezheti a rendszer újraindítását. A következő rendszerindítás során az fsck végrehajtásra kerül. Ha az állásidő kritikus, ajánlatos ezt alaposan megtervezni, mivel ha sok használt inode van a rendszeren, az fsck hosszabb időt vehet igénybe.
A rendszerindítás után ellenőrizze, hogy a fájl létezik-e még:
ls /forcefsck
Ha igen, érdemes lehet eltávolítani, hogy elkerülje az fsck funkciót minden rendszerindításkor.
Futtassa az fsck programot Rescue Mode módban
Az fsck futtatásához mentési módban még néhány lépésre van szükség. Először készítse elő a rendszert az újraindításra. Állítsa le a kritikus szolgáltatásokat, például a MySQL/MariaDB stb., majd írja be.
reboot
A rendszerindítás során tartsa lenyomva a shift
billentyűt, hogy megjelenjen a grub menü. Válassza a „Speciális beállítások” lehetőséget.
Ezután válassza a „Helyreállítási mód” lehetőséget.
A következő menüben válassza az „fsck” lehetőséget.
A rendszer megkérdezi, hogy szeretné-e újracsatlakoztatni a /
fájlrendszert. Válassza a „igen ”
lehetőséget.
Valami ehhez hasonlót kellene látnod.
Ezután a „Folytatás” kiválasztásával folytathatja a normál rendszerindítást.
Következtetés
Ebben az oktatóanyagban megtanulta az fsck használatát és konzisztencia-ellenőrzések futtatását különböző Linux fájlrendszereken. Ha bármilyen kérdése van az fsck-vel kapcsolatban, kérjük, ne habozzon feltenni azokat az alábbi megjegyzés részben.