Önműködő felcsatolás mini-HOGYAN

Rahul Sundaram, [email protected]

v1.6, 2002.12.27
Itt elolvashatod, hogyan kell az autofs önműködő fájlrendszer-felcsatolást beállítani.

1. Bevezető

1.1 Kiadások története

1.2 Automount - mi ez és miért használjam?

Az önműködő felcsatolás egy folyamat, ahol a egyes fájlrendszerek felcsatolását és lecsatolását egy démon végzi. Ha a fájlrendszer nincsen felcsatolva és a felhasználó megpróbálja elérni, akkor az önműködően felcsatolódik. Ez különösen hasznos nagy hálózati környezetben és keresztbe csatolt fájlrendszerek esetén (főleg amikor nincs minden gép állandóan hálózatra kapcsolva). Nagyon hasznos cserélhető lemezes meghajtók használatakor is. Mondok más példát, ha eddig nem győzött meg: dos fájlrendszerek felcsatolása ASCII konverzióval, majd anélkül. Ha új Linux felhasználó vagy, nem tudod, mi az a felcsatolás és mi a démon, akkor tanulmányozd a vonatkozó dokumentációkat.

1.3 Az önműködő felcsatolás fajtái

Az önműködő felcsatolás két megvalósítása lelhető fel Linux alatt: az AMD és az autofs. Az AMD egy önműködő felcsatoló-démon, a felszínen a SunOS AMD programhoz hasonlatosan dolgozik. Felhasználói szinten megvalósított megoldás, azaz nem része a rendszermagnak. A rendszermagnak nem szükséges részt vennie abban, ha NFS-t csatolsz a helyi gépre, AMD démonnal, ami irányítja az összes önműködő csatolást az NFS rendszeren keresztül. Az Autofs egy újabb fejlesztés, de ez már része a rendszermagnak. A mag fájlrendszer kódja tudja, hol vannak a csatolási pontok a normál fájlrendszerben, az Automount program pedig kezeli ezt. Csak az autofs megoldást fogjuk megvizsgálni.

2. Adminisztráció

2.1 Szerzői jogok

A mini-HOGYAN szerzői jogait Rahul Sundaram birtokolja. Minden jog fenntartva. Erre a dokumentumra a Linux Dokumentációs Projekt licensze vonatkozik. A kereskedelmi felhasználás engedélyezett, de értesíts engem erről. Segítséget adok bárkinek, aki lefordítaná a dokumentumot. Ha szükséged van a licenszfeltételek átlépésére, lépj kapcsolatba velem a [email protected] e-mail címen. A legújabb verziót mindig a The Linux Documentation Project honlapján találod meg, http://tldp.org/HOWTO/mini/Automount.html.

2.2 A felelősség teljes kizárása

Habár a legjobb tudásom szerint írtam meg ezt a HOGYANt, nem vagyok felelős semmiféle kárért, amit ebben a dokumentumban foglaltakra alapozott tevékenység okozott. Lehetetlen letesztelni minden konfiguráción a dolgokat. Ezért lehet, hogy néhány ötlet nem működik a Te rendszereden. Ha bármi hibát találsz, értesíts engem. Javítom, amint lehetséges.

A dokumentum olyan, amilyen. Nagy munka árán született meg, de csak a saját felelősségedre használd. Semmilyen esetben sem vállalok felelősséget azért, ha eme dokumentum alapján bármi kárt teszel a rendszeredben.

2.3 Magyar fordítás

A magyar fordítást Novák Áron készítette (2003.02.10). A lektorálást Szijjártó László végezte el (2003.03.06). A fordítás javítva (R1; 2003.03.07). Bármilyen fordítással kapcsolatos észrevételt a [email protected] címre küldjetek. A dokumentum legfrissebb változata megtalálható a Magyar Linux Dokumentációs Projekt honlapján.

3. Telepítés

Az Autofs rendszermag-területen megvalósított eszköz, azaz a rendszermagnak tartalmaznia kell az Autofs támogatást. Az összes változat a 2.2.xx verziótól kezdődően tartalmazza ezt.

Szükséges még az Automount program és a konfigurációs fájlok. A RedHat (és Debian - Toldi Miklós megj.) összeállításban elérhetőek ezek a csomagok (lehet, hogy már telepítéskor felkerült).

4. Beállítás

Az RPM csomagokat könnyedén telepítheted, de most jön az a rész, ami nem egyértelmű, ha nem csináltál még ilyet.

Az /etc könyvtárban találhatók az auto.master és az auto.misc fájlok. Az alapértelmezett auto.master fájl így néz ki:

/auto   /etc/auto.misc  --timeout=60

Az első bejegyzés nem a csatolási pont. Ez a csatolási pontok gyűjteménye, gyűjtőkönyvtára a második bejegyzésre vonatkozóan. A harmadik érték azt határozza meg, hogy 60 másodpercnek kell eltelni használat nélkül ahhoz, hogy az eszközt önműködően leválassza. Lecsatolás előtt majd mindig be kell fejezned a lemez használatát.

Az auto.misc egy "térképfájl". Bármilyen nevet adhatsz neki. Ez éppen auto.misc névre hallgat, mert eredetileg a /misc könyvtárat irányította. A térképfájlokat az auto.master fájlban lehet definiálni (akár többet is). Az én auto.misc fájlom így néz ki:

kernel          -ro,soft,intr           ftp.kernel.org:/pub/linux
cd              -fstype=iso9660,ro      :/dev/cdrom
zip             -fstype=auto            :/dev/hdd4
floppy          -fstype=vfat            :/dev/fd0

Az első oszlop (a kulcs) a felcsatolási pont. Ebben az esetben /auto/floppy vagy bármi egyéb. A középső bejegyzés az opciók helye, olvasd el a mount man oldalt ezzel kapcsolatban. Az utolsó oszlop pedig a felcsatolandó fájlrendszert tartalmazza. A "kernel" bejegyzés egy NFS csatolás. A kettőspont minden esetben azt jelöli, hogy a helyi gépen található az eszköz.

5. Lassú a lecsatolás

Lehet, hogy feltűnt neked a 60 másodperces időtúllépés, és azt gondolod: ez elég hosszú idő ahhoz, hogy a floppy kiadására várjak... Inkább csak szinkronizálom a lemezeket és kiszedem felcsatolt állapotban, és senki se veszi észre. Javasolj őrültebb módszert! Először is, be tudod állítani az időtúllépést. De nem biztos, hogy eredményre vezet, ha 15 másodperces lecsatolást állítasz be. A rendszeredtől függően elképzelhető, hogy egyszerűen kiadod az umount parancsot normál felhasználóként. Van egy másik módja, hogy rávedd az Automount programot a lecsatolásra. Ha egy (program leállítással) SIGUSR1 jelet kap az Automount folyamat, minden lecsatolásra kerül, ahol ez lehetséges. De mielőtt "Válassz le mindent!" gombot gyártanál az ablakkezelő rendszeredhez, jó ha tudod, hogy ez nem valósítható meg.

Az Automount folyamat root felhasználóként fut és kizárólag root felhasználótól fogad el jeleket.(ez az, amiért normál felhasználó nem tudja újraindítani a gépet - a fordító). Félmegoldás, ha normál felhasználóknak is lehetőséget adunk a fel- és lecsatoláshoz. Egyszerűen kivitelezhető ez egy suid-root C programmal, ami elvégzi a piszkos munkát. A sudo-val a felhasználók is küldhetnek megfelelő kill jelet. Az egyetlen probléma, hogy a sudo nem teszi lehetővé a folyamatokon belül alparancsok (subcommand) használatát, amivel ki lehet keresni az aktuális PID-et (folyamatazonosítót). Lehetséges, hogy van killall parancsod, amivel már meg tudod ezt tenni (a következőt írd be a /etc/sudoers fájlba - a lektor):

ALL     ALL=NOPASSWD:/usr/bin/killall -USR1 automount

Egyébként engedélyezhetjük a felhasználóknak a -SIGUSR1 jel küldését az összes folyamathoz. Ez különféle változásokat idéz elő: néhány ablakkezelő újraindul, de az xemacs-ot leállítja. Reménykedjünk, hogy nincs puffer túlcsordulás a killall-ban...

6. Kérdések

6.1 Nem látom az /auto/floppy-t és más felcsatolási pontokat

Ha az automount rendesen be van állítva, akkor a felcsatolási pont csak akkor látszik ha az használatban van, amelyik nincs, az rejtve marad. Ha a könyvtárakat grafikus felületen tallózod, akkor be kell gépelned a könyvtárat, a legtöbb program megpróbál átváltani arra, így az eszköz fel lesz csatolva. Nincs lehetőség válogatni a láthatatlan felcsatolási pontokból, ez talán az autofs legnagyobb hátránya. Ha viszont nem ez a gond, hanem tényleg nem működik a csatolás, akkor szerkeszd a konfigurációs állományokat.(Segítségképpen: az egyik .c-re végződik)

Néhány ember azzal próbálkozik, hogy egy szimbolikus linket hoz létre az önműködő felcsatolás könyvtárára. Ez általában azt eredményezi, hogy néhány program nem látja a könyvtárat (ha a felcsatolás működik, ez a kérdésre a válasz), de egyébként felcsatolja a fájlrendszert, ha listázod a könyvtárat.

6.2 Hol látom, hogy mi van felcsatolva?

A df vagy a mount(opciók nélkül) parancs kiírja. A mount ráadásként a felcsatolás beállításait is megmutatja.

6.3 Beraktam egy win95 "vfat" fájlrendszerű lemezt, de hagyományos FAT rendszerűként ismeri fel

Ez nem az automount hibája. Az önműködő felcsatolás nem próbálja meg vfat-ként kezelni a fájlrendszert, ha azt sikeresen csatolta MS-DOS típusúként. A VFAT egy kiterjesztése a FAT fájlrendszernek. A hosszú fájlnevek használatát biztosítja Windows 95 és Windows NT operációs rendszerekhez.

Egy mount program fejlesztő szerint, amióta a mount csak egy illesztőfelület a rendszerhíváshoz, amelyiknek kötelező megadni a fájlrendszer típusát, a felhasználón múlik a fájlrendszer típus felismerése. Ahelyett, hogy a mount végigpróbálgatná sorrendben a fájlrendszer típusokat felcsatolásnál, inkább a jelenlegi "heurisztikus" módszer kerül előtérbe. Néhány felhasználó egyszerűen nem fordítja bele az msdos támogatást a rendszermagba; ezt megelőzendő az vfat-ot előbb próbálja ki az msdos-nál. Ez a legtöbb embernél működik is, azonban néhányuknak msdos fájlrendszerre van szükségük. Ezt így lehet kikerülni: átmásolod a /proc/filesytems fájlt az /etc/filesystems-be és átszerkeszted úgy, hogy a vfat előbb legyen, mint az msdos. (kösz Mark)

Ariel ([email protected]) írta:

" hogy a vfat-ot előbb próbálja a fat-nál, csak hozd létre(vagy szerkeszd át) az /etc/filesystems fájlt

A lista prioritás szerint van rendezve, ahogyan a fájlrendszer típusokat végigpróbálja.

Hozd létre a fájlt: cp /proc/filesystems /etc/filesystems. Változtasd meg a sorrendet a kedvenc szövegszerkesztőddel. Azokat a fájlrendszer-típusokat, amiket gyakran használsz, rakd előre. Ettől gyorsabban tudod majd felcsatolni azokat. És persze rakd a vfat-ot az msdos elé. Győződj meg róla, hogy mindkettőt tartalmazza, mert lehetséges, hogy szükséged lesz nem VFAT fájlrendszerek felcsatolására. Az enyém így néz ki:

ext2 vfat msdos iso9660

****

Egy másodperces időtúllépést használok a cserélhető lemezes meghajtókhoz. Hozz létre különálló "térképeket" különböző időtúllépéssel, amire éppen szükséged van.

Azt gondolod: egy másodperc? Az rengeteg erőforrást pazarol! - de nem fog. Emlékezz arra, hogy a rendszer lecsatolja a nem használt dolgokat.

Az egy másodperces lecsatolás azt jelenti, hogy amint nincsen használatban az eszköz, lecsatolja.

A 'sync'-et el ne felejtsd a floppy-hoz beállítani!

Például:

floppy -fstype=auto,sync,user,umask=002,gid=floppy :/dev/fd0"

Ez a korrekt válasz a kérdésre.

6.4 A fájlrendszeremet (/auto/grumblesmurf) felcsatoltam és a kill -SIGUSR1 nem csatolja le.

Akkor azt valami használja. Lehet, hogy a root sem tudja majd lecsatolni manuálisan. Ha te csatoltad fel, (például: senki más nem használhatta), akkor nézz egy héj után, ami ebben a könyvtárban áll. Ha ilyen nincs, akkor lehet, hogy egy könyvtártallózó program a hibás. Ha már feladtad a keresést, próbáld ki a fuser parancsot. Segíthet.(Ez képes beazonosítani azt, hogy egy adott könyvtárat vagy fájlt milyen folyamatok használnak - a fordító)

6.5 Mi történik, ha a / könyvtárat adom meg az automounter programnak?

Nem ajánlom. Ha /grumblesmurf könyvtárat szeretnél, ajánlom helyette a szimbolikus hivatkozást, ami sokkal biztonságosabb.

6.6 Lehet két térképfájlom azonos könyvtárban?

Legjobb tudomásom szerint nem. Próbáld meg, hogy egy térképfájlt használsz különböző beállításokkal a bejegyzésekhez.

6.7 SuSE összeállítást használok és szükségem volna ---timeout-ra a --timeout helyett

Egy másik megoldás az "időtúllépés nem működik" problémára: egy -t idő kapcsoló kell az autofs scriptnek.

6.8 Hogyan tudom a jogosultságokat és a tulajdonosokat beállítani a FAT fájlrendszeren?

Nézd át a mount man oldalait az opciókért. Ami kellhet: uid=érték vagy umask=érték. Egy valami nem működik FAT esetén: mode=érték. Bocs, ez van. Értesítsd azokat az embereket, akik szoktak fájlrendszereket csatolni.

6.9 Hogyan lehet tallózni egy autofs könyvtárat, amikor az alkönyvtárai nincsenek felcsatolva? Philippe Froidevaux ([email protected]) írta:

"Az autofs szerzője mondja "nincs megoldás"

egy jó ötlet (egy hírcsoportból):

"ne a /home/blauser -t csatold, hanem a /mount/.auto/blauser-t, aztán hozz létre egy hivatkozást: /home/blauser -> /mount/.auto/blauser

Most már tallózhatod a /home könyvtárat, aztán amikor belépsz, csatolódik a blauser.

Azért van ezzel egy kis probléma: nem elegáns, mivel minden felhasználónál munkát jelent. (egy héjprogrammal persze automatizálható - a fordító)

Van másik megoldás, az AMD használata az autofs helyett. Tudnod kell, hogy az AMD lassabb.

6.10 Kinek köszönhetem az autofs programot?

Ez csak egy dokumentáció ami felhívja az emberek figyelmét arra, hogy milyen nagyszerű az autofs és milyen egyszerű használni. Az eredeti megvalósításhoz (AMD) képest az autofs remekül dokumentált. A fejlesztők fogadják ezért őszinte köszönetemet. Minden szerzői jogot a Transmeta cég birtokol, ezért nincsen stáblista, de Peter Anvin kompetens ember a programmal kapcsolatban. Peter tartott egy előadást az autofs-ről a LinuxWorld Expo rendezvényen, 1999. március 3-án.

6.11 Honnan tudhatok meg többet az önműködő fájlrendszer-csatlakoztatásról?

Itt egy autofs útmutató: http://www.linuxhq.com/lg/issue24/nielsen.html. Ajánlom figyelmedbe még az am-utils leírást a http://www.cs.columbia.edu/~ezk/am-utils honlapon.

6.12 Hogyan tudok kapcsolatba kerülni a fejlesztőkkel? Van levelezőlista autofs témában?

Én nem tudok ilyesmiről. Értesíts engem, ha vannak ez ügyben fejlemények.

6.13 Köszönetnyilvánítások, visszajelzés, ajánlás

Köszönöm Don Donnak (az email cím úgy tűnik nem él) az eredeti mini-HOGYANba fektetett munkáját. Köszönöm Arielnek a win95 vfat témában nyújtott segítségét. Köszönöm az összes barátomnak a támogatását és azt, hogy türelmesek voltak velem, míg befejeztem ezt a munkát. Légyszíves írj nekem, Rahul Sundaram-nek, ha bármi ötleted, javaslatod van, vagy van valami jó leírásod amit hozzáadhatnék a dokumentumhoz. Köszönöm. Ezt a dokumentumot elhunyt szüleimnek Mr. V. Sundaram-nek és Mrs. S. Soundara Sundaram-nek ajánlom.