5.2 Kurz Linuxu - Soubor fstab
- STEFi - 2000-12-31 10:00:00
Tento serial o Linuxu byl vytvoren Milanem Cermakem v roce 2000 a s jeho svolenim zverejnen na strankach linux4all.misto.cz......
Soubor "fstab"
==============
Minule jsme si ukázali, jak se dají do adresařového stromu připojit a
odpojit různé mechaniky nebo oddíly (partitions) disku. (V linuxové
terminologii pro tyto úkony existují velmi hezké výrazy - mountovaní
a odmountovaní.) Existuje ale jeden způsob, jak se zbavit té spousty
parametrů u příkazu "mount". Jedná se o konfigurační soubor "fstab",
ve kterém jsou shromážděny popisy mechanik a diskových oddílů spolu s
informacemi o souborových systémech, větvích, kam se mají připojovat,
a dalších.
Struktura souboru "fstab" vypáda asi takto:
#
/dev/hda1 / ext2 defaults 0 1
/dev/hda2 none swap sw 0 0
proc /proc proc defaults 0 0
Jak vidíte, je to celkem přehledná tabulka. Význam jednotlivých
položek je nasledující. V prvním sloupci jsou uvedeny mechaniky nebo
diskové oddíly, v druhém pak místo, kam se mají připojit. Následuje
souborový systém a doplňující nastavení. Význam položky "dump" není
příliš důležitý (hlavně já sám nevím, co znamená). Poslední položka
"pass" může nabývat hodnot 0 nebo 1 a udává, jestli se má ten který
souborový systém kontrolovat po špatném vypnutí systému.
Z toho je zřejmé, že (například v prvním řádku) souborový systém
"/dev/hda1" (první primární oddíl na prvním IDE disku - jak jsme si
řekli minule) se připojí do adresáře "/", což je kořen stromu,
a obsahuje souborový systém "ext2", což je standardní Linuxový systém.
Zajimavý je druhý řádek, který představuje informace o odkládací
oblasti. Ten se samozřejmě nikam nepřipojuje, ale musí o něm systém
vědět.
Uvedené tři záznamy, by měly být v souboru "fstab" hned při prvním
startu, neboť jsou zakládány při instalaci systému. Pokud jich je
víc, je to v pořádku. Pokud jich je míň, můžeme (ale také nemusíme)
mít problém (třeba jsme nezaložili odkládací oblast).
Tak a teď k tomu hlavnímu. Jaký záznam doplnit, aby Linux
zaregistoval a byl schopen připojit například CD-ROMku? To lze celkem
jednoduše zjistit z parametrů, které jsme museli zadávat při ručním
(nebo též manuálním) připojování.
#
/dev/hdc /mnt/cdrom iso9660 defaults 0 0
Tím jsme systému oznámili, že existuje zařízení "/dev/hdc" se
souborovým systémem "iso9660", které je mozné připojit do adresáře
"/mnt/cdrom". Pro disketovou mechaniku je možné použít následující
řádek.
#
/dev/fd0 /mnt/floppy msdos defaults 0 0
Tak teď už systém ví o všech věcech, které má, a nám stačí pro
připojení určitého zařízení (třeba CD-ROMky - "/dev/hdc") zadat:
mount /dev/hdc
Zbytek už si systém najde v souboru "fstab".
Vyskytuje se zde ale jeden problém. Při startu se totiž systém snaží
všechna zařízení uvedená v souboru "fstab" připojit. To se mu
samozřejmě nepovede, pokud jsme náhodou nezapomněli v mechanice
disketu a v CD-ROMce CD. Jak se toho zbavit? Nebo lépe, jak systému
říct, ze si určitá zařízení připojí uživatel sám?
Pro tento účel existuje parametr "noauto", který se do záznamu přidá
následujícím způsobem:
#
/dev/fd0 /mnt/floppy msdos defaults,noauto 0 0
Dalšími užitečnými parametry jsou "user" a "ro".
Parametr "user" davá právo připojit dané zařízení běžnému uživateli.
Bez tohoto parametru má toto oprávnění pouze uživatel "root".
Parametr "ro" označuje dané zařízení jako "read-only", tedy pouze pro
čtení. Toto je vhodne uvést zvláště u jednotky CD-ROM. Ne, že by se
systém bez tohoto parametru pokoušel na CD zapisovat, to on si
zjistí, že to nejde, ale vypíše o tom otravnou zprávu.
Na závěr se zmíním o jednom programu, který poskytuje k manipulaci se
souborem "fstab" grafické rozhraní.
Tento program se dodává k systému RedHat Linux 5.x a spouští se
z prostředí X-Window. Poskytuje celkem přehledné zobrazení záznamu
o jednotlivých zařízeních a jejich editaci. Ta však už tak přehledná
není.
Po nekolikerém spuštění se program dokonce pokusil odstranit záznam o
odkládací oblasti (že prý se nepoužívá).
Ale možná, že tyto problémy už vývojaři novějších distribucích
odstranili.