Weboldal keresés

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.