FSCK(8)

NAZWA
fsck - sprawdzenie i naprawa linuksowego systemu plików

SKŁADNIA
fsck [ -sACVRTNP ] [ -t fstype ] filesys [ ... ] [--] [ fsck-options ]

OPIS
fsck służy do sprawdzania i, opcjonalnie, do naprawy jednego lub kilku linuksowych systemów plików. filesys może być nazwą urządzenia (np. /dev/hdc1, /dev/sdb2), punktem montowania (np. /, /usr, /home), albo etykietą ext2 lub identyfikatorem UUID (np. UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd lub LABEL=root). W celu skrócenia łącznego czasu potrzebnego do sprawdzenia wszystkich systemów plików, program fsck będzie usiłował sprawdzać równolegle systemy plików umieszcone na fizycznie różnych napędach dysków.

Kod zakończenia zwracany przez fsck jest sumą następujących warunków:
    0    - Bez błędów
    1    - Poprawiono błędy systemu plików
    2    - System powinien zostać przeładowany (reboot)
    4    - Pozostawiono nie naprawione błędy systemu plików
    8    - Błąd działania
    16    - Błąd użycia (składni)
    128    - Błąd biblioteki współdzielonej
Kod zakończenia zwracany, gdy w wyniku użycia opcji -A sprawdzane są wszystkie systemy plików jest bitową alternatywą (OR) kodów zakończenia dla każdego ze sprawdzanych systemów plików.

Faktycznie, fsck jest po prostu interfejsem dla różnych programów sprawdzających dostępne w Linuksie systemy plików (fsck.fstype). Poszukiwanie programu specyficznego dla danego systemu plików odbywa się w pierwszej kolejności w /sbin, następnie w /etc/fs i /etc, a ostatecznie w katalogach wymienionych w zmiennej środowiskowej PATH. Więcej szczegółów można znaleźć na stronach podręcznika programów sprawdzających właściwych dla poszczególnych systemów plików.

OPCJE

-s  Wykonywanie operacji fsck kolejno, szeregowo. Dobre podejście, jeśli sprawdzanych jest wiele systemów plików, a programy sprawdzające działają w trybie interaktywnym. (Uwaga: e2fsck(8) domyślnie działa w trybie interaktywnym. By uruchomić e2fsck(8) w trybie nieinteraktywnym, trzeba podać opcję -p lub -a, gdy błędy mają być naprawiane automatycznie, albo opcję -n, gdy nie mają być naprawiane.)

-t fslist
    Określa typ(y) sprawdzanego(ych) systemu(ów) plików. Jeśli podano opcję -A, to sprawdzane będą tylko te systemy plików, które pasują do listy fslist. Parametr fslist stanowi rozdzieloną przecinkami listę systemów plików oraz specyfikatorów opcji. Dowolny z systemów plików na tej liście może być poprzedzony operatorem negacji 'no' lub '!', co oznacza sprawdzanie wyłącznie systemów plików nie występujących na liście fslist. Jeśli żaden z systemów plików w fslist nie zostanie poprzezdzony operatorem negacji, to sprawdzane będą wyłącznie systemy plików występujące na liście fslist.

    Na rozdzielonej przecinkami liście fslist mogą również występować specyfikatory opcji. Muszą one mieć postać opts=fs-option, i mogą być poprzedzone operatorem negacji. Jeśli na liście występuje specyfikator opcji, to będą sprawdzane tylko te systemy plików, których wpis w /etc/fstab zawiera (lub nie zawiera, gdy specyfikator został poprzedzony operatorem negacji) opcję fs-option w odpowiednim polu pliku /etc/fstab.

    Dla zgodności z dystrybucją Mandrake, w której skrypty startowe uzależnione są od nieautoryzowanej zmiany interfejsu użytkownika programu fsck, gdy typem systemu plików jest loop, to jest to traktowane tak, jakby podano opts=loop jako argument opcji -t.

    Zwykle, typ systemu plików można określić wyszukując dany system plików filesys w pliku /etc/fstab i korzystając z odpowiedniego wpisu. Jeżeli nie da się go określić, a podano jako argument opcji -t pojedynczy system plików, to fsck użyje typu wyznaczonego przez tę opcję. Jeżeli typ ten nie jest dostępny, to używany jest typ domyślny (obecnie ext2).

-A  Przechodzi przez plik /etc/fstab i próbuje sprawdzić wszystkie systemy plików w jednym przebiegu. Opcja ta jest najczęściej wykorzystywana przez plik startowy /etc/rc, zamiast wielu poleceń sprawdzających pojedyncze systemy plików.

    Główny system plików (/) zostanie sprawdzony jako pierwszy, chyba że podano opcję -P (patrz poniżej). Następnie będą sprawdzane systemy plików w kolejności określonej przez liczbę występującą w polu fs_passno (szóstym) pliku /etc/fstab. Systemy plików z wartością fs_passno wynoszącą 0 będą pomijane i w ogóle nie będą sprawdzane. Systemy plików z wartością fs_passno większą od zera będą sprawdzane w kolejności rosnącej, tzn. systemy plików z mniejszą wartością fs_passno będą sprawdzane wcześniej. Jeżeli istnieje kilka systemów plików o tym samym numerze przejścia, to e2fsck będzie usiłował sprawdzić je równolegle, jednakże będzie unikał jednoczesnego sprawdzania wielu systemów plików na tym samym dysku fizycznym.

    Stąd też, bardzo powszechną konfiguracją w /etc/fstab jest ustawienie dla głównego systemu plików pola fs_passno o wartości 1, zaś dla wszystkich pozostałych systemów plików przypisanie fs_passno wartości 2. Pozwoli to fsck na automatyczne równoległe uruchamianie programów sprawdzających systemy plików, jeżeli tylko było by to korzystne. Administratorzy systemów mogą zrezygnować z używania takiej konfiguracji jeśli z jakiegoś powodu chcą uniknąć równoległego sprawdzania systemów plików --- na przykład, jeśli dana maszyna ma niewiele pamięci, tak że problemem jest intensywne zastępowanie stron pamięci (paging).

-C  Wyświetla wskaźniki zakończenia/postępu dla systemów plików, które je wspieraja (aktualnie tylko dla ext2). fsck będzie tak sterować programami sprawdzającymi systemy plików, aby tylko jeden z nich wyświetlał wskaźnik postępu w danej chwili.

-N  Nie wykonuje operacji, jedynie pokazuje co byłoby wykonane.

-P  Jeśli włączona jest opcja -A, to sprawdza główny system plików równolegle ze sprawdzaniem innych systemów. Nie jest to najbezpieczniejsza czynność pod słońcem, jaką móżna wykonać, ponieważ jeśli główny system plików jest wątpliwy, to nawet binarium e2fsck(8) może być uszkodzone! Opcja ta jest przeznaczona głównie dla tych administratorów systemów, którzy nie chcą repartycjonować głównego systemu plików, tak by był mały i zwarty (co jest tak naprawdę poprawnym rozwiązaniem).

-R  Podczas sprawdzania wszystkich systemów plików z opcją -A, omija główny system plików (w przypadku, gdy jest on już zamontowany do odczytu/zapisu).

-T  Nie pokazuje tytułu przy starcie.

-V  Tryb gadatliwy. Wyświetlane są szczegółowe komunikaty, łącznie ze wszystkimi wykonywanymi poleceniami specyficznymi dla poszczególnych systemów plików.

fsck-options
    Opcje nie rozumiane przez fsck są przekazywane programowi sprawdzającemu, specyficznemu dla danego systemu plików. Parametry te nie mogą zawierać włanych argumentów, gdyż fsck nie ma możliwości rozpoznania, które z parametrów posiadają argumenty, a które nie. Dowolne opcje występujące po -- są traktowane jako opcje specyficzne dla danego systemu plików, które mają zostać przekazane do odpowiedniego programu sprawdzającego ten system plików.

    Proszę zauważyć, że fsck nie został zaprojektowany w celu przekazywania dowolnie skomplikowanych opcji do programów sprawdzających specyficznych dla poszczególnych systemów plików. Jeśli istnieje potrzeba zrobienia czegoś skomplikowanego, proszę po prostu bezpośrednio uruchomić właściwy dla danego systemu plków program sprawdzający. Jeśli programowi fsck zostanie przekazana niezmiernie skomplikowana opcja wraz z argumentami i programowi nie uczyni tego, czego się spodzewano, to nie należy nikomu zawracać głowy zgłaszaniemtego jako błędu. Prawie na pewno robi się wówczas coś, czego nie należy robić za pomocą fsck.

Obecnie zestandaryzowany zestaw opcji specyficznych dla systemów plików jest dość płynny. Mimo, że nie jest to zagwarantowane, większość programów sprawdzających systemy plików obsługuje poniższe opcje:

-a  Automatycznie naprawia system plików bez zadawania pytań (należy używać tej opcji ostrożnie). Warto zauważyć, że e2fsck(8) wspiera -a tylko dla zgodności z wcześniejszymi wersjami. Opcja ta została przekształcona na opcję -p polecenia e2fsck, która jest bezpieczna w użyciu, w przeciwieństwie do opcji -a, obsługiwanej przez większość programów sprawdzających systemy plików.

-r  Naprawa systemu plików w trybie interaktywnym (z pytaniami o potwierdzenia). Uwaga: na ogół złym pomysłem jest używanie tej opcji podczas równoległego sprawdzania wielu systemów plików. Trzeba też zwrócić uwagę, że jest to domyślne zachowanie e2fsck; polecenie to wspiera tę opcję tylko z powodu zgodności z wcześniejszymi wersjami.

AUTOR
Theodore Ts'o (tytso@mit.edu)

PLIKI
/etc/fstab.

ZMIENNE ŚRODOWISKOWE
Na zachowanie programu fsck mają wpływ następujące zmienne środowiskowe:

FSCK_FORCE_ALL_PARALLEL
    Jeśli ta zmienna jest ustawiona, fsck będzie próbował uruchomić równolegle programy sprawdzające wszystkie podane systemy plików, niezależnie od tego, czy systemy plików znajdują sie na tym samym, czy na różnych urządzeniach. (Jest to przydatne w przypadku systemów RAID wysokiej klasy systemów pamięci masowej, jak np. sprzedawane przez firmy takie, jak IBM czy EMC.)

FSCK_MAX_INST
    Ta zmienna środowiskowa ogranicza maksymalną liczbę uruchamianych jednocześnie programów sprawdzających systemy plików. W przypadku konfiguracji zawierających dużą liczbę dysków, pozwala to uniknąć jednoczesnego uruchamiania przez fsck zbyt wielu programów sprawdzających, co mogłoby przeciążyć dostępne w systemie zasoby procesorów i pamięci. Wartość zero pozwala na nieograniczone mnożenie się procesów. Jest to aktualnie zachowanie domyślne, jednakże przyszłe wersje fsck mogą próbować automatycznie określać ilość jednoczesnych sprawdzań systemów plików na podstawie zgromadzonych przez system operacyjny danych ewidencyjnych.

PATH
    Zmienna środowiskowa PATH służy do poszukiwania programów sprawdzających systemy plików. Pewne katalogi systemowe są przeszukiwane najpierw: /sbin, /sbin/fs.d, /sbin/fs, /etc/fs i /etc. A następnie są przeszukiwane katalogi znajdujące się w zmiennej środowiskowej PATH.

FSTAB_FILE
    Ta zmienna środowiskowa pozwala administratorowi systemu zmianę standardowego położenia pliku /etc/fstab. Służy ona również osobom rozwijającym program do testowania fsck.

ZOBACZ TAKŻE
fstab(5), mkfs(8), fsck.minix(8), fsck.ext2(8) lub e2fsck(8), fsck.xiafs(8).