e2fsck - sprawdza linuksowy system plików
ext2/ext3/ext4
e2fsck [ -pacnyrdfkvtDFV ] [ -b
superblok ] [ -B rozmiar-bloku ] [ -l|-L
plik-złych-bloków ] [ -C fd ] [ -j
zewnętrzny-dziennik ] [ -E opcje-rozszerzone ]
urządzenie
e2fsck jest używany do sprawdzania rodziny
systemów plików ext2/ext3/ext4. W przypadku systemów
plików ext3 i ext4 używających dziennika, jeśli
system zostanie nieprawidłowo zamknięty bez wystąpienia
błędów, po odtworzeniu transakcji wprowadzonych do
dziennika, system plików powinien zostać zwykle oznaczony jako
czysty. Z tego powodu, w systemach plików używających
dziennika, e2fsck zwykle odtworzy go i wyjdzie, chyba że
superblok danego systemu plików wskazuje, że konieczne
są dalsze sprawdzenia.
Urządzenie jest specjalnym plikiem
urządzenia, gdzie przechowywany jest system plików (np.
/dev/hdc1).
Proszę zauważyć, że uruchamianie
e2fsck na zamontowanym systemie plików generalnie nie jest
bezpieczne. Jedynym wyjątkiem jest sytuacja, gdy podano opcję
-n, ale nie użyto -c, -l ani -L.
Jednak nawet gdy takie działanie jest bezpieczne, wyniki wypisane
przez e2fsck nie są prawidłowe, jeśli system
plików jest zamontowany. Jeśli e2fsck pyta czy
należy sprawdzić zamontowany system plików,
jedyną poprawną odpowiedzią jest "nie".
Jedynie eksperci, którzy rzeczywiście wiedzą co
robią, mogą zastanowić się nad inną
odpowiedzią w takim wypadku.
- -a
- Ta opcja robi to samo co opcja -p. Jest udostępniana jedynie
ze względu na kompatybilność wstecz; zaleca
się używanie -p wszędzie tam, gdzie to
możliwe.
- -b superblok
- Zamiast używać normalnego superbloku, używa innego,
podanego jako superblok. Ta opcja używana jest, gdy
podstawowy superblok został uszkodzony. Położenie
kopii zapasowej superbloku zależne jest od rozmiaru bloku w danym
systemie plików. W systemach plików o rozmiarze bloku 1k,
kopia zapasowa superbloku znajduje się w bloku 8193, dla
systemów plików o rozmiarze bloku 2k, w bloku 16384,
zaś dla systemów plików o rozmiarze bloku 4k, w bloku
32768.
- Położenie dodatkowej kopii zapasowej superbloku może
być określone poprzez użycie programu mke2fs z
opcją -n wypisującą położenia
superbloków. Opcja -b programu mke2fs,
określająca rozmiar bloku systemu plików musi
być podana w dokładnie takiej samej kolejności, w
jakiej wypisane zostały położenia.
- Jeżeli podany jest alternatywny superblok, a system plików
nie jest otwarty w trybie tylko do odczytu, e2fsck sprawdzi, czy
podstawowy superblok jest uaktualniony.
- -B
rozmiar-bloku
- Normalnie, e2fsck szuka superbloku w zmienianych rozmiarach bloku i
próbuje znaleźć rozmiar odpowiedni. Ta technika
czasem daje się ogłupić. Dlatego opcja ta wymusza na
e2fsck wyszukiwanie superbloków o określonej
wielkości bloku. Jeśli superblok nie zostanie znaleziony,
e2fsck zakończy działanie z błędem
krytycznym.
- -c
- Opcja ta powoduje, że e2fsck uruchamia program
badblocks(8) w celu znalezienie uszkodzonych bloków systemu
plików przy użyciu skanowania odczytu. Bloki takie są
następnie zaznaczane poprzez dodawanie ich do i-węzła
uszkodzonych bloków. Jeżeli opcja ta podana jest dwa razy,
wtedy uszkodzone bloki będą poszukiwane przy użyciu
niedestruktywnego testu odczytu i zapisu.
- -C fd
- Ta opcja powoduje, że e2fsck wypisze kompletną
informację do podanego deskryptoru pliku. Dzięki temu
postęp sprawdzania systemu plików może być
kontrolowany. Ta opcja jest używana przede wszystkim przez programy
uruchamiające e2fsck. Jeśli liczba deskryptora pliku
jest ujemna, to używana jest wartość
bezwzględna z deskryptora pliku, a wyjście jest
początkowo wyłączone. Można je
później włączyć,
wysyłając procesowi e2fsck sygnał SIGUSR1.
Jeżeli jako deskryptor pliku podane jest 0, e2fsck wypisze
pasek postępu w swoim stylu. To wymaga, aby e2fsck uruchomiony
był na konsoli lub na terminalu.
- -d
- Wypisuje wyjście debugowania (bezużyteczne, chyba że
używane przy debugowaniu e2fsck).
- -D
- Optymalizuje katalogi w systemie plików. Ta opcja powoduje,
że e2fsck próbuje zoptymalizować wszystkie katalogi
albo ponownie je indeksując (jeśli system plików
obsługuje indeksowanie katalogów), albo sortując i
kompresując katalogi (przy mniejszych katalogach, lub w systemach
plików używających tradycyjnych, liniowych
katalogów).
- Nawet bez opcji -D, e2fsck może niekiedy
optymalizować część katalogów - np.
jeśli indeksowanie katalogów jest włączone, a
katalogi nie zostały zindeksowane i mogą
odnieść korzyści z tej operacji, albo jeśli
struktury indeksowania są uszkodzone i muszą zostać
odbudowane. Opcja -D wymusza zoptymalizowanie wszystkich
katalogów w systemie plików. Niekiedy może to
sprawić, że będą nieco mniejsze i
trochę szybsze w przeszukiwaniu, ale w praktyce, rzadko kiedy jest
sens stosować tę opcję.
- Opcja -D wykryje wpisy katalogowe ze zduplikowanymi nazwami w
pojedynczym katalogu, czego e2fsck normalnie nie wymusza ze
względów wydajnościowych.
- -E
opcje-rozszerzone
- Ustawia rozszerzone opcje e2fsck. Opcje rozszerzone są oddzielone
przecinkami i mogą przyjmować argument za pomocą
znaku równości ("="). Obsługiwane są
następujące opcje:
- ea_ver=wersja-atrybutów-rozszerzonych
- Ustawia wersję rozszerzonych atrybutów bloków,
które e2fsck wymaga do sprawdzania systemu plików.
Numerem wersji może być 1 lub 2. Domyślnym formatem
rozszerzonych atrybutów jest 2.
- journal_only
- Jeśli to wymagane, odtwarza wyłącznie dziennik, ale
nie przeprowadza żadnych dalszych sprawdzeń lub napraw.
- fragcheck
- Podczas pierwszego przebiegu, wypisuje szczegółowe
sprawozdanie o wszystkich nieciągłych blokach plików,
znalezionych w systemie plików.
- discard
- Próbuje wyczyścić wolne bloki i nieużywane
i-węzły po pełnym sprawdzeniu systemu plików
(użyteczne na dyskach SSD i urządzeniach zapisujących
"z dziurami" (sparse) lub alokujących dane elastycznie
(thin-provisioned)). Proszę zauważyć, że ta
operacja jest przeprowadzana w przebiegu piątym, PO pełnym
sprawdzeniu systemu plików i tylko, jeśli nie zawiera on
rozpoznawalnych błędów. Może się jednak
zdarzyć, że e2fsck nie rozpozna problemu w
pełni i wówczas użycie tej opcji może
uniemożliwić późniejsze, ręczne
odzyskiwanie danych.
- nodiscard
- Nie próbuje wyczyścić wolnych bloków i
nieużywanych bloków i-węzłów. Ta opcja
jest dokładnym przeciwieństwem opcji discard. Jest ustawiona
jako domyślna.
- -f
- Wymusza sprawdzanie, nawet jeśli system wydaje się
być czysty.
- -F
- Wypróżnia bufory systemu plików przed uruchomieniem
programu. Przydatne właściwie tylko w czasowych
próbach e2fsck.
- -j
zewnętrzny_dziennik
- Ustawia ścieżkę dostępu do zewnętrznego
dziennika dla tego systemu plików.
- -k
- W połączeniu z opcją -c, zachowywane są
wszystkie uszkodzone bloki na liście złych bloków, a
nowe uszkodzone bloki znalezione przez badblocks(8)
będą dodane do istniejącej listy złych
bloków.
- -l plik
- Dodaje podane przez plik bloki do listy bloków uszkodzonych.
Format pliku jest taki sam jak ten utworzony przez program
badblocks(8). Proszę zauważyć, że
numery bloków bazują na rozmiarze bloku systemu
plików. Dlatego badblocks(8) musi otrzymać rozmiar
bloku systemu plików. Jednak dużo łatwiejsze i
bezpieczniejsze jest użycie opcji -c programu e2fsck,
ponieważ zapewnia to przekazanie właściwych
parametrów do programu badblocks.
- -L plik
- Ustawia listę uszkodzonych bloków na listę
bloków określoną przez plik. (Opcja ta jest
identyczna z -l, poza tym, że przed dodaniem listy
bloków z pliku, stara lista uszkodzonych bloków jest
czyszczona).
- -n
- Otwiera system plików w trybie tylko do odczytu i zakłada
odpowiedź "nie" na wszystkie pytania. Umożliwia to
użycie e2fsck w trybie nieinteraktywnym. Ta opcja nie
może być podana razem z opcjami -p lub
-y.
- -p
- Automatycznie naprawia ("preen") system plików. Ta opcja
powoduje automatyczne naprawianie przez e2fsck wszystkich
problemów systemu plików, które mogą
zostać bezpiecznie naprawione bez udziału człowieka.
Jeśli e2fsck wykryje problem, który może
wymagać obecności administratora w celu wykonania
dodatkowych działań, e2fsck wypisze opis problemu i
wyjdzie z wartością 4 dodaną (logiczne OR) do kodu
zakończenia. (patrz rozdział KOD WYJŚCIA). Ta
opcja jest zwykle używana w systemowych skryptach rozruchowych. Nie
może być użyta razem z opcjami -n lub
-y.
- -r
- Ta opcja nie robi nic; jest udostępniona dla kompatybilności
wstecznej.
- -t
- Wypisuje statystyki czasowe dla e2fsck. Jeśli opcja ta jest
użyta dwukrotnie, to wyświetlane są dodatkowe
statystyki czasowe.
- -v
- Tryb szczegółowy (verbose).
- -V
- Wypisuje informację o wersji i wychodzi.
- -y
- Zakłada odpowiedź "tak" na wszystkie pytania;
umożliwia użycie e2fsck w trybie nieinteraktywnym.
Opcja nie może być podana razem z opcjami -n lub
-p.
Kod wyjścia zwracany przez e2fsck jest sumą
następujących warunków:
0 - Bez błędów
1 - Błędy systemu plików są poprawione
2 - Błędy systemu plików są poprawione, system
powinien
zostać uruchomiony ponownie
4 - Błędy systemu plików nie zostały poprawione
8 - Błąd operacyjny
16 - Błąd w składni lub użyciu
32 - Działanie e2fsck przerwane przez użytkownika
128 - Błąd biblioteki dzielonej
Następujące sygnały mają podany
niżej efekt, gdy zostaną wysłane do e2fsck.
- SIGUSR1
- Ten sygnał powoduje, że e2fsck wyświetli pasek
postępu. (Zobacz opis opcji -C).
- SIGUSR2
- Ten sygnał powoduje, że e2fsck przestanie
wyświetlać pasek postępu.
Prawie każdy program ma błędy. W przypadku
znalezienia systemu plików, powodującego pad programu
e2fsck lub takiego, którego e2fsck nie potrafi
naprawić, proszę zgłosić to autorowi.
Proszę załączyć tyle informacji, ile
da się załączyć w swoim zgłoszeniu
błędu. Najlepiej dołączyć
kompletną transkrypcję uruchomienia e2fsck, tak by
autor mógł dokładnie widzieć, co się
działo. Proszę upewnić się, że komunikaty
programu są wyświetlane po angielsku; jeśli system
został skonfigurowany do używania tłumaczeń,
proszę ustawić zmienną środowiskową
LC_ALL na wartość C, dzięki czemu
transkrypcja działania programu będzie przydatna dla autora.
Jeśli jest zapisywalny system plików, gdzie można
tę transkrypcję zapisać, program script(1)
umożliwia łatwe zapisanie wyjścia e2fsck do
pliku.
Użyteczne może być też
przesłanie wyjścia z dumpe2fs(8). Jeśli
określony i-węzeł lub ich grupa wydaje się
sprawiać e2fsck kłopoty, proszę spróbować
uruchomić komendę debugfs(8) i wysłać
wyjście komendy stat(1u) na dotkniętych
i-węzłach. Jeśli i-węzeł jest katalogiem,
komenda debugfs o nazwie dump umożliwi
ekstrakcję zawartości i-węzła katalogu,
którą można przesłać po zakodowaniu jej
programem uuencode(1). Najbardziej przydatną rzeczą,
jaką można wysłać w celu umożliwienia
odtworzenia błędu przez autora, jest surowy, skompresowany
zrzut obrazu systemu plików, utworzony za pomocą
e2image(8) (proszę zapoznać się z jego
stroną podręcznika).
Proszę również zawsze
załączać pełny tekst wersji, wyświetlany
przez e2fsck podczas pracy.
Ta wersja e2fsck została napisana przez Theodore'a
Ts'o <tytso@mit.edu>.
Autorami polskiego tłumaczenia niniejszej strony
podręcznika man są: Przemek Borys (PTM)
<pborys@dione.ids.pl>, Grzegorz Goławski (PTM)
<grzegol@pld.org.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ą
1.42.12 oryginału.