email: darw32@poczta.onet.pl


Linux - 4.Korzystanie z Różnych Mediów

System Plików (FS)

Czym jest system plików?

System plików to metody i struktury danych używane przez system operacyjny używane w celu zapisania informacji o plikach i ich zawartości na danej partycji; jest to sposób organizacji plików na dysku. Słowo to jest używane również w znaczeniu dysku, partycji. Może to być nieco mylące.

Różnica między dyskiem a partycją, lub systemem plików jest ważna. Kilka programów (włączają programy tworzące systemy plików) pracują opierając się na sektorach; jeżeli w polu działania istnieje system plików zostanie on zniszczony, lub poważnie uszkodzony. Większość programów pracuje w oparciu o system plików, nie będą one pracować na partycji nie zawierającej go (lub na partycji zawierającej zły system plików).

Przed użyciem partycji, lub dysku jako system pliku należy odpowiednio go przygotować, stworzyć odpowiednie struktury. Proces ten nazywany jest tworzeniem systemu plików.

Większość systemów plików używanych przez Unixy jest ogólnie podobna (lub są one funkcjonalnie podobne), jednak szczegóły mogą się znacząco różnić. Wspólnymi pomysłami są: superblok, iwęzeł, blok danych, blok katalogu, oraz blok pośredni. Superblok zawiera informacje o systemie jako całości, np. rozmiar (dokładna zawartość zależy od systemu plików). Iwęzeł zawiera wszelkie informacje o pliku, za wyjątkiem jego nazwy. Nazwa przechowywana jest w katalogu, razem z numerem iwęzła. Wpis katalogu zawiera nazwę, liczbę iwęzłów plików. Iwęzeł zawiera numery kilku bloków danych, które używane są do przechowywania pliku. Automatycznie allokowane miejsce pozwala przechowywać tylko kilka numerów, jednak w razie potrzeby zostaje dynamicznie allokowana dodatkowa przestrzeń. Bloki allokowane dynamicznie nazywają się bezpośrednimi; nazwa wskazuje, że w celu znalezienia numeru bloku danych należy znaleźć pierwszy blok pośredni.

Zazwyczaj system plików UNIXA pozwala tworzyć dziury w plikach (są one tworzone za pomocą lseek; sprawdź stronę podręcznika), oznacza to, że system udaje występowanie zera na danym miejscu, jednak nie zajmuje ono dysku. Dzieje się tak często w przypadku małych binariów, bibliotek dzielonych Linuxa, niektórych baz danych i przy innych okazjach. Dziury przechowywane są poprzez zapisywanie specjalne wartości w polu adresu bloku pośredniego, lub iwęzła. Ten specjalny adres oznacza, że w pliku jest dziura.

Dziury są całkiem pożyteczne. Na systemie autora, prosty pomiar pokazał, iż oszczędzono w ten sposób 4 MB dla 200 MB danych. Ten system zawiera relatywnie mało programów i żadnych baz danych.

Paleta systemów plików

Linux obsługuje kilka typów systemów plików. Najważniejszymi z nich są:

minix

Najstarszy, uważany za najbardziej niezawodny, jednak posiada on znaczne ograniczenia (brakuje niektórych znaczników czasu, nazwy plików mogą mieć maxymalnie 30 znaków, system plików może mieć co najwyżej 64 MB ).

xia

Zmodyfikowana wersja systemu minix, w której zostały podniesione limity: maxymalnej długości nazwy, oraz rozmiaru systemu plików. Żadne nowości nie zostały wprowadzone. Nie jest zbyt popularny, jednak istnieją dowody, iż działa całkiem dobrze.

ext2

Najbogatszy w możliwości system plików Linuxa, aktualnie jest najbardziej popularny. Zaprojektowany z myślą o zgodności wzwyż, dzięki czemu powstanie nowej wersji nie oznacza potrzeby konwersji.

ext

Starsza wersja ext2, nie jest zgodna wzwyż. Aktualnie nie używany, większość ludzi używa ext2.

Powstające systemy

Aktualnie powstaje kilka systemów 'z kartoteką', ich cechami są szybkość operacji na dużej ilości plików, oraz algorytmy obsługujące, które pozwalają na samoczynne naprawianie się systemu w czasie pracy.

Jądro Linuxa potrafi (jeżeli tak je skompilowano) obsłużyć systemy plików obcego pochodzenia. Systemom takim często brakuje pewnych cech znanych z rozwiązań rdzennych dla Unixa, czasami posiadają one dziwne ograniczenia.

msdos

Kompatybliny z MS-DOS (OS/2 i Windows NT) system plików FAT.

usmdos

Rozszerzona wersja systemu msdos, która umożliwia tworzyć długie nazwy plików, ustanawiać właścicieli, prawa dostępu, łącza, oraz pliki urządzeń. Dzięki niemu zwykły system plików msdos zyskuje cechy znane w środowisku Unix, oraz umożliwia zainstalowanie Linuxa na partycji MS-DOS.

iso9660

Statdardowy system plików płyt CD-ROM; popularne rozszerzenie "Rock Ridge" rozpoznawane jest automatycznie.

nfs

Sieciowy System Plików Suna umożliwia dzielenie systemów plików poprzez sieć, umożliwia tworzenie bezdyskowych stacji, itp.

hpfs

System plików OS/2.

sysv

Używany przez SystemV/386, Coherenta i Xenixa.

Wybór systemu plików często podyktowany jest sprawą kompatybilności. Jeżeli musisz możesz wykorzystywać te systemy, jednak w przypadku gdy kompatybilność nie jest wymagana najlepiej wybrać ext2, ponieważ posiada on wszelkie potrzebne możliwości i do tego jest wydajny.

Istnieje również system plików proc, najczęściej jest on dostępny poprzez katalog /proc, nie jest to rzeczywisty system plików - jest to specjalne rozwiązanie pozwalające sprawdzać i modyfikować, niektóre parametry jądra podczas pracy systemu. Takie podejście umożliwia wgląd w jądro za pomocą zwykłych narzędzi do manipulacji plikami. Dla przykładu aby odczytać aktualną listę procesów można zrobić coś takiego:

$ ls -l /proc
  total 0
  dr-xr-xr-x   4 root     root            0 Jan 31 20:37 1
  dr-xr-xr-x   4 liw      users           0 Jan 31 20:37 63
  dr-xr-xr-x   4 liw      users           0 Jan 31 20:37 94
  dr-xr-xr-x   4 liw      users           0 Jan 31 20:37 95
  dr-xr-xr-x   4 root     users           0 Jan 31 20:37 98
  dr-xr-xr-x   4 liw      users           0 Jan 31 20:37 99
  -r--r--r--   1 root     root            0 Jan 31 20:37 devices
  -r--r--r--   1 root     root            0 Jan 31 20:37 dma
  -r--r--r--   1 root     root            0 Jan 31 20:37 filesystems
  -r--r--r--   1 root     root            0 Jan 31 20:37 interrupts
  -r--------   1 root     root      8654848 Jan 31 20:37 kcore
  -r--r--r--   1 root     root            0 Jan 31 11:50 kmsg
  -r--r--r--   1 root     root            0 Jan 31 20:37 ksyms
  -r--r--r--   1 root     root            0 Jan 31 11:51 loadavg
  -r--r--r--   1 root     root            0 Jan 31 20:37 meminfo
  -r--r--r--   1 root     root            0 Jan 31 20:37 modules
  dr-xr-xr-x   2 root     root            0 Jan 31 20:37 net
  dr-xr-xr-x   4 root     root            0 Jan 31 20:37 self
  -r--r--r--   1 root     root            0 Jan 31 20:37 stat
  -r--r--r--   1 root     root            0 Jan 31 20:37 uptime
  -r--r--r--   1 root     root            0 Jan 31 20:37 version
$

(Pokaże to kilka dodatkowych plików, które nie odpowiadają procesom. Powyższy przykład został skrócony.)

Zapamiętaj, że pomimo swej nazwy "system plików" nie potrzeba dla niego żadnego miejsca (oprócz miejsca na katalog /proc), niektóre z plików posiadają rozmiar różny od zera, jest fikcyjny tak samo jak cały system plików - stanowi część informacji dostarczanej przez jądro, żaden bajt dysku nie jest użyty.

Które systemy plików powinnych być używane?

Zazwyczaj bezsensownym jest używanie kilku typów systemów plików. Aktualnie ext2 jest najpopularniejszym i prawdopodobnie stanowi najlepszy wybór. Zależnie od miejsca zużywanego przez sam system plików, prędkości, pewności działania, kompatybilności i innych powodów można wybrać inny system plików. Każdy przypadek wymaga oddzielnego podejścia.

Tworzenie systemu plików

System plików jest tworzony (inicjalizowany) przez mkfs. Aktualnie istnieje kilka osobnych programów dla każdego systemu plików. Polecenie mkfs pośredniczy między nimi a użytkownikiem. Typ wybierany jest za pomocą opcji -t typ.

Programy wywoływane przez mkfs mogą wymagać innych opcji. Wspólne i najważniejsze podane są poniżej; zobacz odpowiednie strony podręcznika.

-t typ

Wybierz system plików.

-c

Sprawdź czy są jakieś zepsute bloki, inicjalizuj listę złych bloków odpowiednio.

l plik

Odczytaj z pliku listę złych bloków.

Aby na dyskietce utworzyć system plików ext2 należy wykonać następujące polecenia:

$ fdformat -n /dev/fd0H1440
  Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
  Formatting ... done
$ badblocks /dev/fd0H1440 1440 $>$ bad-blocks
$ mkfs -t ext2 -l bad-blocks /dev/fd0H1440
  mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
  360 inodes, 1440 blocks
  72 blocks (5.00%) reserved for the super user
  First data block=1
  Block size=1024 (log=0)
  Fragment size=1024 (log=0)
  1 block group
  8192 blocks per group, 8192 fragments per group
  360 inodes per group
 
  Writing inode tables: done
  Writing superblocks and filesystem accounting information: done
$

Najpierw sformatowano dyskietkę (opcja -n wyłącza sprawdzanie występowania złych bloków ), później sprawdziliśmy czy dyskietka nie posiada zepsutych obszarów za pomocą programu badblocks, wyjście skierowaliśmy do pliku. Ostatecznie stworzyliśmy system plików, zainicjowaliśmy listę złych bloków zawartością pliku.

Można było użyć opcji -c programu mkfs, zamiast uruchamiać program badblocks. Poniższy przykład działa tak:

$ mkfs -t ext2 -c /dev/fd0H1440
  mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
  360 inodes, 1440 blocks
  72 blocks (5.00%) reserved for the super user
  First data block=1
  Block size=1024 (log=0)
  Fragment size=1024 (log=0)
  1 block group
  8192 blocks per group, 8192 fragments per group
  360 inodes per group
 
  Checking for bad blocks (read-only test): done
  Writing inode tables: done
  Writing superblocks and filesystem accounting information: done
$

Opcja -c jest pewniejsza niż użycie badblocks, jednak program badblocks jest niezbędny do sprawdzania istniejących systemów plików.

Aby przygotować dysk należy wykonać podobne czynności, przy czym formatowanie nie jest potrzebne.

Montowanie i odmontowywanie

Przed użyciem systemu plików należy go zamountować. System operacyjny sprawdza, niektóre części systemu plików w celu upewnienia się, że działa. Ponieważ w Unixie pliki przechowywane w jednym drzewie nowy system plików będzie tworzył zawartość jakiegoś katalogu.

Dla przykładu: Rysunek 4_8.1 poniżej pokazuje systemy plików, ich katalogi główne zostały zaznaczone. Montując ostatnie dwa systemy plików odpowiednio w katalogu /home i /usr, wszystko to na pierwszym systemie plików, otrzymamy spójne drzewo katalogów: Rysunek 4_8.2.

Rysunek 4_8.1 Trzy osobne systemy plików.



Rysunek 4_8.2 /home i /usr zostały zamontowane.

$ mount /dev/hda2 /home
$ mount /dev/hda3 /usr
$

Pierwszy argument oznacza plik urządzenia zawierający system plików. Drugi argument to katalog, w którym należy zamontować zawartość urządzenia. Po zamontowaniu zawartość systemu plików podanego urządzenia staje się zawartością katalogu. Zauważ różnicę między urządzeniem /dev/hda2, a /home. Plik urządzenia umożliwia dostęp do surowych danych, natomiast, po zamontowaniu, katalog udostępnia te dane w postaci plików i katalogów. Katalog, do którego montujemy system plików nazywany jest punktem montowania.

Linux obsługuje wiele systemów plików. mount próbuje odgadnąć typ systemu (co może mu się nie udać). Aby jawnie podać system plików należy posłużyć się opcją -t typ; Aby zamontować dyskietkę MS-DOS:

$ mount -t msdos /dev/fd0 /floppy
$

Punkt montowania nie powinien zawierać plików - będą one niedostępne aż do odmontowania systemu plików (otwarte pliki będą nadal dostępne). Nie czyni to szkody, a czasami może być pożyteczne: załóżmy, że /tmp i /var/tmp są synonimami, niech /tmp będzie łączem symbolicznym do /var/tmp. Podczas startu systemu, przed zamontowaniem /var, katalog /var/tmp znajdujący się na głównym systemie plików jest używany. Montując /var przesłaniamy /var/tmp. Jeżeli /var/tmp nie istniałby na głównym systemie plików nie możnaby tworzyć plików tymczasowych przez zamontowaniem /var.

Jeżeli nie zamierzasz zmieniać systemu plików użyj opcji -r - w ten sposób zamontujesz go w trybie wyłącznie do odczytu. Jądro odrzuci wszelkie próby zapisu, oraz nie będzię aktualizować czasu dostępu do iwęzłów. Montowanie w trybie wyłącznie-do-odczytu jest niezbędne dla niezapisywalnych mediów (np. CD-ROM-ów).

Uważny czytelnik zapewne zauważył pewnien logiczny problem. Jak można zamontować pierwszy system plików (nazywany głównym, skoro nie można go zamontować jako podkatalog innego? Cóż, dzieje się tak za sprawą magii (więcej informacji znajdziesz w Kernel Hacker's Guide). Główny system plików jest magicznie montowany w czasie starty systemu. Jeżeli nie może zostać zamontowany system nie uruchomi się. Nazwa pierwszego systemu plików jest albo wkompilowana w jądro, albo ustawiona za pomocą LILO, lub rdev.

Główny system plików jest najczęściej montowany jako wyłącznie-do-odczytu. Później skrypt startowy uruchamia fsck w celu walidacji poprawności, jeżeli nie wykryto błędów system plików zostaje przemontowany do trybu zapisywalnego. fsck nie może być uruchamiany na zamontowanym systemie plików ponieważ wszelkie poczynione zmiany spowodowałyby wadliwą pracę tego programu i prawdopodobną utratę danych. Jednakże system plików znajduje się w trybie tylko-do-odczytu i fsck może go zmieniać, operacja przemontowywania usunie z pamięci wszelkie poczynione zmiany i nie dojdzie do uszkodzenia systemu plików.

W wielu systemach używa się kilku systemów plików, które powinny zostać zamontowane automatycznie podczas startu systemu. Podaje je się w pliku /etc/fstab (zobacz stronę odpowiednią stronę podręcznika). Dokładne szczegóły dotyczące tego procesu mogą się różnić - są zależne od administratora, zobacz sekcję Rozdział 6.

Jeżeli system plików nie jest już potrzeby należy go odmontować poleceniem umount (oczywiście powinno być unmount, jednakże n zniknęło w latach 70 i nie powróciło od tamtego czasu. Znalezione proszę zwrócić Laboratoriom Bella, NJ). umount potrzebuje jednego argumentu - systemu plików. Oto jak odmontować systemu plików zamontowane w poprzednim przykładzie:

$ umount /dev/hda2
$ umount /usr
$

Zobacz odpowiednią stronę podręcznika. Należy pamiętam, że należy odmontować system plików przed wyciągnięciem jego nośnika (np. dyskietki). Nie wyciągaj dyskietki bez jej odmontowania! Informacje zapisywane są w odpowiednich buforach, w pamięci i tylko co jakiś czas następuje aktualizacja, wyciągając dyskietkę w najlepszym przypadku stracisz dane, w najgorszym zniszczysz system plików.

Montowanie i odmontowywanie wymaga przywilejów superużytkownika. W ten sposób użytkownik nie może wprowadzić "brzydkiego" programu. Zdarza się, że niektórym użytkownikom należy udostępnić napęd dyskietek, istnieje na to kilka sposobów:

  • Dać im hasło roota. Oczywiście stanowi to zagrożenie bezpieczeństwa systemu, ale jest nałatwiejszym wyjściem. Jest to dobre wyjście na domowych komputerach.
  • Skorzystać z programu sudo aby umożliwić użytkownikom uruchamianie programu mount. Ciągle jest dziura w bezpieczeństwie, choć nie daje bezpośredniego dostępu do roota (musisz zastanowić się mógłbyś zrobić będąc użytkownikiem).
  • Pozwolić użytkownikom korzystać z pakietu mtools (programy manipulujące dyskietkami MS-DOS bez potrzeby montowania).
  • Wstawić odpowiednie wpisy do pliku /etc/fstab.

Ostatnia alternatywa może zostać zaimplementowana poprzez wstawienie następującej linijki do pliku /etc/fstab:

/dev/fd0            /floppy      msdos   user,noauto      0     0

Kolumny oznaczają: plik urządzenia, punkt montowania, typ systemu plików, opcje, częstotliwość tworzenia kopii bezpieczeństwa (używane przez dump) i numer dla fsck oznaczający kolejność sprawdzania (aby podać kolejność sprawdzania, 0 oznacza jego brak).

Opcja noauto powstrzymuje mount od automatycznego montowania podczas startu systemu (wykonywania mount -a). Opcja user oznacza, że każdy użytkownik ma prawo zamontować system plików oraz, że użytkownik nie ma prawa uruchamiać programów znajdujących się na tym systemie plików, oraz wyłącza interpretacje plików urządzeń. Po takich zmianach każdy użytkownik może zamontować dyskietkę zawierającą system plików FAT:

$ mount /floppy
$

Dyskietka musi zostać odmontowana za pomocą polecenia umount. Jeżeli chcesz udostępnić możliwość korzystania z dyskietek różnych typów musisz wstawić odpowiednie linijki, oraz stworzyć kilka puntków montowania. Dla przykładu:

/dev/fd0    /mnt/dosfloppy    msdos   user,noauto  0  0
/dev/fd0    /mnt/ext2floppy   ext2    user,noauto  0  0

Dla systemu plików MS-DOS-a zapewne chcesz zablokować pozostałym dostęp do dyskietki - umożliwia to połączenie opcji: uid, gid i umask (więcej znajduje się w podręczniku dotyczącym mount). Jeżeli jesteś nieostrożny, zamontowanie takiej dyskietki umożliwi skorzystanie z niej każdemu, co nie jest dobrym pomysłem.

Sprawdzanie integralności systemu plików za pomocą fsck

Systemy plików to złożone stworzonka i jako takie mają skłonności do psucia się. Poprawność systemu plików można sprawdzić za pomocą programu fsck. Można go ustawić tak aby naprawiał automatycznie drobne błędy, oraz powiadamiał użytkownika w przypadku nienaprawialnych usterek. Na szczęście, kod implementujący systemy plików był bacznie sprawdzany, przez to większość błędów powstaje z powodu użytkownika (niepoprawne zamknięcie systemu), sprzętu lub wypadki losowe (problemy z zasilaniem).

Większość systemów ma ustawione automatyczne uruchamianie fsck w czasie startu, dzięki czemu wykryte błędy są naprawiane przed użycie systemu plików. Pamiętaj, że używanie zepsutego systemu plików najczęściej powoduje powstanie nowych błędów. Ponieważ sprawdzanie dużego systemu plików może zająć fsck dużo czasu stosuje się pewne sztuczki. Po piewsze, jeżeli instnieje plik /etc/fastboot sprawdzanie zostanie pominięte. Po drugie, ext2 posiada specjalne pole w superbloku mówiące czy dany system plików został poprawnie odmontowany. To umożliwia e2fsck (odmianie fsck dla systemu plików ext2) pominąć sprawdzanie poprawnie odmontowanych (zakłada się, że poprawnie odmontowany system plików nie powinien zawierać błędów). Trik z /etc/fastboot opiera się na działaniu skryptów startowych.

Automatyczne sprawdzanie działa tylko dla systemów automatycznie montowanych podczas startu. Aby sprawdzić inne musisz ręcznie uruchomić fsck.

Jeżeli fsck znajdzie nienaprawialne błędy potrzebujesz głębokiej wiedzy o systemie plików, lub dobrej kopii zapasowej. Druga opcja wydaje się być łatwiejsza (za to nudna), pierwsza natomiast wymaga dobrego znajomego, grupy dyskusyjnej (lub listy), lub innego źródła informacji jeżeli nie wiesz jak się do tego zabrać. Chciałbym o tym napisać więcej jednak brakuje mi wiedzy i doświadczenia, program debugfs może okazać się pożyteczny.

Za pomocą fsck powinieneś sprawdzać tylko odmontowane systemy plików (wyjątkiem jest sprawdzanie zmontowanego w trybie tylko-do-odczytu głównego systemu plików). Jest to spowodowane tym, że program modyfikuje system plików bezpośrednio, bez wiedzy systemu operacyjnego.

Sprawdzanie błędów dysku za pomocą badblocks

Dobrym pomysłem jest okresowe uruchamianie badblocks. Program wyświetla listę bloków, które uznał za zepsute. Taką listę można przekazać programowi fsck, który zapisze odpowiednie informacje w strukturze systemu plików. Następujący przykład ukazuje sposób wykonania:

$ badblocks /dev/fd0H1440 1440 > bad-blocks
$ fsck -t ext2 -l bad-blocks /dev/fd0H1440
  Parallelizing fsck version 0.5a (5-Apr-94)
  e2fsck 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
  Pass 1: Checking inodes, blocks, and sizes
  Pass 2: Checking directory structure
  Pass 3: Checking directory connectivity
  Pass 4: Check reference counts.
  Pass 5: Checking group summary information.
 
  /dev/fd0H1440: ***** FILE SYSTEM WAS MODIFIED *****
  /dev/fd0H1440: 11/360 files, 63/1440 blocks
$

Jeżeli badblocks wypisał blok, który był w użyciu e2fsck spróbuje przenieść go w inne miejsce. Jeżeli blok był poważnie uszkodzony zawartość pliku mogła ulec zniszczeniu.

Zwalczanie fragmentacji

Podczas zapisu pliku na dysku często zdarza się, że nie można go zapisać w jednym miejscu. Plik, który nie jest przechowywany w kolejnych blokach nazywa się sfragmentowanym. Odczytanie takiego pliku trwa dłużej ponieważ głowica musi przemieścić się więcej razy. Pożądanym jest uniknięcie fragmentacji, chociaż na systemach z dobrym buforowaniem i czytaniem z wyprzedzeniem nie stanowi to dużego problemu.

Algorytmy obsługujące system plików starają się zapobiegać fragmentacji - poprzez trzymanie bloków należących do tego samego pliku najbliżej jak się da. Dlatego zazwyczaj nie ma potrzeby defragmentowania systemu plików, jednakże istnieją programu do tego służące, jednym z nich jest e2defrag, więcej informacji powinno znajdować się w dokumentacji dotyczącej ext2.

Istnieje wiele programów defragmentujących system plików FAT. Aby zdefragmentować system plików bez odpowiedniego programu powinieneś stworzyć kopię zapasową systemu plików, stworzyć nowy, po czym odtworzyć dane z kopii zapasowej. Dobrze jest tworzyć kopie zapasowe przed defragmentacją - nie wiadomo czy coś nie pójdzie źle.

Inne programy dla wszystkich systemów plików

Istnieje wiele przydatnych poleceń. df pokazuje ilość wolnego miejsca na jednym lub kilku systemach plików; du pokazuje ile dysku zajmuje zawartość katalogu.

sync wymusza zapisanie buforowanych danych (zobacz sekcję Bufor w Rozdziale 5). Zazwyczaj nie trzeba go ręcznie uruchamiać - demon update robi to automatycznie. Program może być przydatny po katastrofie, w której poległ update, lub jego pomocnik bdflush, lub w sytuacji gdy musisz natychmiast wyłączyć komputer i nie możesz czekać na wywołanie update.

Inne narzędzia dla ext2

tune2fs zmienia ustawienia systemu plików. Kilka najbardziej interesujących opcji:

  • Maxymalna liczba montowań. e2fsck wymusza sprawdzenie dysku po określonej liczbie montowań. W systemie służącym jako maszyna testowa dobrym pomysłem może być zredukowanie tego limitu.
  • Maxymalny okres między sprawdzeniami. e2fsck wymusza sprawdzenie jeżeli czas ten został przekroczony. Można wyłączyć.
  • Liczba bloków zarezerwowanych dla roota. Ext2 rezerwuje trochę bloków dla roota - zapełnienie dysku przez użytkowników nie uniemożliwia rootowi jego pracy. Domyślnie 5 procent powierzchni systemu plików zarezerwowane jest dla roota. Na dyskietkach nie ma sensu rezerwować miejsca dla roota.

Zobacz stronę podręcznika dotyczącą tune2fs.

dumpe2fs pokazuje informacje o systemie plików ext2, większość z nich odczytana zostaje z superbloku. Tabela 4_8.1 poniżej zawiera przykładowe wyjście programu. Niektóre informacje są techniczne i wymagają zrozumienia sposobu działania systemu plików (zobacz dodatek XXX ext2fspaper), jednak większość jest zrozumiała dla każdego (nawet adminlamera ;-).

Tabela 4_8.1 Przykładowe wyjście programu dumpe2fs

dumpe2fs 0.5b, 11-Mar-95 for EXT2 FS 0.5a, 94/10/23
Filesystem magic number:  0xEF53
Filesystem state:         clean
Errors behavior:          Continue
Inode count:              360
Block count:              1440
Reserved block count:     72
Free blocks:              1133
Free inodes:              326
First block:              1
Block size:               1024
Fragment size:            1024
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         360
Last mount time:          Tue Aug  8 01:52:52 1995
Last write time:          Tue Aug  8 01:53:28 1995
Mount count:              3
Maximum mount count:      20
Last checked:             Tue Aug  8 01:06:31 1995
Check interval:           0
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

Group 0:
Block bitmap at 3, Inode bitmap at 4, Inode table at 5
1133 free blocks, 326 free inodes, 2 directories
Free blocks: 307-1439
Free inodes: 35-360

debugfs jest odpluskwiaczem systemu plików. Umożliwia bezpośredni dostęp do struktur danych tworzących system plików, przez co umożliwia naprawienie systemu plików w sytuacji nienaprawialnej przez fsck. Niektórzy używają tego programu do odkasowywania plików. debugfs wymaga abyś wiedział co robisz; w innym wypadku możesz sobie zrobić kuku.

dump i restore mogą zostać użyte do utworzenia kopii zapasowej i odtworzenia systemu plików. Są to standardowe wersje znane z innych Unixów przeznaczone do współpracy z ext2. Zobacz Rozdział 10.