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.