E2FSCK(8) System Manager's Manual E2FSCK(8) NAZWA e2fsck - sprawdza linuksowy system plikow ext2/ext3/ext4 SKLADNIA e2fsck [ -pacnyrdfkvtDFV ] [ -b superblok ] [ -B rozmiar-bloku ] [ -l|-L plik-zlych-blokow ] [ -C fd ] [ -j zewnetrzny-dziennik ] [ -E opcje-rozszerzone ] [ -z plik_zapasowy ] urzadzenie OPIS e2fsck jest uzywany do sprawdzania rodziny systemow plikow ext2/ext3/ext4. W przypadku systemow plikow ext3 i ext4 uzywajacych dziennika, jesli system zostanie nieprawidlowo zamkniety bez wystapienia bledow, po odtworzeniu transakcji wprowadzonych do dziennika, system plikow powinien zostac zwykle oznaczony jako czysty. Z tego powodu, w systemach plikow uzywajacych dziennika, e2fsck zwykle odtworzy go i wyjdzie, chyba ze superblok danego systemu plikow wskazuje, ze konieczne sa dalsze sprawdzenia. Urzadzenie jest urzadzeniem blokowym (np. /dev/sdc1) lub plikiem zawierajacym system plikow. Prosze zauwazyc, ze uruchamianie e2fsck na zamontowanym systemie plikow generalnie nie jest bezpieczne. Jedynym wyjatkiem jest sytuacja, gdy podano opcje -n, ale nie uzyto -c, -l ani -L. Jednak nawet gdy takie dzialanie jest bezpieczne, wyniki wypisane przez e2fsck nie sa prawidlowe, jesli system plikow jest zamontowany. Jesli e2fsck pyta czy nalezy sprawdzic zamontowany system plikow, jedyna poprawna odpowiedzia jest "nie". Jedynie eksperci, ktorzy rzeczywiscie wiedza co robia, moga zastanowic sie nad inna odpowiedzia w takim wypadku. Jesli If e2fsck uruchomiono w trybie interaktywnym (tzn. nie podano opcji -y, -n ani -p), to program bedzie pytal uzytkownika przy naprawianiu kazdego napotkanego w systemie plikow problemu. Odpowiedz y naprawi blad, n pozostawi problem bez naprawy, a a naprawi wskazany blad i wszystkie kolejne. Klawisz Enter zatwierdzi domyslna odpowiedz, wyswietlona przed znakiem zapytania. Kombinacja Control-C natychmiast przerwie dzialanie programu. OPCJE -a Ta opcja robi to samo co opcja -p. Jest udostepniana jedynie ze wzgledu na kompatybilnosc wstecz; zaleca sie uzywanie -p wszedzie tam, gdzie to mozliwe. -b superblok Zamiast uzywac normalnego superbloku, uzywa innego, podanego jako superblok. Ta opcja uzywana jest, gdy podstawowy superblok zostal uszkodzony. Polozenie kopii zapasowej superbloku zalezne jest od rozmiaru bloku w danym systemie plikow, liczby blokow na grupe i funkcji takich jak sparse_super. Polozenie dodatkowej kopii zapasowej superbloku moze byc okreslone poprzez uzycie programu mke2fs z opcja -n wypisujaca polozenia superblokow, przy zalozeniu, ze programowi mke2fs podano argumenty spojne z charakterystyka danego systemu plikow (np. rozmiarem bloku, liczba blokow na grupe, sparse_super itd.) Jezeli podany jest alternatywny superblok, a system plikow 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 probuje znalezc rozmiar odpowiedni. Ta technika czasem daje sie oglupic. Dlatego opcja ta wymusza na e2fsck wyszukiwanie superblokow o okreslonej wielkosci bloku. Jesli superblok nie zostanie znaleziony, e2fsck zakonczy dzialanie z bledem krytycznym. -c Opcja ta powoduje, ze e2fsck uruchamia program badblocks(8) w celu znalezienie uszkodzonych blokow systemu plikow przy uzyciu skanowania odczytu. Bloki takie sa nastepnie zaznaczane poprzez dodawanie ich do i-wezla uszkodzonych blokow. Jezeli opcja ta podana jest dwa razy, wtedy uszkodzone bloki beda poszukiwane przy uzyciu niedestruktywnego testu odczytu i zapisu. -C fd Ta opcja powoduje, ze e2fsck wypisze kompletna informacje do podanego deskryptoru pliku. Dzieki temu postep sprawdzania systemu plikow moze byc kontrolowany. Ta opcja jest uzywana przede wszystkim przez programy uruchamiajace e2fsck. Jesli liczba deskryptora pliku jest ujemna, to uzywana jest wartosc bezwzgledna z deskryptora pliku, a wyjscie jest poczatkowo wylaczone. Mozna je pozniej wlaczyc, wysylajac procesowi e2fsck sygnal SIGUSR1. Jezeli jako deskryptor pliku podane jest 0, e2fsck wypisze pasek postepu w swoim stylu. To wymaga, aby e2fsck uruchomiony byl na konsoli lub na terminalu. -d Wypisuje wyjscie debugowania (bezuzyteczne, chyba ze uzywane przy debugowaniu e2fsck). -D Optymalizuje katalogi w systemie plikow. Ta opcja powoduje, ze e2fsck probuje zoptymalizowac wszystkie katalogi albo ponownie je indeksujac (jesli system plikow obsluguje indeksowanie katalogow), albo sortujac i kompresujac katalogi (przy mniejszych katalogach, lub w systemach plikow uzywajacych tradycyjnych, liniowych katalogow). Nawet bez opcji -D, e2fsck moze niekiedy optymalizowac czesc katalogow - np. jesli indeksowanie katalogow jest wlaczone, a katalogi nie zostaly zindeksowane i moga odniesc korzysci z tej operacji, albo jesli struktury indeksowania sa uszkodzone i musza zostac odbudowane. Opcja -D wymusza zoptymalizowanie wszystkich katalogow w systemie plikow. Niekiedy moze to sprawic, ze beda nieco mniejsze i troche szybsze w przeszukiwaniu, ale w praktyce, rzadko kiedy jest sens stosowac te opcje. Opcja -D wykryje wpisy katalogowe ze zduplikowanymi nazwami w pojedynczym katalogu, czego e2fsck normalnie nie wymusza ze wzgledow wydajnosciowych. -E opcje-rozszerzone Ustawia rozszerzone opcje e2fsck. Opcje rozszerzone sa oddzielone przecinkami i moga przyjmowac argument za pomoca znaku rownosci ("="). Obslugiwane sa nastepujace opcje: ea_ver=wersja-atrybutow-rozszerzonych Ustawia wersje rozszerzonych atrybutow blokow, ktore e2fsck wymaga do sprawdzania systemu plikow. Numerem wersji moze byc 1 lub 2. Domyslnym formatem rozszerzonych atrybutow jest 2. journal_only Jesli to wymagane, odtwarza wylacznie dziennik, ale nie przeprowadza zadnych dalszych sprawdzen lub napraw. fragcheck Podczas pierwszego przebiegu, wypisuje szczegolowe sprawozdanie o wszystkich nieciaglych blokach plikow, znalezionych w systemie plikow. discard Probuje wyczyscic wolne bloki i nieuzywane i-wezly po pelnym sprawdzeniu systemu plikow (uzyteczne na dyskach SSD i urzadzeniach zapisujacych "z dziurami" (sparse) lub alokujacych dane elastycznie (thin-provisioned)). Prosze zauwazyc, ze ta operacja jest przeprowadzana w przebiegu piatym, PO pelnym sprawdzeniu systemu plikow i tylko, jesli nie zawiera on rozpoznawalnych bledow. Moze sie jednak zdarzyc, ze e2fsck nie rozpozna problemu w pelni i wowczas uzycie tej opcji moze uniemozliwic pozniejsze, reczne odzyskiwanie danych. nodiscard Nie probuje wyczyscic wolnych blokow i nieuzywanych blokow i-wezlow. Ta opcja jest dokladnym przeciwienstwem opcji discard. Jest ustawiona jako domyslna. no_optimize_extents Nie oferuje optymalizacji drzewa ekstentow poprzez jego splycenie lub zawezenie w mozliwym zakresie. Mozna to rowniez wlaczyc w sekcji opcji pliku /etc/e2fsck.conf. optimize_extents Oferuje optymalizacje drzewa ekstentow poprzez jego splycenie lub zawezenie w mozliwym zakresie. Jest to zachowanie domyslne, chyba ze ustawiono inaczej w pliku /etc/e2fsck.conf. inode_count_fullmap Zwieksza szybkosc przy sprawdzaniu systemu plikow z duza liczba plikow z dowiazaniami twardymi kosztem zwiekszonego uzycia pamieci. Ilosc wymaganej pamieci jest proporcjonalna do liczby i-wezlow w systemie plikow. W przypadku duzych systemow plikow, moga byc to gigabajty (np. system plikow o wielkosci 40TB, z 2,8 miliardami i-wezlow, po wlaczeniu tej optymalizacji pochlonie dodatkowo 5,7 GB pamieci). Te optymalizacje mozna rowniez wlaczyc w sekcji opcji pliku /etc/e2fsck.conf. no_inode_count_fullmap Wylacza optymalizacje inode_count_fullmap. Jest to zachowanie domyslne, chyba ze ustawiono inaczej w pliku /etc/e2fsck.conf. readahead_kb Uzywa podanej wielkosci pamieci w KiB, do wstepnego pobrania metadanych, co powinno skrocic czas dzialania programu e2fsck. Domyslna wielkoscia jest rozmiar dwoch grup blokow tablic i-wezlow (zwykle 4MiB w typowym systemie plikow ext4); jesli ta wielkosc wynosi wiecej niz 1/50 calkowitego rozmiaru pamieci fizycznej, readahead jest wylaczane. Wartosc zerowa calkowicie wylaczy readahead. bmap2extent Przeksztalca pliki z plikow opisywanych blokami na pliki opisywane ekstentami. fixes_only Naprawia wylacznie uszkodzone metadane, nie optymalizuje katalogow h-drzewa ani nie kompresuje drzew ekstentow. Opcja ta jest niekompatybilna z opcjami -D i -E bmap2extent. check_encoding Wymusza weryfikacje nazw plikow w katalogach niewrazliwych na wielkosc liter. Jest do zachowanie domyslne, jesli dany system plikow ma wlaczona flage strict. unshare_blocks Jesli system plikow ma wspoldzielone bloki, z wlaczona funkcja blokow wspoldzielonych tylko do odczytu, dojdzie do cofniecia wspoldzielenia wszystkich takich blokow i usuniecia flagi tylko do odczytu. Jesli na urzadzeniu jest zbyt malo miejsca, operacja ta nie powiedzie sie. Jesli system plikow nie ma ustawionej flagi tylko do odczytu, ale posiada bloki wspoldzielone, opcja ta nie da zadnego rezultatu. Prosze zauwazyc, ze jesli nie bedzie wolnego miejsca do sklonowania blokow, program nie poprosi o usuniecie zadnych plikow - po prostu dzialanie to nie powiedzie sie. Prosze zauwazyc, ze unshare_blocks implikuje opcje "-f", aby wymusic przejscie przez wszystkie przebiegi. Dodatkowo, jesli poda sie rowniez "-n", e2fsck dokona symulacji, probujac przydzielic wystarczajaca ilosc miejsca do przeprowadzenia deduplikacji. Jesli jej zabraknie, kod zakonczenia bedzie niezerowy. -f Wymusza sprawdzanie, nawet jesli system wydaje sie byc czysty. -F Wyproznia bufory systemu plikow przed uruchomieniem programu. Przydatne wlasciwie tylko w czasowych probach e2fsck. -j zewnetrzny_dziennik Ustawia sciezke dostepu do zewnetrznego dziennika dla tego systemu plikow. -k W polaczeniu z opcja -c, zachowywane sa wszystkie uszkodzone bloki na liscie zlych blokow, a nowe uszkodzone bloki znalezione przez badblocks(8) beda dodane do istniejacej listy zlych blokow. -l plik Dodaje podane przez plik bloki do listy blokow uszkodzonych. Format pliku jest taki sam jak ten utworzony przez program badblocks(8). Prosze zauwazyc, ze numery blokow bazuja na rozmiarze bloku systemu plikow. Dlatego badblocks(8) musi otrzymac rozmiar bloku systemu plikow. Jednak duzo latwiejsze i bezpieczniejsze jest uzycie opcji -c programu e2fsck, poniewaz zapewnia to przekazanie wlasciwych parametrow do programu badblocks. -L plik Ustawia liste uszkodzonych blokow na liste blokow okreslona przez plik. (Opcja ta jest identyczna z -l, poza tym, ze przed dodaniem listy blokow z pliku, stara lista uszkodzonych blokow jest czyszczona). -n Otwiera system plikow w trybie tylko do odczytu i zaklada odpowiedz "nie" na wszystkie pytania. Umozliwia to uzycie e2fsck w trybie nieinteraktywnym. Ta opcja nie moze byc podana razem z opcjami -p lub -y. -p Automatycznie naprawia ("preen") system plikow. Ta opcja powoduje automatyczne naprawianie przez e2fsck wszystkich problemow systemu plikow, ktore moga zostac bezpiecznie naprawione bez udzialu czlowieka. Jesli e2fsck wykryje problem, ktory moze wymagac obecnosci administratora w celu wykonania dodatkowych dzialan, e2fsck wypisze opis problemu i wyjdzie z wartoscia 4 dodana (logiczne OR) do kodu zakonczenia. (patrz rozdzial KOD WYJSCIA). Ta opcja jest zwykle uzywana w systemowych skryptach rozruchowych. Nie moze byc uzyta razem z opcjami -n lub -y. -r Ta opcja nie robi nic; jest udostepniona dla kompatybilnosci wstecznej. -t Wypisuje statystyki czasowe dla e2fsck. Jesli opcja ta jest uzyta dwukrotnie, to wyswietlane sa dodatkowe statystyki czasowe. -v Tryb szczegolowy (verbose). -V Wypisuje informacje o wersji i wychodzi. -y Zaklada odpowiedz "tak" na wszystkie pytania; umozliwia uzycie e2fsck w trybie nieinteraktywnym. Opcja nie moze byc podana razem z opcjami -n lub -p. -z plik-zapasowy Przed nadpisaniem bloku w systemie plikow, zapisuje jego stara zawartosc do pliku zapasowego. Pozniej mozna uzyc programu e2undo(8) do przywrocenia starej zawartosci systemu plikow z pliku zapasowego, jesli cos pojdzie nie tak. Jesli jako plik-zapasowy poda sie pusty lancuch, przyjmie on wartosc domyslna: e2fsck-urzadzenie.e2undo w katalogu okreslonym zmienna srodowiskowa E2FSPROGS_UNDO_DIR. OSTRZEZENIE: Plik zapasowy nie pomoze w przypadku utraty zasilania lub zawieszenia systemu. KOD ZAKONCZENIA Kod zakonczenia zwracany przez e2fsck jest suma nastepujacych warunkow: 0 - Bez bledow 1 - Bledy systemu plikow sa poprawione 2 - Bledy systemu plikow sa poprawione, system powinien zostac uruchomiony ponownie 4 - Bledy systemu plikow nie zostaly poprawione 8 - Blad operacyjny 16 - Blad w skladni lub uzyciu 32 - Dzialanie e2fsck przerwane przez uzytkownika 128 - Blad biblioteki dzielonej SYGNALY Nastepujace sygnaly maja podany nizej efekt, gdy zostana wyslane do e2fsck. SIGUSR1 Ten sygnal powoduje, ze e2fsck wyswietli pasek postepu. (Zobacz opis opcji -C). SIGUSR2 Ten sygnal powoduje, ze e2fsck przestanie wyswietlac pasek postepu. ZGLASZANIE BLEDOW Prawie kazdy program ma bledy. W przypadku znalezienia systemu plikow, powodujacego pad programu e2fsck lub takiego, ktorego e2fsck nie potrafi naprawic, prosze zglosic to autorowi. Prosze zalaczyc tyle informacji, ile da sie zalaczyc w swoim zgloszeniu bledu. Najlepiej dolaczyc kompletna transkrypcje uruchomienia e2fsck, tak by autor mogl dokladnie widziec, co sie dzialo. Prosze upewnic sie, ze komunikaty programu sa wyswietlane po angielsku; jesli system zostal skonfigurowany do uzywania tlumaczen, prosze ustawic zmienna srodowiskowa LC_ALL na wartosc C, dzieki czemu transkrypcja dzialania programu bedzie przydatna dla autora. Jesli jest zapisywalny system plikow, gdzie mozna te transkrypcje zapisac, program script(1) umozliwia latwe zapisanie wyjscia e2fsck do pliku. Uzyteczne moze byc tez przeslanie wyjscia z dumpe2fs(8). Jesli okreslony i-wezel lub ich grupa wydaje sie sprawiac e2fsck klopoty, prosze sprobowac uruchomic komende debugfs(8) i wyslac wyjscie komendy stat(1u) na dotknietych i-wezlach. Jesli i-wezel jest katalogiem, komenda debugfs o nazwie dump umozliwi ekstrakcje zawartosci i-wezla katalogu, ktora mozna przeslac po zakodowaniu jej programem uuencode(1). Najbardziej przydatna rzecza, jaka mozna wyslac w celu umozliwienia odtworzenia bledu przez autora, jest surowy, skompresowany zrzut obrazu systemu plikow, utworzony za pomoca e2image(8) (prosze zapoznac sie z jego strona podrecznika). Prosze rowniez zawsze zalaczac pelny tekst wersji, wyswietlany przez e2fsck podczas pracy. SRODOWISKO E2FSCK_CONFIG Okresla polozenie pliku konfiguracyjnego (patrz e2fsck.conf(5)). AUTOR Ta wersja e2fsck zostala napisana przez Theodore'a Ts'o . ZOBACZ TAKZE e2fsck.conf(5), badblocks(8), dumpe2fs(8), debugfs(8), e2image(8), mke2fs(8), tune2fs(8) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Grzegorz Golawski i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . E2fsprogs wersja 1.47.0 luty 2023 E2FSCK(8)