NAZWA¶
fsck - sprawdza i naprawia linuksowy system plików
SKŁADNIA¶
fsck [
-lsAVRTMNP] [
-C [
fd]] [
-t
typ-systemu-plików] [
syst-pl...] [
--]
[
opcje-zależne-od-syst-pl]
OPIS¶
fsck służy do sprawdzania i, opcjonalnie, do naprawy jednego
lub kilku linuksowych systemów plików.
Syst-pl 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 umieszczone na fizycznie
różnych napędach dysków.
Jeśli nie określono systemu plików w wierszu poleceń, ani
nie użyto opcji
-A,
fsck domyślnie sprawdzi po kolei
systemy plików z
/etc/fstab. Jest to odpowiednik opcji
-As.
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 nienaprawione błędy systemu plików
8 - Błąd działania
16 - Błąd użycia (składni)
32 - Działanie fsck zostało przerwane przez użytkownika
128 - Błąd biblioteki współdzielonej
Kod zakończenia zwracany, gdy sprawdzane jest kilka systemów
plików jest bitową alternatywą (OR) kodów zakończenia
dla każdego ze sprawdzanych systemów plików.
W rzeczywistości
fsck jest po prostu interfejsem dla
różnych programów sprawdzających dostępne w Linuksie
systemy plików (
fsck.
typ-systemu-plików).
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¶
- -l
- Blokuje całe urządzenie dyskowe przez
wyłączne flock(2). Opcja może być użyta
wyłącznie z jednym urządzeniem (co oznacza, że opcje
-A i -l wykluczają się wzajemnie. Zaleca się
użycie tej opcji, gdy uruchomione jest kilka kopii fsck (8) w
tym samym czasie. Opcja jest ignorowana, gdy zostanie użyta w
stosunku do wielu urządzeń lub w odniesieniu do dysków
nieobrotowych. Program fsck nie blokuje niższej warstwy
urządzeń, gdy jest wykonywany na urządzeniach typu
"stacked" (np. MD - tzw. RAID programowy lub DM - device
mapper) -- ta funkcja nie została jeszcze zaimplementowana.
- -s
- Wykonuje operacje fsck kolejno, szeregowo. Jest to
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 lista-syst-pl
- 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 lista-syst-pl. Parametr lista-syst-pl stanowi
rozdzieloną przecinkami listę systemów plików oraz
podanych 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
lista-syst-pl. Jeśli żaden z systemów plików w
lista-syst-pl nie zostanie poprzedzony operatorem negacji, to
sprawdzane będą wyłącznie systemy plików
występujące na liście lista-syst-pl.
Na rozdzielonej przecinkami liście lista-syst-pl mogą
również występować podane opcje. Muszą one
mieć postać opts=opcja-syst-pl, i mogą
być poprzedzone operatorem negacji. Jeśli na liście
występuje podana opcja, to będą sprawdzane tylko te systemy
plików, których wpis w /etc/fstab zawiera (lub nie
zawiera, gdy podana opcja została poprzedzona operatorem negacji)
opcję opcja-syst-pl w odpowiednim polu pliku
/etc/fstab.
Na przykład, jeśli opts=ro pojawi się w
liscie-syst-pl, to tylko systemy plików z pliku
/etc/fstab, posiadające opcję ro będą
sprawdzone.
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 syst-pl 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.
Program fsck nie sprawdza urządzeń typu "stacked"
(RAID, dm-crypt) równolegle z żadnym innym urządzeniem.
Patrz też niżej ustawienie FSCK_FORCE_ALL_PARALLEL. System
plików /sys jest używany do poznania zależności
między urządzeniami.
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 dany komputer niewiele
pamięci, tak że problemem jest intensywne zastępowanie
stron pamięci (paging).
Program fsck zwykle nie sprawdza, czy urządzenie
rzeczywiście istnieje, przed wywołaniem właściwego
programu sprawdzającego dany system plików. W związku z
tym, nieistniejące urządzenia mogą spowodować
wejście systemu w tryb naprawy systemu plików podczas
uruchamiania systemu, jeśli jeden z właściwych danemu
systemowi plików programów sprawdzających, zwróci
błąd krytyczny. Opcja montowania nofail pliku
/etc/fstab może zostać użyta, aby wymusić
pomijanie nieistniejących urządzeń przez fsck.
Program fsck pomija również nieistniejące
urządzenia, które mają specjalny typ systemu plików
auto.
- -C [ fd ]
- Wyświetla wskaźniki zakończenia/postępu
dla systemów plików, które je wspierają (aktualnie
tylko ext2 i ext3). 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. Interfejsy
graficzne mogą podać deskryptor pliku fd i w takim
przypadku informacje paska postępu zostaną wysłane do owego
deskryptora.
- -M
- Nie sprawdza zamontowanych systemów plików i
zwraca dla nich kod zakończenia równy zero.
- -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ą można
wykonać, ponieważ jeśli główny system plików
jest wątpliwy, to nawet plik binarny e2fsck(8) może
być uszkodzony! Opcja ta jest przeznaczona głównie dla tych
administratorów systemów, którzy nie chcą
partycjonować ponownie 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 (przydatne
w przypadku, gdy jest on już zamontowany do odczytu/zapisu).
- -T
- Nie pokazuje tytułu przy starcie.
- -V
- Wyświetla informacje w trybie szczegółowym,
łącznie ze wszystkimi wykonywanymi poleceniami specyficznymi dla
poszczególnych systemów plików.
- opcje-zależne-od-syst-pl
- Opcje nie rozumiane przez fsck są przekazywane
programowi sprawdzającemu, specyficznemu dla danego systemu
plików. Parametry te nie mogą zawierać własnych
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
plików program sprawdzający. Jeśli programowi fsck
zostanie przekazana niezmiernie skomplikowana opcja wraz z argumentami i
program nie uczyni tego, czego się spodziewano, to nie należy
nikomu zawracać głowy zgłaszaniem tego jako
błędu. Prawie na pewno robi się wówczas coś,
czego nie należy robić za pomocą fsck.
Opcje do odmian fsck specyficznych dla danego systemu plików nie są
zestandaryzowane. W przypadku wątpliwości, proszę
sprawdzić strony podręcznika man danego programu
sprawdzającego. 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) obsługuje -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.
- -n
- Do niektórych programów, opcja -n
zapobiega danej odmianie fsck przeprowadzać próby naprawienia
jakichkolwiek problemów, a pozwala jedynie na wyświetlenie
informacji o nich na standardowe wyjście. Może nie
działać to ze wszystkimi programami specyficznymi dla
poszczególnych systemów plików.
W szczególności, fsck.reiserfs(8) nie informuje o
żadnych błędach, jeśli poda się mu się
tę opcję. fsck.minix(8) w ogóle nie obsługuje
opcji -n.
- -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 obsługuje tę opcję tylko z
powodu zgodności z wcześniejszymi wersjami.
- -y
- Do niektórych programów, opcja -n wymusza
na danej odmianie fsck przeprowadzanie próby naprawienia
jakichkolwiek wykrytych problemów w sposób automatyczny.
Niekiedy eksperci są w stanie lepiej poinstruować fsck co
należy zrobić. Proszę zauważyć, że
nie wszystkie programy specyficzne dla poszczególnych
systemów plików posiadają tę opcję
zaimplementowaną. W szczególności,
fsck.minix(8) i fsck.cramfs(8) w ogóle nie
obsługują opcji -y (na chwilę ostatniej aktualizacji
oryginału tego podręcznika).
AUTOR¶
Theodore Ts'o (tytso@mit.edu)
DOSTĘPNOŚĆ¶
Polecenie fsck jest częścią pakietu util-linux i jest
dostępne pod adresem
ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
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ą się na tym samym, czy
na różnych urządzeniach. (Jest to przydatne w przypadku
systemów RAID lub wysokiej klasy systemów pamięci masowej,
jak np. sprzedawane przez firmy takie, jak IBM czy EMC). Proszę
zauważyć, że wartość fs_passno jest
wciąż używana.
- 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.ext2(8) lub
fsck.ext3(8) lub
e2fsck(8),
cramfsck(8),
fsck.minix(8),
fsck.msdos(8),
fsck.jfs(8),
fsck.nfs(8),
fsck.vfat(8),
fsck.xfs(8),
fsck.xiafs(8),
reiserfsck(8).
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Wojtek Kotwica (PTM) <wkotwica@post.pl>, Andrzej M.
Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i Michał
Kułach <michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl;
uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją
2.20.1 oryginału.