Autofs je program a balíček pro automatické připojování (mount) a odpojování (umount) výměnných médií a síťových svazků. Program je vylmi chytrý a předkonfigurovyný. Po odkomentování několika řádků v /etc/auto.master
je plně funkční a můžeme jej používat. Nicméně „chytrost“ programu a jeho standardní konfigurace pro nás může být problémem. Před vlastní instalací tedy popíši jak všechno funguje a připravím si plán konfigurace. Teprve poté přistoupím k vlastní instalaci.
Autofs je implementován jako jaderný modul v Linuxu od verze 2.2.x.
Z vnejšího pohledu funguje autofs tak, že si vytvoří několik virtuálních adresářů do kterých podle potřeby připojuje a od kterých odpojuje svazky výměnných médií či síťové svazky. Uživatel například zadá příkaz
$
ls /smb/mirek/Data
Autofs podle konfigurace zjistí na kterém serveru je příslušný svazek a transparentně ho připojí v okamžiku potřeby, tedy v okamžiku běhu příkazu ls. Po delší době nepoužívání naopak síťový svazek odpojí. Uživateli tedy odpadne potřeba připojovat a odpojovat svazky, jakožto i nutnos znát podrobnosti jejich umístnění. Správce rovněž nemusí pro každý svazek zajišťovat konfiguraci v /etc/fstab
.
Konfigurace autofs je dána hlavním konfiguračním souborem /etc/auto.master
a mapovacími soubory či programy. Hlavní konfigurační soubor obsahuje jeden řádek pro každý „virtuální“ adresář, jako jsou například /smb
a /misc
v standardní konfiguraci. Na tomto řádku jseo specifikovány případné další volby a cesta k mapovacímu souboru či programu. Řádek konfiguračního souboru vypadá takto:
/adresář
[volby] mapovací soubor
Pro doplnění, standardní konfigurace obsahuje řádky
/misc /etc/auto.misc --timeout=60 #/smb /etc/auto.smb #/misc /etc/auto.misc #/net /etc/auto.net
Autofs funguje tak, že převezme vládu nad několika adresáři podle konfigurace a tyto adresáře se pak chovají jako „okno“ do vyměnitelných médií či síťových svazků. Konfigurace konfigurace autofs a specifikování těchto adresářů je popsáno v hlavním konfiguračním souboru /etc/auto.master
.
Struktura souboru je jednoduchá, soubor je řádkově orientovaný a na každém řádku je popis jednoho „automount adresáře“. Řádek má strukturu:
Bližší informace o struktuře souboru získáte příkazem man 5 autofs
.
Podíváme se tedy na standardně vytvořený soubor.
Po odkomentování řádků s /smb
a /net
a reloadu konfigurace autofs můžeme začít vše používat.
#
/etc/init.d/autofs reload
Jak to funguje? Autofs spustí pro každá konfigurační řádek v /etc/auto.misc
proces, který vytvoří „virtuální“ adresář a načte si mapový soubor odpovídající tomuto adresáři. Při pokusu o přistoupení k podadresářům proces konzultuje mapový soubor a podle potřeby připojí příslušný zdroj.
A právě mapovací soubory jsou součástí chytrosti autofs. Můžeme totiž místo statických map popisujících mapování síťových adresářů použít skritpy které toto mapování sami vytváří. Soubory /etc/auto.net
a /etc/auto.smb
jsou toho ukázkou. Rozlišení mezi statickým mapovým souborem a skriptem dynamicky vytvářejícím mapu je v nastavení příznaku x (executable) těmto konfiguračním souborů.
V praxi to funguje tak, že pokud přistoupíme k souboru v adresářové struktuře /smb
, autofs se podívá zdali má soubor /etc/auto.smb nastaven příznak x. Jestli ne, načte tento soubor jako mapu. Jestli ano, spustí jej a jako první parametr mu předá jméno podadresáře v /smb ke kterému přistupujeme. Skript /etc/auto.smb chápe toto jméno jako jméno serveru. Výstup skriptu /etc/aut.smb je pak chápán jako mapa. Toto "chytré" chování nám dovoluje automaticky připojovat svazky ze serverů o kterých jsme v době instalace autofs vůbec nevěděli.