15. OS Linux: správa disků, kontrola stavu souborových systémů, montáž a demontáž svazků, montážní body, tabulka /etc/fstab
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