/etc/fstab

Soubor /etc/fstab slouží systému jako záznam o zařízeních, které se, zpravidla automaticky, připojují při startu systému.

Není-li v tomto souboru zařízení uvedeno, musíme jej připojovat ručně pomocí příkazu mount, resp. umount. Syntax souboru je podrobena jistému řádu a musí obsahovat některé parametry. Příklad toho, jak může vypadat soubor /etc/fstab je zde:

1 2 3 4 5 6
/dev/hda2 / reiserfs defaults 1 1
/dev/hda4 swap swap defaults 0 0
/dev/hda3 /home reiserfs defaults 1 0
/dev/hda1 /mnt/hda1 reiserfs user,noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 user,noauto,ro 0 0
/dev/sda1 /mnt/flash vfat user,noauto,sync 0 0
/dev/sdb1 /mnt/cf_card vfat user,noauto,sync 0 0
/dev/sdd1 /mnt/sd_card vfat user,noauto,sync 0 0
/dev/hde1 /mnt/hde1 vfat user,noauto,sync 0 0
devpts /dev/pts devpts gid=5, mode=620 0 0
proc /proc proc defaults 0 0
none /sys sysfs defaults 0 0

Čísla v záhlaví sloupců v souboru ve skutečnosti samozřejmě nejsou, slouží mi zde k označení jednotlivých sloupců a jejich vysvětlení najdete níže.

Každý řádek souboru obsahuje záznam o jednom připojovaném zažízení (disku). Zleva je v tomto řádku uveden soubor zařízení, adresář pro připojení, typ souborového systému, parametry pro připojování a příznaky pro zálohování a kontrolu.

Vysvětlení parametrů:

1. Zařízení, které budeme připojovat. Může to být fyzické zařízení, obraz CD disku nebo třeba vzdálený svazek na síťovém disku. 
2. Adresář pro připojení – kam budeme souborový systém připojovat.
3. Typ souborového systému. Seznam dostupných souborových systému (z pohledu jádra) získáme příkazem /cat/proc/filesystems. Je možné také zadat „auto“ pro automatické určení typu souborového systému jádrem.
4. Parametry použité při připojení, oddělují se čárkou. Např.:

  • user – připojení může provádět i uživatel
  • sync – okamžitý zápis na zařízení
  • ro – read only
  • rw – read write
  • noauto – nepřipojuje se automaticky při startu
  • 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ět soubory na tomto zařízení
  • umask – nnastavení práv u souborů
  • dmask – nastavení práv u adresářů

5. Zálohování svazku, 1=zálohovat, 0=nee.
6. Pořadí kontroly svazku při startu. 1 by mělo být u „/“, 2 u ostatních kontrolovaných, 0 u nekontrolovaných.

Poslední řádek souboru musí být ukončen znakem „Enter“


Připojení oddílu souborového systému Windows

Ve výše uvedeném souboru fstab není záznam pro připojení oddílu s Windows. Ono to bude asi tím, že Win už na disku nemám, ale pro ty, kdož ještě z nějakého důvodu musí nebo chtějí mít možnost pracovat s Win souborovým systémem uvádím, jak by tento řádek měl vypadat. Přestože se Vám konfigurační záznam pravděpodobně zobrazí zalomený v závislosti na velikosti okna prohlížeče, musí být v souboru /etc/fstab uveden na jediném řádku:

/dev/hda5 /mnt/win vfat umask=111, dmask=000, gid=100, uid=100, iocharset=iso8859-2, codepage=852, quiet 0 0

Tento zápis způsobí automatické připojení souborového systému Windows typu vfat. Diskový oddíl hda5 bude připojen do adresáře /mnt/win. Nastavení umask a dmesg nám zaručí nemožnost spouštění spustitelných souborů na tomto filesystému při současně zachované možnosti procházet adresáři s tím, že kódování názvů souborů a adresářů bude převedeno z 852 na iso8859-2. Poslední volba, quiet, způsobí, že při operacích se soubory na svazku windows nebude systém upozorňovat na nevydařené nastavení práv, které tento systém nepodporuje.

Záměrně je v příkladu uveden souborový systém vfat. Souborový systém NTFS byl v době mých pokusů s Lin/Win like systémem stejně jako v době psaní tohoto článku určen pouze pro čtení, pro zápis jen na vlastní nebezpečí, což mi jaksi bylo k ničemu, takže jsem používal souborový systém vfat.


Připojení NFS a SMB souborového systému

Připojení síťového souborového systému NFS provedeme takto:

server:/usr/public /mnt/public nfs ro 0 0

V podstatě jen místo souboru zařízení uvedeme jako první položku v řádku název serveru, na kterém je souborový systém umístěný následovaný cestou ke svazku. Zbytek záznamu je již analogický k výše uvedenému. U sdílení přes Sambu je to podobné:

//server/share /mnt/win-share smbfs rw,noauto,username= , password= 0 0


Připojení obrazu disku

Linux nám umožňuje i připojení obrazu disku. Může se jednat o obraz nějakého disku, který obnovujeme z jeho zálohy, ale častěji toto využijete při připojení obrazu CD staženého z Internetu. Takový obraz disku připojíte do souborového systému příkazem:

# mount /cesta/k/iso /kam/pripojit iso9660 -o loop

no a příslušný řádek v /etc/fstab pak může vypadat třeba takto:

/home/iso/slackware-10.2-install-d1.iso /mnt/iso/slack-10.2-d1 iso9660 ro,loop,noauto 0 0

opět vše na jediném řádku.


Další poznatky

Některé distribuce (např. Mandrake) mají soubor fstab tak trochu rozházený, ale ono to jen tak vypadá, protože automatický instalátor při vytváření tohoto souboru použil pro oddělení jednotlivých položek pouze mezeru a ne tabulátor. Co je lepší nevím, ale určitě je přehlednější, když jsou jednotlivé sloupce hezky pod sebou.

Další věcí, o které jsem se nezmínil je položka LABEL. Jedná se o jakousi jmenovku filesystému a vyjma speciálních případů je myslím lepší se jejímu použití vyhnout.

Podobně i automount nebo supermount, které slouží k automatickému připojování souborových systémů především na vyjímatelných médiích. Najdete je nejčastěji v distribucích víceméně myšoidního typu – Mandrake, Suse, apod. Podle mojí zkušenosti je s těmito démony více starostí než při manuálním připojování. Pravda, ani mě se nechce vypisovat pokaždé celý příkaz mount se všemi parametry, a tak jsem si pro připojování zejména CD mechaniky a USB paměti vytvořil krátké skriptíky v bashi. Pro připojení CD mechaniky se jmenuje pripojcd a jeho obsah vypadá nějak takto:

#! /bin/bash
/bin/mount /mnt/cdrom 

Velmi jednoduché a primitivní. Na tento soubor mám vytvořený symbolický link někam do cesty nastavené v proměnné PATH, takže když chci připojit CDčko, tak:

  • otevřu terminál Alt+e
  • napíšu příkaz pripojcd
  • zavřu terminál Ctrl+q
a je to. A nikdo mě nepřesvědčí, že nějaký supermount je lepší, rychlejší apod.

Pokud používáte často USB paměťové disky, máte jich více nebo máte čtečku paměťových karet jako já, možná jste se již setkali s podivným chováním systému co se týče přiřazování souborů zařízení těmto paměťovým médiím. Stejné paměťové médium má při každém použití jiný soubor zařízení, zpravidla /dev/sdxy. Pomoci by mělo skompilování jádra s volbou „Probe all LUNs on each SCSI device“.

V Praze 26.3.2006.

Příspěvek byl publikován v rubrice Linux a jeho autorem je michal. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.