FSCK(8) Administracja systemem FSCK(8) NAZWA fsck - sprawdza i naprawia linuksowy system plikow SKLADNIA fsck [-lsAVRTMNP] [-r [deskr-pl]] [-C [deskr-pl]] [-t typ-systemu-plikow] [system-plikow...] [--] [opcje-zalezne-od-syst-pl] OPIS fsck sluzy do sprawdzania i, opcjonalnie, do naprawy jednego lub kilku linuksowych systemow plikow. System-plikow moze byc nazwa urzadzenia (np. /dev/hdc1, /dev/sdb2), punktem montowania (np. /, /usr, /home), albo etykieta systemu plikow lub identyfikatorem UUID (np. UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd lub LABEL=root). W celu skrocenia lacznego czasu potrzebnego do sprawdzenia wszystkich systemow plikow, program fsck bedzie usilowal sprawdzac rownolegle systemy plikow umieszczone na fizycznie roznych napedach dyskow. Jesli nie okreslono systemu plikow w wierszu polecen, ani nie uzyto opcji -A, fsck domyslnie sprawdzi po kolei systemy plikow z /etc/fstab. Jest to odpowiednik opcji -As. Status zakonczenia zwracany przez fsck jest suma nastepujacych warunkow: 0 Brak bledow 1 Poprawiono bledy systemu plikow 2 System powinien zostac przeladowany (reboot) 4 Pozostawiono nienaprawione bledy systemu plikow 8 Blad dzialania 16 Blad uzycia lub skladni 32 Sprawdzanie zostalo przerwane przez uzytkownika 128 Blad biblioteki wspoldzielonej Status zakonczenia zwracany, gdy sprawdzane jest kilka systemow plikow jest bitowa alternatywa (OR) statusow zakonczenia dla kazdego ze sprawdzanych systemow plikow. W rzeczywistosci fsck jest po prostu interfejsem dla roznych programow sprawdzajacych dostepne w Linuksie systemy plikow (fsck.typ-systemu-plikow). Poszukiwanie programu specyficznego dla danego systemu plikow odbywa sie w zmiennej srodowiskowej PATH. Jesli PATH jest niezdefiniowana, przeszukiwane jest /sbin. Wiecej szczegolow mozna znalezc na stronach podrecznika programow sprawdzajacych wlasciwych dla poszczegolnych systemow plikow. OPCJE -l Tworzy wylaczny plik blokady flock(2) (w /run/fsck/<nazwa-dysku>.lock) dla calego urzadzenia dyskowego. Opcja moze byc uzyta wylacznie z jednym urzadzeniem (co oznacza, ze opcje -A i -l wykluczaja sie wzajemnie). Zaleca sie uzycie tej opcji, gdy uruchomione jest kilka kopii fsck w tym samym czasie. Opcja jest ignorowana, gdy zostanie uzyta w stosunku do wielu urzadzen lub w odniesieniu do dyskow nieobrotowych. Program fsck nie blokuje nizszej warstwy urzadzen, gdy jest wykonywany na urzadzeniach typu "stacked" (np. MD - tzw. RAID programowy lub DM - device mapper) - ta funkcja nie zostala jeszcze zaimplementowana. -r [deskr-pl] Wyswietla okreslone statystyki po zakonczeniu kazdego fsck. Na statystyki skladaja sie: status zakonczenia, maksymalny rozmiar uruchomionego zestawu (w kilobajtach), czas jaki uplynal i czas procesora dla uzytkownika i systemu uzyty przez przebieg fsck, np.: /dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186 Interfejsy GUI moga podac deskryptor pliku deskr-pl; w takim przypadku pasek postepu bedzie przesylany do tego deskryptora w formacie przetwarzalnym maszynowo, np. /dev/sda1 0 92828 4.002804 2.677592 0.86186 -s Wykonuje operacje fsck kolejno, szeregowo. Jest to dobre podejscie, jesli sprawdzanych jest wiele systemow plikow, a programy sprawdzajace dzialaja w trybie interaktywnym. (Uwaga: e2fsck(8) domyslnie dziala w trybie interaktywnym. By uruchomic e2fsck(8) w trybie nieinteraktywnym, trzeba podac opcje -p lub -a, gdy bledy maja byc naprawiane automatycznie, albo opcje -n, gdy nie maja byc naprawiane). -t lista-syst-pl Okresla typ(y) sprawdzanego(ych) systemu(ow) plikow. Jesli podano opcje -A, to sprawdzane beda tylko te systemy plikow, ktore pasuja do listy lista-syst-pl. Parametr lista-syst-pl stanowi rozdzielona przecinkami liste systemow plikow oraz podanych opcji. Dowolny z systemow plikow na tej liscie moze byc poprzedzony operatorem negacji "no" lub "!", co oznacza sprawdzanie wylacznie systemow plikow nie wystepujacych na liscie lista-syst-pl. Jesli zaden z systemow plikow w lista-syst-pl nie zostanie poprzedzony operatorem negacji, to sprawdzane beda wylacznie systemy plikow wystepujace na liscie lista-syst-pl. Na rozdzielonej przecinkami liscie lista-syst-pl moga rowniez wystepowac podane opcje. Musza one miec postac opts=opcja-syst-pl, i moga byc poprzedzone operatorem negacji. Jesli na liscie wystepuje podana opcja, to beda sprawdzane tylko te systemy plikow, ktorych wpis w /etc/fstab zawiera (lub nie zawiera, gdy podana opcja zostala poprzedzona operatorem negacji) opcje opcja-syst-pl w odpowiednim polu pliku /etc/fstab. Na przyklad, jesli opts=ro pojawi sie w liscie-syst-pl, to tylko systemy plikow z pliku /etc/fstab, posiadajace opcje ro beda sprawdzone. Dla zgodnosci z dystrybucja Mandrake, w ktorej skrypty startowe uzaleznione sa od nieautoryzowanej zmiany interfejsu uzytkownika programu fsck, gdy typem systemu plikow jest loop, to jest to traktowane tak, jakby podano opts=loop jako argument opcji -t. Zwykle, typ systemu plikow mozna okreslic wyszukujac dany system plikow syst-pl w pliku /etc/fstab i korzystajac z odpowiedniego wpisu. Jezeli nie da sie go okreslic, a podano jako argument opcji -t pojedynczy system plikow, to fsck uzyje typu wyznaczonego przez te opcje. Jezeli typ ten nie jest dostepny, to uzywany jest typ domyslny (obecnie ext2). -A Przechodzi przez plik /etc/fstab i probuje sprawdzic wszystkie systemy plikow w jednym przebiegu. Opcja ta jest najczesciej wykorzystywana przez plik startowy /etc/rc, zamiast wielu polecen sprawdzajacych pojedyncze systemy plikow. Glowny system plikow zostanie sprawdzony jako pierwszy, chyba ze podano opcje -P (patrz ponizej). Nastepnie beda sprawdzane systemy plikow w kolejnosci okreslonej przez liczbe wystepujaca w polu fs_passno (szostym) pliku /etc/fstab. Systemy plikow z wartoscia fs_passno wynoszaca 0 beda pomijane i w ogole nie beda sprawdzane. Systemy plikow z wartoscia fs_passno wieksza od zera beda sprawdzane w kolejnosci rosnacej, tzn. systemy plikow z mniejsza wartoscia fs_passno beda sprawdzane wczesniej. Jezeli istnieje kilka systemow plikow o tym samym numerze przejscia, to fsck bedzie usilowal sprawdzic je rownolegle, jednakze bedzie unikal jednoczesnego sprawdzania wielu systemow plikow na tym samym dysku fizycznym. Program fsck nie sprawdza urzadzen typu "stacked" (RAID, dm-crypt, ...) rownolegle z zadnym innym urzadzeniem. Patrz tez nizej ustawienie FSCK_FORCE_ALL_PARALLEL. System plikow /sys jest uzywany do poznania zaleznosci miedzy urzadzeniami. Stad tez, bardzo powszechna konfiguracja w /etc/fstab jest ustawienie dla glownego systemu plikow pola fs_passno o wartosci 1, zas dla wszystkich pozostalych systemow plikow przypisanie fs_passno wartosci 2. Pozwoli to fsck na automatyczne rownolegle uruchamianie programow sprawdzajacych systemy plikow, jezeli tylko bylo by to korzystne. Administratorzy systemow moga zrezygnowac z uzywania takiej konfiguracji jesli z jakiegos powodu chca uniknac rownoleglego sprawdzania systemow plikow - na przyklad, jesli dany komputer niewiele pamieci, tak ze problemem jest intensywne zastepowanie stron pamieci (paging). Program fsck zwykle nie sprawdza, czy urzadzenie rzeczywiscie istnieje, przed wywolaniem wlasciwego programu sprawdzajacego dany system plikow. W zwiazku z tym, nieistniejace urzadzenia moga spowodowac wejscie systemu w tryb naprawy systemu plikow podczas uruchamiania systemu, jesli jeden z wlasciwych danemu systemowi plikow programow sprawdzajacych, zwroci blad krytyczny. Opcja montowania nofail pliku /etc/fstab moze zostac uzyta, aby wymusic pomijanie nieistniejacych urzadzen przez fsck. Program fsck pomija rowniez nieistniejace urzadzenia, ktore maja specjalny typ systemu plikow auto. -C [deskr-pl] Wyswietla wskazniki zakonczenia/postepu dla systemow plikow, ktore je wspieraja (aktualnie tylko ext[234]). fsck bedzie tak sterowac programami sprawdzajacymi systemy plikow, aby tylko jeden z nich wyswietlal wskaznik postepu w danej chwili. Interfejsy graficzne moga podac deskryptor pliku deskr-pl i w takim przypadku informacje paska postepu zostana wyslane do owego deskryptora. -M Nie sprawdza zamontowanych systemow plikow i zwraca dla nich status zakonczenia rowny zero. -N Nie wykonuje operacji, jedynie pokazuje co byloby wykonane. -P Jesli wlaczona jest opcja -A, to sprawdza glowny system plikow rownolegle ze sprawdzaniem innych systemow. Nie jest to najbezpieczniejsza czynnosc pod sloncem, jaka mozna wykonac, poniewaz jesli glowny system plikow jest watpliwy, to nawet plik binarny e2fsck(8) moze byc uszkodzony! Opcja ta jest przeznaczona glownie dla tych administratorow systemow, ktorzy nie chca partycjonowac ponownie glownego systemu plikow, tak by byl maly i zwarty (co jest tak naprawde poprawnym rozwiazaniem). -R Podczas sprawdzania wszystkich systemow plikow z opcja -A, omija glowny system plikow (przydatne w przypadku, gdy jest on juz zamontowany do odczytu/zapisu). -T Nie pokazuje tytulu przy starcie. -V Wyswietla informacje w trybie szczegolowym, lacznie ze wszystkimi wykonywanymi poleceniami specyficznymi dla poszczegolnych systemow plikow. -?, --help Wyswietla ten tekst i wychodzi. --version Wyswietla informacje o wersji i konczy dzialanie. OPCJE MONTOWANIA SPECYFICZNE DLA ROZNYCH SYSTEMOW PLIKOW Opcje nierozumiane przez fsck sa przekazywane programowi sprawdzajacemu, specyficznemu dla danego systemu plikow! Parametry te nie moga zawierac wlasnych argumentow, gdyz fsck nie ma mozliwosci rozpoznania, ktore z parametrow posiadaja argumenty, a ktore nie. Dowolne opcje wystepujace po -- sa traktowane jako opcje specyficzne dla danego systemu plikow, ktore maja zostac przekazane do odpowiedniego programu sprawdzajacego ten system plikow. Prosze zauwazyc, ze fsck nie zostal zaprojektowany w celu przekazywania dowolnie skomplikowanych opcji do programow sprawdzajacych specyficznych dla poszczegolnych systemow plikow. Jesli istnieje potrzeba zrobienia czegos skomplikowanego, prosze po prostu bezposrednio uruchomic wlasciwy dla danego systemu plikow program sprawdzajacy. Jesli programowi fsck zostanie przekazana niezmiernie skomplikowana opcja wraz z argumentami i program nie uczyni tego, czego sie spodziewano, to nie nalezy nikomu zawracac glowy zglaszaniem tego jako bledu. Prawie na pewno robi sie wowczas cos, czego nie nalezy robic za pomoca fsck. Opcje specyficzne dla poszczegolnych systemow plikow nie sa zestandaryzowane. SRODOWISKO Na zachowanie programu fsck maja wplyw nastepujace zmienne srodowiskowe: FSCK_FORCE_ALL_PARALLEL Jesli ta zmienna jest ustawiona, fsck bedzie probowal uruchomic rownolegle programy sprawdzajace wszystkie podane systemy plikow, niezaleznie od tego, czy systemy plikow znajduja sie na tym samym, czy na roznych urzadzeniach. (Jest to przydatne w przypadku systemow RAID lub wysokiej klasy systemow pamieci masowej, jak np. sprzedawane przez firmy takie, jak IBM czy EMC). Prosze zauwazyc, ze wartosc fs_passno jest wciaz uzywana. FSCK_MAX_INST Ta zmienna srodowiskowa ogranicza maksymalna liczbe uruchamianych jednoczesnie programow sprawdzajacych systemy plikow. W przypadku konfiguracji zawierajacych duza liczbe dyskow, pozwala to uniknac jednoczesnego uruchamiania przez fsck zbyt wielu programow sprawdzajacych, co mogloby przeciazyc dostepne w systemie zasoby procesorow i pamieci. Wartosc zero pozwala na nieograniczone mnozenie sie procesow. Jest to aktualnie zachowanie domyslne, jednakze przyszle wersje fsck moga probowac automatycznie okreslac ilosc jednoczesnych sprawdzan systemow plikow na podstawie zgromadzonych przez system operacyjny danych ewidencyjnych. PATH Zmienna srodowiskowa PATH jest uzywana do znalezienia podprogramow do konkretnych systemow plikow. FSTAB_FILE Ta zmienna srodowiskowa pozwala administratorowi systemu zmiane standardowego polozenia pliku /etc/fstab. Sluzy ona rowniez osobom rozwijajacym program, do testowania fsck. LIBBLKID_DEBUG=all wlacza wyjscie debugowania libblkid. LIBMOUNT_DEBUG=all wlacza wyjscie debugowania libmount. PLIKI /etc/fstab UWAGI Podczas rozruchu, systemd nie wywoluje fsck -A. Zamiast tego, planuje indywidualna aktywacje montowan, biorac pod uwage zaleznosci od powiazanych urzadzen, sieci i innych czynnikow. Co za tym idzie, fsck jest wywolywany oddzielnie dla kazdego urzadzenia. AUTORZY Theodore Ts'o <tytso@mit.edu>, Karel Zak <kzak@redhat.com> ZOBACZ TAKZE fstab(5), mkfs(8), fsck.ext2(8) or fsck.ext3(8) or e2fsck(8), fsck.cramfs(8), fsck.jfs(8), fsck.nfs(8), fsck.minix(8), fsck.msdos(8), fsck.vfat(8), fsck.xfs(8), reiserfsck(8) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow <https://github.com/util-linux/util-linux/issues>. DOSTEPNOSC Polecenie fsck jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>. util-linux 2.41 2025-03-29 FSCK(8)