Jdi na obsah Jdi na menu
 


15. OS Linux: správa disků, kontrola stavu souborových systémů, montáž a demontáž svazků, montážní body, tabulka /etc/fstab

12. 6. 2007

15. OS Linux: správa disků, kontrola stavu souborových systémů, montáž a demontáž svazků, montážní body, tabulka /etc/fstab

Soubor /etc/fstab je, jak už to tak v systémech unixového typu bývá, obyčejný textový soubor. Jeho účelem je systému popsat jednotlivé diskové svazky a vysvětlit mu, co, jak, kdy a podobně.

Fstab je na první pohled podivné slovo, ale je to jednoduchá zkratka ze slov filesystem table, což můžeme volně přeložit jako "tabulka souborových systémů".

Jako do všech důležitých souborů má do něj přístup pouze velitel systému (chcete-li, třeba root). Ten jako jediný může rozhodovat o osudu jednotlivých svazků.

Těmito svazky jsou obvykle jednotlivé oddíly disků, ale není to pravidlem. Fstab může vlastně popisovat cokoliv, co lze připojit příkazem mount. Malý příklad: Chceme připojit disketu do adresáře /mnt/floppy. První disketová jednotka je označená v systému jako fd0, takže jako root zadáme příkaz

# mount /dev/fd0 /mnt/floppy -t vfat

Tímto příkazem říkáme, že chceme připojit blokové zařízení /dev/fd0 do adresáře /mnt/floppy a že je na něm souborový systém typu vfat.

Představte si, že byste takový příkaz vypisovali při každém připojení jednotlivého média. Navíc byste znemožnili práci s disky obyčejným uživatelům, kteří nemají práva na připojování a odpojování svazků.

Už je vám asi jasné, že právě toto řeší soubor fstab. Jeho syntaxe je prostá: co řádek, to svazek. Na každém řádku je několik položek oddělených standardními oddělovači (mezerami nebo tabulátory). Pořadí je podstatné a nezaměnitelné a musíme jej dodržet.

Malý příklad takového řádku:

    1          2          3        4         5 6

/dev/fd0  /mnt/floppy   vfat   noauto,user   0 0

1.       zařízení, které budeme připojovat.

2.       připojovací bod (adresář), do kterého se svazek připojí

3.       typ souborového systému

4.       parametry pro připojení

5.       určuje, jestli bude svazek zálohován

6.       nastavuje, jako kolikátý bude svazek kontrolován při startu

 

 

Tohle je stručné vysvětlení jednotlivých položek. Většina z nich si zaslouží podrobnější popis, takže jdeme na to:

První položka

Může ji tvořit jak běžný oddíl disku (/dev/hda2), tak i označení vzdáleného svazku, třeba přes SMB (//kuchyn/dokumenty).

Druhá položka

Adresář připojení. Obvykle je to některý z podadresářů /mnt. Pro swap se zadává none, protože ten se nikam nepřipojuje.

Třetí položka

Kompletní seznam souborových systémů, které podporuje vaše jádro naleznete v /proc/filesystems. Jejich množství a typ záleží na verzi jádra a zavedených modulech. Mohou to být: proc, tmpfs, ext2, ramfs, iso9660, devpts, ext3, usbdevfs, usbfs a další. Můžete také použít výraz auto a jádro se pokusí obsah samo detekovat.

Čtvrtá položka

Do té je možno vyplnit celou řadu různých parametrů pro různé souborové systémy. Parametry se od sebe oddělují čárkou. Mezi hlavní patří

·         noauto (nepřipojuje svazek automaticky při startu)

·         users (s tímto svazkem mohou pracovat i běžní uživatelé)

·         codepage (znaková sada, ve které jsou názvy souborů)

·         iocharset (znaková sada, do které se budou převádět názvy souborů)

·         noexec (nespouštěj soubory na tomto médiu)

·         umask (nastavení práv u souborů)

·         ro (read only - pouze ke čtení)

·         rw (read write - čtení i zápis)

Kompletní popis naleznete v manuálové stránce k mount.

Pátá položka

Tuto položku používá program dump, který podle ní pozná, zda má provádět zálohu svazku. Jednička znamená zálohovat, nula nezálohovat.

Šestá položka

Poslední položku používá program fsck aby zjistil, jako kolikátý bude svazek kontrolován. Jednička by měla označovat kořenový svazek (připojuje se do /), dvojka pak ostatní a nula ty, které se kontrolovat nebudou.

Každý řádek (tedy i poslední) musí být ukončen enterem (odřádkován). Podle něj pak programy poznají, že informace o svazku končí. Častou chybou je nezapsání enteru na konec posledního řádku. Pokus o připojení pak končí chybou.

Oddíly označené jako swap, jsou připojovány při startu systému pomocé příkazu swapon -a. Stejně tak je lze odpojit pomocí swapoff –a