Soubor /etc/fstab
představuje pro uživatele jeden z nejdůležitějších konfiguračních souborů v systému, protože stanovuje kam se jaký disk (diskový oddíl) bude při startu systému připojovat.
fstab slouží hlavně k připojování oddílů na pevném disku - různé externí disky, paměťové karty nebo flash disky jsou automaticky připojovány hned po vložení/připojení. fstab tak využijete pokud chcete například externí disk připojovat stále na stejné místo se stejným názvem.
Příklad toho, jak může /etc/fstab
vypadat můžete vidět níže
# /etc/fstab: static file system information. # # Use 'vol_id --uuid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 #/dev/sda1 UUID=cc5e7789-1a0d-4874-9664-73cb358399b0 / ext3 relatime,errors=remount-ro 0 1 #/dev/sda5 UUID=69634b26-fede-4fa2-880b-104347f19305 /home ext3 relatime 0 2 #/dev/sda3 UUID=85277f95-8555-4989-b1ec-62a2315f90cb none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
fstab má pevně danou strukturu - na každém řádku (kromě komentářů, které poznáte tak, že začínají mřížkou #
) naleznete jeden disk (diskový oddíl). Každý řádek je navíc rozdělen do sloupců jejichž význam naleznete v následující tabulce.
Sloupce v souboru /etc/fstab | |
Sloupec | Význam |
<file system> | Identifikace disku (diskového oddílu) buď pomocí „klasického“ značení (tedy /dev/sdxY ), nebo pomocí UUID (v novějších vydáních Ubuntu jako výchozí). |
<mount point> | Přípojný bod - tedy místo ve struktuře adresářů, kde se bude nacházet obsah disku. |
<type> | Typ souborového systému na disku. Parametr auto slouží k automatickému rozpoznání. Pro linuxové souborové systémy nejspíše ext2 nebo ext3 , pro souborové systémy MS Windows ntfs a vfat (=FAT16/32) pro výměnná média udf (DVD) a iso9660 (CD). |
<options> | Další volby pro připojení disku, některé nejčastěji používané naleznete níže. |
<dump> | Slouží k určení zda se bude daný oddíl při startu systému zálohovat pomocí dump , 0 slouží k vypnutí, což je vhodné pro většinu běžných použití. |
<pass> | Určuje zda a kdy bude probíhat kontrola oddílu při startu systému. 1 je vyhrazeno pro kořenový adresář („/“ ), 2 pro všechny ostatní vyjma oddílů se souborovými systémy FAT a NTFS, které by tímto způsobem kontrolovány být neměly a náleží jim tedy hodnota 0 . |
Volby | |
Volba | Význam |
noauto | Oddíl se nebude připojovat automaticky při startu systému. |
noexec | Soubory na oddíle nebudou spustitelné. |
ro | Připojení pouze ke čtení (read-only). |
rw | Připojení pro čtení i zápis (read-write). |
defaults | Jsou použity volby rw , suid , dev , exec , auto , nouser a async |
user | Běžní uživatelé mohou oddíl připojit, ale ne odpojit. |
users | Běžní uživatelé mohou oddíl připojit i odpojit. |
nouser | Připojit a odpojit oddíl může pouze uživatel root. |
<uid=„uživatel“> | Nastaví vlastníka všech adresářů. Používejte pouze na souborových systémech NTFS a FAT. |
<gid=„skupina“> | Nastaví skupinu pro všechny adresáře. Používejte pouze na souborových systémech NTFS a FAT. |
<umask=„XXX“> | Nastavení práv adresářů a složek. Používejte pouze na souborových systémech NTFS a FAT. |
Kompletní seznam můžete najít v manuálové stránce k příkazu mount
.
Umask umožňuje snadno nastavit práva na připojovaném diskovém oddíle. Práva se zadávají v číselné hodnotě, která je ale poněkud nelogicky odlišná od standardního vyjádření příkazu chmod.
Správnou kombinaci získáte ze „vzorečku“ XXX = 777 - YYY
, kde XXX
jsou „požadovaná“ práva pro umask
a YYY
jsou práva vyjádřená tak, je jak standardně chápe chmod.
Pro lepší pochopení uvedeme několik příkladů.
umask=000
umask=077
umask=022
Protože je /etc/fstab
systémovým souborem, běžný uživatel do něj nemůže zapisovat. Musíte jej tedy otevřít s právy administrátora, nejjednodušeji příkazem
gksudo gedit /etc/fstab
Před jakýmikoli změnami by bylo vhodné vytvořit si pro jistotu zálohu tohoto souboru, například příkazem
sudo cp /etc/fstab /etc/fstab-zaloha
čímž vytvoříte ve stejné složce záložní kopii.
Před samotným přidáním daného zařízení je potřeba jej správně identifikovat.
Nejprve si pomocí příkazu
sudo fdisk -l
necháme vypsat všechny dostupné disky a diskové oddíly. Výstup bude vypadat přibližně takto
K identifikaci potřebujete řetězec /dev/sdxY
z prvního sloupce.
Více o problematice značení disků a dalších zařízení naleznete v článku Linuxové značení disků.
Tato informace je již pro editaci fstab
dostatečná, ale v některých případech se může více hodit identifikace pomocí identifikátoru UUID, který je pro každý oddíl/zařízení specifický.
Více o této problematice včetně zjištění UUID naleznete v článku UUID.
Připojovat můžete také síťové disky, k identifikaci pak slouží IP adresa. Více o připojení síťových disků v článku na serveru AbcLinuxu
Jak již bylo řečeno přípojný bod je místo ve struktuře adresářů, kde se bude nacházet (nebo spíše zobrazovat) obsah disku. Může se jednat jakýkoli prázdný adresář, třeba i ve vašem domovském adresáři. Obvyklým místem pro připojení disků jsou ale složky v adresářích /media
a /mnt
.
Systém adresář pro připojení disku nevytváří, musíte tedy zadat již existující adresář!
Připojení do adresáře /media
sebou nese další „výhody“ - zde připojená zařízení se zobrazují na ploše, v nabídce Místa a na dalších podobných místech.
Několik dalších důležitých informací k editaci fstab.
\040
.#/dev/sdb1 UUID=f302d765-7e48-46eb-b8ee-6be1836df776 /home/vojta/Filmy ext3 rw,auto 0 2
Tento příklad ukazuje připojení externího disku, který slouží jako stálé úložiště filmů. Identifikace disku je provedena pomocí UUID (první řádek s označením disku /dev/sdb1
je jen komentář). Jako přípojný bod je adresář Filmy
v domovském adresáři uživatele vojta
, souborový systém je ext3
. Disk je nastaven pro čtení i zápis (rw
) a bude se automaticky připojovat při startu systému (auto
). Automatická záloha se provádět nebude (nula v předposledním sloupci) a kontrola disku je nastavena na výchozí hodnotu pro „běžné“ oddíly (2
).
/dev/sda1 /media/disk ntfs defaults,user,umask=222,nls=utf8 0 0
Tento příklad ukazuje připojení diskového oddílu se systémem MS Windows. Jako identifikace slouží /dev/sda1
(ale samozřejmě by šlo použít i UUID). Disk bude připojen jednoduše v adresáři /media/disk
. Jako systém souborů máme ntfs
. Z voleb je zajímavá asi je nls=utf8
, která slouží k nastavení znakové sady (pro názvy souborů/adresářů) speciálně na oddílech se souborovým systémem NTFS. Důležité je také vypnutí kontroly disku (nula v posledním sloupci), protože fsck
- výchozí systém pro kontrolu disků neumí s NTFS pracovat.
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec 0 0
V tomto případě se jedná o CD/DVD mechaniku. Identifikace je /dev/scd0
- mechaniky UUID nepoužívají. Jako přípojný bod je adresář /media/cdrom0
- standardní pro CD a DVD v Ubuntu. O souborovém systému se tu moc mluvit nedá, ale přesto zde naleznete udf
a iso9660
- dva standardy pro ukládání dat na CD a DVD. Z voleb je zajímavé noauto
- CD/DVD se nemůže připojovat při startu systému, protože většinou žádné v mechanice nemáte. Záloha je standardně vypnuta stejně jako kontrola disku.
Ačkoli uživatelé již dlouho volají po nějakém nástroji pro uživatelsky přívětivější úpravu fstab, do hlavního stromu Ubuntu se zatím žádná nedostala, i když některé takové již existují.
Úprava fstab pomocí editace konfiguračního souboru není nijak složitá a jedná se o činnost, kterou většinou nebudete muset opakovat, doporučujeme tedy přidržet se „osvědčené“ ruční metody.
Ve zdrojích softwaru naleznete tři nástroje, které je možné doporučit.