e2fsck(8) sprawdza linuksowy system plików ext2/ext3/ext4

SKŁADNIA

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

OPIS

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.

OPCJE

-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

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

SYGNAŁY

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.

ZGŁASZANIE BŁĘDÓW

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.

AUTOR

Ta wersja e2fsck została napisana przez Theodore'a Ts'o <[email protected]>.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <[email protected]>, Grzegorz Goławski (PTM) <[email protected]> i Michał Kułach <[email protected]>.

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.