DEBUGFS(8)

NAZWA
debugfs - debugger systemu plików ext2/ext3/ext4

SKŁADNIA
debugfs [ -DVwcin ] [ -b rozmiar-bloku ] [ -s superblok ] [ -f plik-komend ] [ -R komenda] [ -d urządzenie-źródła-danych ] [ -z plik-zapasowy ] [ urządzenie ]

OPIS
Program debugfs jest debuggerem systemów plików. Można go używać do sprawdzenia i zmiany stanu systemu plików typu ext2, ext3 lub ext4.

Urządzenie jest urządzeniem blokowym (np. /dev/sdXX) lub plikiem zawierającym system plików.

OPCJE

-w  Określa, że system plików powinien być otwarty w trybie odczyt-zapis (read-write). Bez tej opcji system plików otwierany jest w trybie tylko-do-odczytu (read-only).

-n  Wyłącza weryfikację sumy kontrolnej metadanych. Powinno się jej używać tylko wówczas, gdy jest się przekonanym o poprawności metadanych, pomimo odmiennych komunikatów e2fsprogs.

-c  Powoduje, że system plików powinien być otwarty w trybie katastrofalnym (catastrophic mode), gdzie i-węzeł oraz mapy bitowe grup nie są początkowo odczytywane. Ta opcja może być przydatna dla znacznie uszkodzonych systemów plików, lecz powoduje ona ich otwarcie w trybie tylko do odczytu.

-i  Powoduje, że urządzenie reprezentuje obraz ext2 utworzony przez program e2image. Ponieważ obraz ext2 zawiera jedynie superblok, deskryptor grupy bloków, blok i mapy bitowe alokacji i-węzłów oraz tablicę i-węzłów, wiele komend debugfs nie będzie działało poprawnie. Ostrzeżenie: nie ma żadnych bezpiecznych sprawdzeń, dlatego debugfs może zawieść podczas prób wykonania takich komend jak ls, dump, itd. debugfs jest debuggerem. Posiada szorstkie krawędzie!

-d data_source_device
    W użyciu z opcją -i, określa urządzenie-źródła-danych, które powinno być użyte do odczytu bloków nieodnalezionych w pliku obrazu ext2. Obejmuje to dane, katalogi i bloki niebezpośrednie.

-b rozmiar-bloku
    Powoduje użycie podanego rozmiaru bloku dla systemu plików (w bajtach) zamiast, tak jak normalnie, wykrywać odpowiedni rozmiar. Opcja ta powinna być rzadko używana, głównie w przypadku systemów plików o ekstremalnie wysokim stopniu uszkodzenia.

-s superblok
    Powoduje odczytanie superbloku z podanego numeru bloku zamiast z domyślnego (położonego w odstępie 1024 bajtów od początku systemu plików). Jeżeli poda się opcję -s, konieczne jest również podanie rozmiaru bloku systemu plików, przy użyciu opcji -b. Opcja ta powinna być rzadko używana, głównie w przypadku systemów plików o ekstremalnie wysokim stopniu uszkodzenia.

-f plik_komend
    Powoduje, że debugfs odczytuje komendy z pliku komend i wykonuje je. Po zakończeniu wykonywania tych komend debugfs kończy pracę.

-D  Powoduje, że debugfs otwiera urządzenie używając bezpośredniego wejścia/wyjścia, pomijając bufory. Proszę zauważyć, że niektóre linuksowe urządzenia, przede wszystkim szkielet mapujący urządzenia (device mapper) nie obsługują bezpośredniego wejścia/wyjścia (w chwili pisania tego tekstu).

-R komenda
    Powoduje wykonanie pojedynczej komendy (żądania - request), i zakończenie pracy.

-V  Wyświetla wersję programu debugfs i kończy pracę.

-z plik-zapasowy
    Before overwriting a file system block, write the old contents of the block to an undo file. This undo file can be used with e2undo(8) to restore the old contents of the file system should something go wrong. If the empty string is passed as the undo_file argument, the undo file will be written to a file named debugfs-device.e2undo in the directory specified via the E2FSPROGS_UNDO_DIR environment variable. OSTRZEŻENIE: Plik zapasowy nie pomoże w przypadku utraty zasilania lub zawieszenia systemu.

OKREŚLANIE PLIKÓW
Wiele komend debugfs pobiera określ-pliku jako argument określający i-węzeł (w przeciwieństwie do nazwy ścieżkowej) systemu plików, aktualnie otwartego przez debugfs. Argument określ-pliku może być podany w dwu postaciach. Pierwszą jest numer i-węzła ujęty w nawiasy trójkątne, np. <2>. Drugą postać stanowi nazwa ścieżkowa; jeśli jest ona poprzedzona ukośnikiem ('/'), to będzie interpretowana względem katalogu głównego (root) systemu plików aktualnie otwartego przez debugfs. Jeśli nie, to interpretowana będzie względem bieżącego katalogu roboczego, jaki jest w ustawiony w danym momencie w debugfs. Można go zmienić posługując się komendą debugfs o nazwie cd.

POLECENIA
debugfs jest debuggerem interaktywnym. Rozumie sporo komend.

blocks określ-pliku
    Wypisuje bloki używane przez i-węzeł określ-pliku na standardowe wyjście.

bmap [ -a ] filespec logical_block [physical_block]
    Print or set the physical block number corresponding to the logical block number logical_block in the inode filespec. If the -a flag is specified, try to allocate a block if necessary.

block_dump '[ -x ] [-f plik-wyj◈ciowy] numer-bloku
    Dump the file system block given by block_num in hex and ASCII format to the console. If the -f option is specified, the block number is relative to the start of the given filespec. If the -x option is specified, the block is interpreted as an extended attribute block and printed to show the structure of extended attribute data structures.

cat określ-pliku
    Zrzuca zawartość i-węzła określ-pliku na standardowe wyjście.

cd określ-pliku
    Zmienia bieżący katalog roboczy na określ-pliku.

chroot określ-pliku
    Zmień katalog główny (root) na katalog określ-pliku.

close [-a]
    Zamyka aktualnie otwarty system plików. Jeżeli poda się opcję -a, to wypisywane są wszystkie zmiany i deskryptory grup bloków w odniesieniu do wszystkich zapasowych superbloków, a nie tylko w stosunku do głównego.

clri określ-pliku
    Czyści zawartość i-węzła określ-pliku.

copy_inode source_inode destination_inode
    Copy the contents of the inode structure in source_inode and use it to overwrite the inode structure at destination_inode.

dirsearch określ-pliku nazwa-pliku
    Przeszukuje katalog określ-pliku szukając nazwy-pliku.

dirty [-clean]
    Mark the file system as dirty, so that the superblocks will be written on exit. Additionally, clear the superblock's valid flag, or set it if -clean is specified.

dump [-p] określ-pliku plik-wyjściowy
    Zrzuca zawartość i-węzła określ-pliku do pliku wyjściowego plik-wyjściowy. Jeśli podano opcję -p, to ustawia informację o właścicielu, grupie i prawach plik-wyjściowy, tak jak dla określ-pliku.

dump_mmp [mmp_block]
    Display the multiple-mount protection (mmp) field values. If mmp_block is specified then verify and dump the MMP values from the given block number, otherwise use the s_mmp_block field in the superblock to locate and use the existing MMP block.

dx_hash [-h algorytm-hasz] [-s ziarno-hasz] nazwa-pliku
    Oblicza hasz katalogu nazwa-pliku. Algorytmem haszowania podanym z -h może być: legacy, half_md4 lub tea. Ziarno haszowania podane z -s musi być w formacie UUID.

dump_extents [-n] [-l] określ-pliku
    Zrzuca drzewo ekstentów i-węzła określ-pliku. Flaga -n spowoduje, że dump_extents wyświetli jedynie wewnętrzne węzły w drzewie ekstentów. Flaga -l spowoduje, że opcja wyświetli jedynie liście drzewa ekstentów.

    Proszę zauważyć, że długość i zakres bloków do ostatniego ekstenta w węźle wewnętrznym są przybliżone przez funkcje biblioteki ekstentów i nie są przechowywane w strukturze danych systemu plików. Wyświetlane wartości nie muszą być więc dokładne i nie oznaczają wystąpienia problemu lub uszkodzenia w systemie plików.

dump_unused
    Dump unused blocks which contain non-null bytes.

ea_get [-f outfile]|[-xVC] [-r] filespec attr_name
    Retrieve the value of the extended attribute attr_name in the file filespec and write it either to stdout or to outfile.

ea_list okresl-pliku
    List the extended attributes associated with the file filespec to standard output.

ea_set [-f infile] [-r] filespec attr_name attr_value
    Set the value of the extended attribute attr_name in the file filespec to the string value attr_value or read it from infile.

ea_rm filespec attr_names...
    Remove the extended attribute attr_name from the file filespec.

expand_dir określ-pliku
    Rozwija katalog określ-pliku.

fallocate okre◈l-pliku blok-pocz◈tkowy [blok-ko◈cowy]
    Allocate and map uninitialized blocks into filespec between logical block start_block and end_block, inclusive. If end_block is not supplied, this function maps until it runs out of free disk blocks or the maximum file size is reached. Existing mappings are left alone.

feature [cecha] [-cecha] ...
    Ustawia (lub czyści - z minusem) różne cechy systemu plików w superbloku, a następnie wyświetla aktualny stan cech systemu plików.

filefrag [-dvr] określ-pliku
    Wypisuje liczbę ciągłych ekstentów w określ-pliku. Jeśli określ-pliku jest katalogiem, a nie podano opcji -d, to filefrag wypisze liczbę ciągłych ekstentów każdego pliku w katalogu. Opcja -v spowoduje, że filefrag wypisze tabelaryczną listę ciągłych ekstentów pliku. Opcja -r oznacza rekurencyjne wypisanie katalogu.

find_free_block [liczba [cel]]
    Znajduje pierwsze liczba wolnych bloków, poczynając od cel i alokuje je. Dostępne również jako ffb.

find_free_inode [katalog [tryb]]
    Znajduje wolny i-węzeł i alokuje go. Jeśli go podano, to argument katalog określa numer i-węzła katalogu, w którym ma zostać umieszczony i-węzeł. Drugi opcjonalny argument tryb określa prawa nowego i-węzła (jeżeli w trybie mode ustawiony jest bit katalogu, to procedura alokacji będzie działać odmiennie). Dostępne również jako ffi.

freeb blok [liczba]
    Zaznacza blok o numerze blok jako niezaalokowany. Jeżeli podany zostanie opcjonalny argument liczba, to liczba bloków zaczynając od bloku o numerze blok zostanie zaznaczona jako niezaalokowana.

freefrag [-c część_kb ]
    Wypisuje fragmentację wolnej przestrzeni w aktualnie otwartym systemie plików. Jeśli poda się opcję -c, to polecenie freefrag wypisze liczbę wolnych części o rozmiarze część_kb. Rozmiar części musi być potęgą dwójki i musi być większy od rozmiaru bloku systemu plików.

freei określ-pliku [numer]
    Zwalnia i-węzeł podany przez określ-pliku. Jeśli poda się numer, to czyści również numer-1 i-węzłów po podanym i-węźle.

get_quota quota_type id
    Display quota information for given quota type (user, group, or project) and ID.

help
    Pokazuje listę poleceń rozumianych przez debugfs.

htree_dump określ-pliku
    Zrzuca indeksowany za pomocą haszy katalog określ-pliku, pokazując jego strukturę drzewa.

icheck blok ...
    Pokazuje zestawienie i-węzłów używających jednego lub więcej bloków określonych w wierszu poleceń.

inode_dump [-b]|[-e]|[-x] okre◈l-pliku
    Print the contents of the inode data structure in hex and ASCII format. The -b option causes the command to only dump the contents of the i_blocks array. The -e option causes the command to only dump the contents of the extra inode space, which is used to store in-line extended attributes. The -x option causes the command to dump the extra inode space interpreted and extended attributes. This is useful to debug corrupted inodes containing extended attributes.

imap określ-pliku
    Wypisuje położenie struktury danych i-węzła (w tabeli i-węzłów) określ-pliku.

init_filesys urządzenie rozmiar-bloku
    Tworzy system plików ext2 na urządzeniu urządzenie z rozmiarem urządzenia rozmiar-bloku. Proszę zauważyć, że nie inicjuje to w pełni wszystkich struktur danych; aby to zrobić, proszę wykorzystać program mke2fs(8). Ta komenda jest tylko wywołaniem funkcji z biblioteki niskopoziomowej, która ustawia superblok i deskryptory bloków.

journal_close
    Close the open journal.

journal_open [-c] [-v ver] [-f ext_jnl]
    Opens the journal for reading and writing. Journal checksumming can be enabled by supplying -c; checksum formats 2 and 3 can be selected with the -v option. An external journal can be loaded from ext_jnl.

journal_run
    Replay all transactions in the open journal.

journal_write [-b blocks] [-r revoke] [-c] file
    Write a transaction to the open journal. The list of blocks to write should be supplied as a comma-separated list in blocks; the blocks themselves should be readable from file. A list of blocks to revoke can be supplied as a comma-separated list in revoke. By default, a commit record is written at the end; the -c switch writes an uncommitted transaction.

kill_file określ-pliku
    Zwalnia (dealokuje) i-węzeł określ-pliku i jego bloki. Proszę zauważyć, że nie usuwa to żadnych wpisów katalogu (jeśli istnieją) dotyczących tego i-węzła. Aby usunąć (ang. unlink) plik, proszę zapoznać się z poleceniem rm(1).

lcd katalog
    Zmienia bieżący katalog roboczy debugfs na katalog na pierwotnym (native) systemie plików.

list_quota quota_type
    Display quota information for given quota type (user, group, or project).

ln określ-pliku plik-docelowy
    Tworzy dowiązanie zwykłe (twarde) o nazwie plik-docelowy, do pliku określ-pliku. Proszę zauważyć, że nie dostosowuje to odpowiednio licznika odwołań w i-węźle.

logdump [-acsOS] [-b block] [-n num_trans ] [-i filespec] [-f journal_file] [output_file]
    Zrzuca zawartość dziennika ext3. Domyślnie zrzuca, i-węzeł dziennika brany z superbloku. Można przesłonić ten wybór za pomocą opcji -i, która zrzuca dziennik z wewnętrznego i-węzła podanego jako określ-pliku. Zwykły plik zawierający dane dziennika można podać za pomocą opcji -f. Opcja -s wykorzystuje informacje zapasowe z superbloku, do zlokalizowania dziennika.

    The -S option causes logdump to print the contents of the journal superblock.

    The -a option causes the logdump to print the contents of all of the descriptor blocks. The -b option causes logdump to print all journal records that refer to the specified block. The -c option will print out the contents of all of the data blocks selected by the -a and -b options.

    The -O option causes logdump to display old (checkpointed) journal entries. This can be used to try to track down journal problems even after the journal has been replayed.

    The -n option causes logdump to continue past a journal block which is missing a magic number. Instead, it will stop only when the entire log is printed or after num_trans transactions.

ls [-l] [-c] [-d] [-p] [-r] okre◈l-pliku
    Print a listing of the files in the directory filespec. The -c flag causes directory block checksums (if present) to be displayed. The -d flag will list deleted entries in the directory. The -l flag will list files using a more verbose format. The -p flag will list the files in a format which is more easily parsable by scripts, as well as making it more clear when there are spaces or other non-printing characters at the end of filenames. The -r flag will force the printing of the filename, even if it is encrypted.

list_deleted_inodes [limit]
    Wypisuje usunięte i-węzły, opcjonalnie ograniczone do usuniętych limit sekund temu. Dostępne również jako lsdel.

    Polecenie było przydatne do usuwania przypadkowo skasowanych plików z systemu plików ext2. Niestety nie jest przydatne do tego celu w systemach plików ext3 ani ext4, ponieważ bloki danych i-węzłów nie są już dostępne po zwolnieniu i-węzła.

modify_inode określ-pliku
    Zmienia zawartość struktury i-węzła o nazwie określ-pliku. Dostępne również jako mi.

mkdir określ-pliku
    Tworzy katalog.

mknod określ-pliku [p|[[c|b] główny poboczny]]
    Tworzy plik specjalny urządzenia (potoku nazwanego, urządzenia znakowego lub blokowego). Jeżeli tworzone ma być urządzenie znakowe lub blokowe, to musi zostać podany główny (major) i poboczny (minor) numer urządzenia.

ncheck [-c] numer-i-węzła ...
    Za pomocą żądanej listy numerów i-węzłów wypisuje listę nazw ścieżek do tych i-węzłów. Flaga -c włącza sprawdzania informacji o typie pliku we wpisie katalogu, upewniając się, że pasuje on do typu i-węzła.

open [-weficD] [-b blocksize] [-d image_filename] [-s superblock] [-z undo_file] device
    Otwiera system plików do edycji. Flaga -f wymusza otwarcie systemu plików nawet wtedy gdy posiada on nieznane lub niekompatybilne cechy, które normalnie zapobiegły by otwarciu. Opcja -e powoduje, że system plików jest otwarty w trybie wyłączności. Opcje -b -c, -d, -i, -s, -w i -D zachowują się tak samo jak te z debugfs.

punch określ-pliku blok-początkowy [blok-końcowy]
    Usuwa bloki w i-węźle, poczynając od bloku-początkowego do bloku-końcowego. Jeśli nie poda się bloku-końcowego, to ta komenda zadziała jak polecenie obcięcia (ang. truncate), tzn. dealokowane będą wszystkie bloki od bloku-początkowego, aż do końca pliku.

symlink określ-pliku cel
    Tworzy dowiązanie symboliczne.

pwd Pokazuje bieżący katalog roboczy.

quit
    Kończy pracę debugfs.

rdump katalog[...] miejsce-docelowe
    Zrzuca rekurencyjnie katalog lub wiele katalogów wraz z zawartością (włączając plik, dowiązania symboliczne i inne katalogi) w miejsce_docelowe, które powinno być istniejącym katalogiem na pierwotnym systemie plików.

rm ścieżka
    Usuwa (ang. unlink) ścieżkę. Jeśli spowoduje to, że i-węzeł wskazywany przez ścieżka nie będzie posiadał innych odwołań, to dealokuje plik. Komenda ta działa jak funkcja systemowa unlink().

rmdir określ-pliku
    Usuwa katalog określ-pliku.

setb blok [liczba]
    Zaznacza blok o numerze blok jako zaalokowany. Jeżeli podany zostanie opcjonalny argument liczba, to wtedy liczba bloków zaczynając od bloku o numerze blok zostanie zaznaczona jako zaalokowana.

set_block_group num-dgb pole wartość
    Modyfikuje deskryptor grupy bloków określony przez num-dgb tak, że pole deskryptora pole będzie miało wartość wartość. Dostępne również jako set_bg.

set_current_time time
    Set current time in seconds since Unix epoch to use when setting file system fields.

seti określ-pliku [liczba]
    Oznacza i-węzeł określ-pliku, jako użyty w mapie bitów i-węzła. Jeśli poda się liczbę, to oznaczanych jest również liczba-1 i-węzłów po podanym i-węźle.

set_inode_field określ-pliku pole wartość
    Modyfikuje i-węzeł określony przez określ-pliku tak, że pole pole na wartość wartość. Lista prawidłowych pól i-węzła, które mogą być ustawione tą komendą, może zostać wyświetlona za pomocą: set_inode_field -l. Dostępne również jako sif.

set_mmp_value pole wartość
    Modyfikuje dane ochrony przed wielokrotnym montowaniem (ang. multiple-mount protection - MMP) tak, że pole mmp pole, ma wartość wartość. Lista poprawnych pól MMP, które mogą być ustawione tą komendą, może zostać wyświetlona za pomocą: set_mmp_value -l. Dostępne również jako smmp.

set_super_value pole wartość
    Ustawia pole superbloku pole na wartość wartość. Wszystkie prawidłowe pola superbloku, które mogą być ustawione tą komendą, mogą zostać wyświetlone za pomocą: set_super_value -l. Dostępne również jako ssv.

show_debugfs_params
    Display debugfs parameters such as information about currently opened file system.

show_super_stats [-h]
    Wyświetla zawartość superbloku i deskryptorów grup bloków. Jeżeli podana jest flaga -h, wypisywana jest tylko zawartość superbloku. Dostępne również jako stats.

stat określ-pliku
    Wyświetla zawartość struktury i-węzła o nazwie określ-pliku.

supported_features
    Display file system features supported by this version of debugfs.

testb blok [liczba]
    Sprawdza, czy blok o numerze blok jest zaznaczony jako zaalokowany w mapie bitowej bloku. Jeżeli podany jest opcjonalny argument liczba, wtedy zostanie sprawdzona liczba bloków zaczynając od bloku o numerze blok.

testi okresl-pliku
    Sprawdza, czy i-węzeł określ-pliku jest zaznaczony jako zaalokowany w mapie bitowej bloku.

undel <numer-i-węzła> [ścieżka]
    Odwołuje usunięcie podanego numeru i-węzła (który musi być ujęty w nawiasy trójkątne), dzięki czemu jego bloki są oznaczane jako w użyciu i opcjonalnie dowiązuje odzyskany i-węzeł do podanej ścieżki. Po użyciu komendy undel powinno się zawsze uruchomić e2fsck, w celu odzyskania usuniętych plików.

    Proszę zauważyć, że jeśli odzyskuje się dużą liczbę usuniętych plików, to dowiązywanie i-węzła do katalogu może wymagać rozwinięcia katalogu, co może spowodować alokację bloku, który był wcześniej użyty przez jeden z plików do odzyskania. Jest więc bezpieczniej odzyskać wszystkie i-węzły bez podawania ścieżki docelowej, a następnie, w kolejnym przebiegu, użyć komendy link, która dowiązuje i-węzeł do ścieżki docelowej, lub użyć e2fsck do sprawdzenia systemu plików i dowiązania wszystkich odzyskanych i-węzłów do katalogu lost+found.

unlink ścieżka
    Usuwa dowiązanie do i-węzła, określone przez ścieżkę. Proszę zauważyć, że nie dostosowuje to odpowiednio licznika odwołań w i-węźle.

write plik-źródłowy plik-wyjściowy
    Kopiuje zawartość pliku-źródłowego do nowo tworzonego pliku w systemie plików, o nazwie plik-wyjściowy.

zap_block [-f plik] [-o przesunięcie] [-l długość] [-p wzorzec] numer-bloku
    Overwrite the block specified by block_num with zero (NUL) bytes, or if -p is given use the byte specified by pattern. If -f is given then block_num is relative to the start of the file given by filespec. The -o and -l options limit the range of bytes to zap to the specified offset and length relative to the start of the block.

zap_block [-f określ-pliku] [-b bit] numer-bloku
    Zamienia porcje bitów fizycznego numeru-bloku. Jeśli podano -f, numer bloku jest blokiem logicznym liczonym od początku określ-pliku.

ZMIENNE ŚRODOWISKOWE

DEBUGFS_PAGER, PAGER
    Program debugfs zawsze przesyła w potoku wyjście niektórych komend przez program stronicujący. Są to następujące komendy: show_super_stats (stats), list_directory (ls), show_inode_info (stat), list_deleted_inodes (lsdel) i htree_dump. Można podać określony program stronicujący za pomocą zmiennej środowiskowej DEBUGFS_PAGER lub, jeśli nie jest ustawiona, PAGER.

    Proszę zauważyć, że ponieważ program stronicujący jest używany zawsze, to less(1) nie jest szczególnie dobry, ponieważ czyści ekran przed wyświetleniem wyjścia komendy i czyści ekran, po wyjściu programu stronicującego. Wielu użytkowników preferuje używanie less(1) do większości zastosowań i jest to powód, dla którego dostępna jest zmienna środowiskowa DEBUGFS_PAGER, która przesłania ogólniejszą zmienną środowiskową PAGER.

AUTOR
debugfs zostało napisane przez Theodore Ts'o <tytso@mit.edu>.

ZOBACZ TAKŻE
dumpe2fs(8), tune2fs(8), e2fsck(8), mke2fs(8), ext4(5)

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Wojtek Kotwica <wkotwica@post.pl> i Michał Kułach <michal.kulach@gmail.com>

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 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.