NAZWA¶
debugfs - debugger systemu plików ext2/ext3/ext4
SKŁADNIA¶
debugfs [
-DVwci ] [
-b rozmiar-bloku ] [
-s
superblok ] [
-f plik-komend ] [
-R komenda
] [
-d urządzenie-źródła-danych ] [
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 plikiem specjalnym odpowiadającym
urządzeniu zawierającemu system plików (np. /dev/hdXX).
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).
- -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 zamiast, tak jak normalnie, wykrywać odpowiedni
rozmiar.
- -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.
- -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ę.
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.
KOMENDY¶
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 określ-pliku blok-logiczny
- Wypisuje numer fizycznego bloku, odnoszącego się
do logicznego bloku o numerze blok-logiczny w i-węźle
określ-pliku.
- 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 plik
- Czyści zawartość i-węzła
plik.
- dirsearch określ-pliku nazwa-pliku
- Przeszukuje katalog określ-pliku szukając
nazwy-pliku.
- 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
- Wyświetla wartości pola zabezpieczającego
przed wielokrotnymi montowaniami (ang. multiple-mount protection -
mmp).
- 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.
- expand_dir określ-pliku
- Rozwija katalog określ-pliku.
- 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.
- 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).
- 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.
- 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ń.
- 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.
- 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.
- ln określ-pliku plik-docelowy
- Tworzy dowiązanie 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 [-ac] [-bblok]
[-i i-węzeł] [-fdziennik]
[plik-wyjściowy]
- Zrzuca zawartość dziennika ext3. Domyślnie,
i-węzeł dziennika jest brany z superbloku. Można
przesłonić ten wybór za pomocą opcji -i,
która używa podanego i-węzła jako położenia
dziennika. Plik zawierający dane dziennika można podać za
pomocą opcji -f. Opcja -s wykorzystuje informacje
zapasowe z superbloku, do zlokalizowania dziennika.
- Opcja -a powoduje, że logdump wypisuje
zawartość wszystkich bloków deskryptora. Z opcją
-b logdump wypisuje wszystkie rekordy dziennika, które
odnoszą się do podanego bloku. Opcja -c wypisuje
zawartość wszystkich bloków z danymi, wybranymi przez opcje
-a i -b.
- ls [-l] [-d] [-p]
określ-pliku
- Wypisuje listę plików w katalogu
określ-pliku. Flaga -l wypisuje pliki za pomocą
bardziej szczegółowego formatu. Flaga -d wypisuje
usunięte wpisy w katalogu. Opcja -p wypisze pliki w formacie,
który jest łatwiejszy do przetworzenia przez skrypty oraz
łatwiej jest rozpoznać ewentualne spacje i inne znaki
niedrukowalne na końcu nazw plików.
- modify_inode określ-pliku
- Zmienia zawartość struktury i-węzła o
nazwie określ-pliku.
- 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 [-w] [-e] [-f] [-i]
[ -c] [-D] [-b rozmiar_bloku] [-s
superblok] urządzenie
- 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,
-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.
- pwd
- Pokazuje bieżący katalog roboczy.
- quit
- Kończy pracę debugfs.
- rdump katalog miejsce-docelowe
- Zrzuca rekurencyjnie katalog 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_super_value 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ść.
- 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.
- 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.
- 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
- 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.
- stat określ-pliku
- Wyświetla zawartość struktury
i-węzła o nazwie określ-pliku.
- 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
- Tworzy w systemie plików plik o nazwie
plik-wyjściowy, i kopiuje do niego zawartość pliku
plik-źródłowy.
ZMIENNE ŚRODOWISKA¶
- 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,
list_directory, show_inode_info, list_deleted_inodes
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)
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Wojtek Kotwica (PTM) <wkotwica@post.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.4 oryginału.