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 ] [
-z plik_zapasowy ]
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 urządzeniem blokowym (np.
/dev/sdc1)
lub plikiem zawierającym system plików.
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.
Jeśli If
e2fsck uruchomiono w trybie interaktywnym (tzn. nie
podano opcji
-y,
-n ani
-p), to program będzie
pytał użytkownika przy naprawianiu każdego napotkanego w
systemie plików problemu. Odpowiedź
y naprawi
błąd,
n pozostawi problem bez naprawy, a
a naprawi
wskazany błąd i wszystkie kolejne. Klawisz Enter zatwierdzi
domyślną odpowiedź, wyświetloną przed
znakiem zapytania. Kombinacja Control-C natychmiast przerwie działanie
programu.
- -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, liczby bloków na
grupę i funkcji takich jak sparse_super.
- 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, przy założeniu,
że programowi mke2fs podano argumenty spójne z
charakterystyką danego systemu plików (np. rozmiarem bloku,
liczbą bloków na grupę, sparse_super
itd.)
- 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.
- no_optimize_extents
- Nie oferuje optymalizacji drzewa ekstentów poprzez
jego spłycenie lub zawężenie w możliwym
zakresie. Można to również
włączyć w sekcji opcji pliku
/etc/e2fsck.conf.
- optimize_extents
- Oferuje optymalizację drzewa ekstentów
poprzez jego spłycenie lub zawężenie w
możliwym zakresie. Jest to zachowanie domyślne, chyba
że ustawiono inaczej w pliku /etc/e2fsck.conf.
- inode_count_fullmap
- Zwiększa szybkość przy sprawdzaniu
systemu plików z dużą liczbą plików z
dowiązaniami twardymi kosztem zwiększonego użycia
pamięci. Ilość wymaganej pamięci jest
proporcjonalna do liczby i-węzłów w systemie
plików. W przypadku dużych systemów plików,
mogą być to gigabajty (np. system plików o
wielkości 40TB, z 2,8 miliardami i-węzłów, po
włączeniu tej optymalizacji pochłonie dodatkowo 5,7
GB pamięci). Tę optymalizację można
również włączyć w sekcji opcji pliku
/etc/e2fsck.conf.
- no_inode_count_fullmap
- Wyłącza optymalizację
inode_count_fullmap. Jest to zachowanie domyślne, chyba
że ustawiono inaczej w pliku /etc/e2fsck.conf.
- readahead_kb
- Używa podanej wielkości pamięci w KiB,
do wstępnego pobrania metadanych, co powinno skrócić
czas działania programu e2fsck. Domyślną
wielkością jest rozmiar dwóch grup bloków
tablic i-węzłów (zwykle 4MiB w typowym systemie
plików ext4); jeśli ta wielkość wynosi
więcej niż 1/50 całkowitego rozmiaru pamięci
fizycznej, readahead jest wyłączane. Wartość
zerowa całkowicie wyłączy readahead.
- bmap2extent
- Przekształca pliki z plików opisywanych
blokami na pliki opisywane ekstentami.
- fixes_only
- Naprawia wyłącznie uszkodzone metadane, nie
optymalizuje katalogów h-drzewa ani nie kompresuje drzew
ekstentów. Opcja ta jest niekompatybilna z opcjami -D i -E
bmap2extent.
- check_encoding
- Wymusza weryfikację nazw plików w katalogach
niewrażliwych na wielkość liter. Jest do zachowanie
domyślne, jeśli dany system plików ma
włączoną flagę strict.
- unshare_blocks
- Jeśli system plików ma
współdzielone bloki, z włączoną
funkcją bloków współdzielonych tylko do
odczytu, dojdzie do cofnięcia współdzielenia
wszystkich takich bloków i usunięcia flagi tylko do odczytu.
Jeśli na urządzeniu jest zbyt mało miejsca, operacja
ta nie powiedzie się. Jeśli system plików nie ma
ustawionej flagi tylko do odczytu, ale posiada bloki
współdzielone, opcja ta nie da żadnego rezultatu.
Proszę zauważyć, że jeśli nie
będzie wolnego miejsca do sklonowania bloków, program nie
poprosi o usunięcie żadnych plików - po prostu
działanie to nie powiedzie się.
- Proszę zauważyć, że
unshare_blocks implikuje opcję "-f", aby wymusić
przejście przez wszystkie przebiegi. Dodatkowo, jeśli poda
się również "-n", e2fsck dokona symulacji,
próbując przydzielić wystarczającą
ilość miejsca do przeprowadzenia deduplikacji. Jeśli
jej zabraknie, kod zakończenia będzie niezerowy.
- -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.
-
-z plik-zapasowy
- Przed nadpisaniem bloku w systemie plików, zapisuje
jego starą zawartość do pliku zapasowego.
Później można użyć programu e2undo(8)
do przywrócenia starej zawartości systemu plików z
pliku zapasowego, jeśli coś pójdzie nie tak.
Jeśli jako plik-zapasowy poda się pusty
łańcuch, przyjmie on wartość
domyślną: e2fsck- urządzenie.e2undo w katalogu
określonym zmienną środowiskową
E2FSPROGS_UNDO_DIR.
OSTRZEŻENIE: Plik zapasowy nie pomoże w przypadku utraty
zasilania lub zawieszenia systemu.
Kod zakończenia 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.
- E2FSCK_CONFIG
- Określa położenie pliku
konfiguracyjnego (patrz e2fsck.conf(5)).
Ta wersja
e2fsck została napisana przez Theodore'a Ts'o
<
[email protected]>.
e2fsck.conf(5),
badblocks(8),
dumpe2fs(8),
debugfs(8),
e2image(8),
mke2fs(8),
tune2fs(8)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Przemek Borys <
[email protected]>, Grzegorz Goławski
<
[email protected]> i Michał Kułach
<
[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją.
Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z
GNU
General Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]