Provided by:
manpages-hu_20010119-5_all 
NÉV
modules.conf - konfigurációs fájl a kernelmodulok betöltéséhez
LEÍRÁS
A modprobe(8) (és a depmod(8) ) viselkedése módosítható az (opcionális)
/etc/modules.conf. konfigurációs fájllal.
A konfigurációs fájl sorokból áll.
Minden üres sort, és a sorban levő '#' utáni szöveget figyelmen kívül
hagyja.
A sorok folytatódhatnak, ha egy sort a '\' karakterekkel zárunk.
A maradék sorok meg kell hogy feleljenek a következő formátumoknak:
[add] above modul modul_lista
alias alias_név eredmény
[add] below modul modul_lista
define VÁLTOZÓ SZÓ
depfile=EGY_ELÉRÉSI_ÚT
else
elseif KIFEJEZÉS
endif
if KIFEJEZÉS
include KONFIGURÁCIÓS_FÁJL_ELÉRÉSI_ÚT
insmod_opt=ALAP_OPCIÓK_AZ_INSMODNAK
install modul parancs ...
keep
[add] options modul MODUL_SPECIFIKUS_OPCIÓK
path=EGY_ELÉRÉSI_ÚT
path[JELZÉS]=EGY_ELÉRÉSI_ÚT
[add] probe name modul_lista
[add] probeall name modul_lista
post-install modul parancs ...
post-remove modul parancs ...
pre-install modul parancs ...
pre-remove modul parancs ...
remove modul parancs ...
Minden direktíva argumentumai feldolgozásra kerülnek, hogy a shell
meta-karaktereket kezelhesse, ami azt jelenti, hogy a "shell trükkök",
mint pl. a jokerkarakterek és `` közé zárt parancsok használhatók:
path[misc]=/lib/moduls/1.1.5?/local
path[net]=/lib/moduls/`uname -r`/net
A direktívák többször is megismételhetőek. Figyeljük meg, hogy néhány
direktíva előtt szerepelhet az add opcionális prefix. Amikor ez a
prefix szerepel, az új modul_lista hozzáadódik az előző modul_listához,
ahelyett, hogy felülírná.
SZEMANTIKA
EGY_ELÉRÉSI_ÚT teljesen megadott elérési út. Lehetséges, hogy shell
meta-karaktereket használjunk az EGY_ELÉRÉSI_ÚT -ban, beleértve egy
parancs kimenetét is, mint pl. a `uname -r` és `kernelversion`.
Ezt a két parancsot ezek a programok belsőleg is értik, az aktuális
kernel verziószámát, illetve a jelenlegi kernelverziót jelentve (pl.
2.2.3 és 2.2).
A SZÓ nem white-space (szóköz, tabulátor, stb.) karakterek sorozata.
Ha ' " vagy ` van a stringben, akkor a következő illeszkedő előbb
megadott kivételek is. Minden SZÓ ki lesz fejtve a meta-karakterek
szabályai szerint. Ha a kifejtés több szót is eredményez, akkor az első
szót használja.
A KIFEJEZÉS lehet:
SZ sszehasonlt_opertor SZ
ahol az összehasonlító_operátor az ==, !=, <, <=, >= vagy >
egyike. A két SZÓ string értéke lesz összehasonlítva.
-n SZ sszehasonlt_opertor SZ
ahol összehasonlító_operátor az ==, !=, <, <=, >= vagy > egyike.
A két SZÓ numerikus értéke lesz összehasonlítva.
SZ Ha a SZÓ kifejtése sikertelen, vagy a kifejtés eredménye "0"
(zéró) vagy "" (üres), akkor a kifejezés értéke FALSE. Különben
a kifejezés értéke TRUE.
-f FJLNV
Teszteli, hogy FÁJLNÉV létezik-e.
-k Teszteli, hogy az "automatikus eltávolítás" engedélyezve van-e.
(Pl. a kernelből lett meghíva.)
! KIFEJEZS
Egy kifejezés negáltja szintén kifejezés.
SZINTAXIS
Ez a legális direktívák leírása.
define VLTOZ SZ
Egy putenv("VLTOZ=SZ") utasítást hajt végre. Változók
hozhatók létre és módosíthatók ezzel a direktívával. A változók
hozzáférhetővé válnak a shell környezetben, ami az aktuális
menetben végrehajtott parancsok számára használhatóvá teszi
ezeket.
depfile=EGY_ELRSI_T
Ez a függőségi fájl elérési útja, amit a depmod hoz létre és a
modprobe használja, hogy megtalálja a modulokat és a tőle függő
egyéb modulokat. Normálisan az alapértelmezett érték
használandó, lásd lejjebb.
if KIFEJEZS
Ha a kifejezés értéke TRUE akkor az illeszkedő else, elseif vagy
endif -ig minden direktíva feldolgozásra kerül. Különben
figyelmen kívül lesznek hagyva. A if direktívák maximum 20
mélységig egymásba ágyazhatók.
Megjegyzés: kerüljük a path direktívák feltételes végrehajtását.
Mivel a modprobe elegendően "okos", egy feltételesen
végrehajtott path direktívával nem nyersz semmit, csak
összezavar. Tényleg.
else Ha a korábbi illeszkedő if vagy elseif direktíva kiértékelése
után annak kifejezése FALSE értéket kapott, akkor az
(opcionális) else és az illeszkedő endif direktíva közé zárt
direktívák lesznek kiértékelve.
elseif KIFEJEZS
Ha a korábbi illeszkedő if vagy elseif direktíva kiértékelése
után annak kifejezése FALSE és ennek a direktíva kifejezésének
értéke TRUE akkor a következő illeszkedő elseif, else vagy endif
-ig minden direktíva feldolgozásra kerül. Különben figyelmen
kívül lesznek hagyva.
endif Ez a direktíva fejezi be az illeszkedő if, elseif vagy else
direktíva láncot amely a konfigurációs fájl feltételes
feldolgozását kontrollálja.
if KIFEJEZÉS
konfiguráció sorok
elseif KIFEJEZÉS
konfiguráció sorok
else
konfiguráció sorok
endif
Az else és elseif direktívák opcionálisak.
include KONFIGURACIOS_FAJL_ELRSI_UT
Különböző platformok és konfigurációk kezelése egy fájllal
meglehetősen komplex lehet. Az include direktíva használatával,
feltételesen feldolgozva az if direktívák segítségével, ez
könnyebben kezelhető.
insmod_opt=ALAP_OPCIOK_AZ_INSMODNAK
Ha az insmod néhány speciális opciót igényel, amelyet nem
adhatunk meg máshol, ez a direktíva lehetővé teszi hogy az
insmod minden meghívásakor megkapja ezt az opciót. Az insmod
standard alapértelmezett opcióit nem szükséges mósdosítani,
kivéve ha speciális eseteket kell kezelni.
keep Ha ez a szó megjelenik egy sorban bármilyen sor előtt, amelyik
path leírást tartalmaz, akkor az alapértelmezett elérési utak
megörződnek, és a további leírások ehhez hozzáadódnak. Különben
a normális viselkedés szerint az alapértelmezett elérési utakat
felülírják a konfigurációs fájlban megadottak.
path=EGY_ELRSI_T
path[JELZS]=EGY_ELRSI_T
Az EGY_ELÉRÉSI_ÚT megad egy újabb könyvtárat, ahol modulok
találhatók. A path direktíva egy opcionális jelzést hordozhat.
Így ez egy kicsit többet mond az adott könyvtárban található
modulok céljáról és a modprobe számára lehetővé tesz automatikus
műveleteket. A jelzés a "path" kulcsszó után szögletes
zárójelben található. Ha a jelzés hiányzik, akkor az a "misc"
(egyéb) jelzést feltételezi.
Egy nagyon hasznos jelzés a boot, amivel megadható az összes
olyan könyvtár, ami bootoláskor betöltendő modulokat tartalmaz.
alias alias_nv eredmny
Az "alias" direktíva arra használható, hogy modulok számára
"álneveket" adjunk. Egy /etc/modules.conf sor ami így néz ki:
alias iso9660 isofs
lehetővé teszi, hogy leírjuk a modprobe iso9660 parancsot, habár
nincs iso9660 nevű modul számára objektumfájl.
Jegyezzük meg, hogy a
alias valamilyen_modul off
sor azt eredményezi, hogy a modprobe figyelmen kívül hagyja
annak a modulnak a betöltésére irányuló kéréseket. Egy másik
speciális álnév a
alias valamilyen_modul null
ami azt eredményezi, hogy a valamilyen_modul betöltésére
szolgáló kérés mindig sikeres lesz, de ténylegesen nem lesz
betöltve. Ezt egy kiindulási alapnak lehet használni
modulcsoportok létrehozására az above és below direktívákkal.
Lehetséges nagy mennyiségű alias direktívák használata, mivel
minden álnév rekurzívan lesz kifejtve, hogy a ténylegesen
hivatkozott modult megtalálja. Egy 1000-es felső korlát van az
álnevek rekurziós mélységére, hogy az ehhez hasonló köröket
felderítse:
alias a b
alias b a
Ha az alias végső eredménye nem ad tényleges modul nevet, akkor
a modprobe "probe" és "probeall" hozzárendeléseket alkalmaz az
eredményre. Ha azok nem sikeresek, akkor a modult nem találta
meg. Ez eredményezi, hogy az ilyen (devfs-ből származó)
konstrukciók értelmes eredményre vezetnek:
alias /dev/sg* /dev/sg
probeall /dev/sg scsi-hosts sg
Legális megoldás, hogy egy alias az A modul nevet a B modul
névre képezze le és az A modul ugyanakkor létezzen is, de ez a
konstrukció nem egyértelmű és nem ajánlott. Történeti okokból, a
kernel hangrendszere tartalmaz egy sound.o nevű modult de a
fejlesztők egy álnevet is akartak a "sound"-ról a felhasználó
hangkártya driverének moduljára, pl. "alias sound sb". Ennek a
követelménynek támogatására, de a definiált viselkedés
fenntartására, ahol álnevek is kaphatnak opciókat, a modprobe
nem végez álnév feloldást, ha a nevet a modules.dep fájlból
kapta, különben igen. Ez nem garantálja minden esetben az elvárt
viselkedést az álnevek és valódi modulok minden kombinációjával,
és kerülni kell az olyan álneveket, ami egy igazi modul neve is.
[add] probe name modul_lista
[add] probeall name modul_lista
Ezek a direktívák csak akkor használhatók, ha a name egy modul
neve, ami a modprobe paramétereként adott. Ennek az a hatása,
hogy amikor egy kérés érkezik a name -re, akkor a modul_listában
levő modulok lesznek végigpróbálva a megadott sorrendben. A
különbség a direktívák között az, hogy a probe az első sikeres
betöltésig próbálkozik, míg a probeall a lista végéig. A
kilépési státusz azt mutatja, hogy volt-e sikeresen betöltött
modul, vagy sem. Az opcionális add prefix hozzáadja az új
listát a régihez ahelyett, hogy felülírná.
[add] options modul MODUL_SPECIFIKUS_OPCIK
Minden modul név, beleértve az álneveket is, kaphat saját
options direktívát. Az álnevek számára megadott opcióknak
nagyobb prioritása van, mint az "alacsonyabb szintű" neveknek.
Ez a szabály segít az ellentmondó options direktívák
feloldásában. A parancssorban megadott opcióknak van a
legnagyobb prioritása. Az opcionális add prefix az új listát
hozzáadja a régihez ahelyett, hogy felülírná. Ha egy alias
eredménye nem egy igazi modul, akkor az options direktíva ami az
alias láncból volt konstruálva figyelmen kívül lesz hagyva a
probe[all] meghívása előtt.
[add] above modul modul_lista
Ez a direktíva lehetővé teszi, hogy egy modul "behúzzon" egy
másik modult (vagy modulcsoportot) maga fölé, ahogy az lsmod(8)
parancs kimenetéből látszik. Az above direktíva hasznos olyan
körülmények esetén, amikor a függőségek komplexebbek, mint amit
a modules.dep függőségi fájl leírhatna. Ez egy optimalizált
esete a post-install és pre-remove direktíváknak. Jegyezzük
meg, hogy a modul betöltése nem befolyásolja a modprobe.
kilépési státuszát. Az opcionális add prefix az új listát
hozzáadja a régihez ahelyett, hogy felülírná.
[add] below modul modul_list
Ez a direktíva lehetővé teszi, hogy egy modul "betoljon" egy
másik modult (vagy modulcsoportot) maga alá, ahogy az lsmod(8)
parancs kimenetéből látszik. A below direktíva hasznos olyan
körülmények esetén, amikor a függőségek komplexebbek, mint amit
a modules.dep függőségi fájl leírhatna. Ez egy optimalizált
esete a pre-install és post-remove direktíváknak. Jegyezzük
meg, hogy a modul betöltése nem befolyásolja a modprobe.
kilépési státuszát. Az opcionális add prefix az új listát
hozzáadja a régihez ahelyett, hogy felülírná.
A következő direktívák hasznosak hogy (opcionálisan) végrehajtsunk
parancsokat, amikor modult betöltünk vagy eltávolítunk. Jegyezzük meg,
hogy álnevek is megadhatók ezekben a direktívákban, amelyek helyes
sorrendben hajtódnak végre az olyan direktívákkal, ahol nem álnevet
adtunk meg.
pre-install modul parancs
Végrehajtja a parancs -ot mielőtt betöltené a megadott modult.
Lásd még a below direktívát.
install modul parancs
A parancs -ot hajtja végre az alapértelmezett insmod helyett,
amikor betölti a megadott modult.
post-install modul parancs
Végrehajtja a parancs -ot miután betöltötte a megadott modult.
Lásd még az above direktívát.
pre-remove modul parancs
Végrehajtja a parancs -ot, mielőtt eltávolítaná a megadott
modult. Lásd még az above direktívát.
remove modul parancs
A parancs -ot hajtja végre az alapértelmezett (beépített) rmmod
helyett, amikor eltávolítja a megadott modult.
post-remove modul parancs
Végrehajtja a parancs -ot miután eltávolította a megadott
modult. Lásd még az below direktívát.
ALAPÉRTELMEZETT KONFIGURÁCIÓ
Ha az '/etc/modules.conf' konfigurációs fájl hiányzik, vagy nincs
felülbírált direktíva, akkor a következő alapértelmezések érvényesek:
depfile=/lib/modules/`uname -r`/modules.dep
path[boot]=/lib/modules/boot
path[fs]=/lib/modules/`uname -r`/fs
path[net]=/lib/modules/`uname -r`/net
path[scsi]=/lib/modules/`uname -r`/scsi
path[block]=/lib/modules/`uname -r`/block
path[cdrom]=/lib/modules/`uname -r`/cdrom
path[ipv4]=/lib/modules/`uname -r`/ipv4
path[ipv6]=/lib/modules/`uname -r`/ipv6
path[sound]=/lib/modules/`uname -r`/sound
path[fc4]=/lib/modules/`uname -r`/fc4
path[video]=/lib/modules/`uname -r`/video
path[misc]=/lib/modules/`uname -r`/misc
path[pcmcia]=/lib/modules/`uname -r`/pcmcia
path[atm]=/lib/modules/`uname -r`/atm
path[usb]=/lib/modules/`uname -r`/usb
path[ide]=/lib/modules/`uname -r`/ide
path[ieee1394]=/lib/modules/`uname -r`/ieee1394
path[fs]=/lib/modules/`kernelversion`/fs
path[net]=/lib/modules/`kernelversion`/net
path[scsi]=/lib/modules/`kernelversion`/scsi
path[block]=/lib/modules/`kernelversion`/block
path[cdrom]=/lib/modules/`kernelversion`/cdrom
path[ipv4]=/lib/modules/`kernelversion`/ipv4
path[ipv6]=/lib/modules/`kernelversion`/ipv6
path[sound]=/lib/modules/`kernelversion`/sound
path[fc4]=/lib/modules/`kernelversion`/fc4
path[video]=/lib/modules/`kernelversion`/video
path[misc]=/lib/modules/`kernelversion`/misc
path[pcmcia]=/lib/modules/`kernelversion`/pcmcia
path[atm]=/lib/modules/`kernelversion`/atm
path[usb]=/lib/modules/`kernelversion`/usb
path[ide]=/lib/modules/`kernelversion`/ide
path[ieee1394]=/lib/modules/`kernelversion`/ieee1394
path[fs]=/lib/modules/default/fs
path[net]=/lib/modules/default/net
path[scsi]=/lib/modules/default/scsi
path[block]=/lib/modules/default/block
path[cdrom]=/lib/modules/default/cdrom
path[ipv4]=/lib/modules/default/ipv4
path[ipv6]=/lib/modules/default/ipv6
path[sound]=/lib/modules/default/sound
path[fc4]=/lib/modules/default/fc4
path[video]=/lib/modules/default/video
path[misc]=/lib/modules/default/misc
path[pcmcia]=/lib/modules/default/pcmcia
path[atm]=/lib/modules/default/atm
path[usb]=/lib/modules/default/usb
path[ide]=/lib/modules/default/ide
path[ieee1394]=/lib/modules/default/ieee1394
path[fs]=/lib/modules/fs
path[net]=/lib/modules/net
path[scsi]=/lib/modules/scsi
path[block]=/lib/modules/block
path[cdrom]=/lib/modules/cdrom
path[ipv4]=/lib/modules/ipv4
path[ipv6]=/lib/modules/ipv6
path[sound]=/lib/modules/sound
path[fc4]=/lib/modules/fc4
path[video]=/lib/modules/video
path[misc]=/lib/modules/misc
path[pcmcia]=/lib/modules/pcmcia
path[atm]=/lib/modules/atm
path[usb]=/lib/modules/usb
path[ide]=/lib/modules/ide
path[ieee1394]=/lib/modules/ieee1394
Van egy halom alapértelmezett alias és options direktíva is. Mivel
ezek köre folyamatosan bővül, ezt nem adjuk meg ezen a helyen. A
(jelenlegi) alapértelmezések a modprobe -c paranccsal nézhetők meg egy
üres /etc/modules.conf fájl használatával.
Minden options direktíva megadja a modul számára szükséges opciókat,
pl:
modprobe de620 bnc=1
Ezek az opciók felülbírálhatók az /etc/modules.conf fájlban és a
modprobe parancssorában.
Emlékezz, hogy lehetséges options direktívát megadni álnevek és valódi
modulok számára is. Ez hasznos pl. a dummy modul esetében:
alias dummy0 dummy
options dummy0 -o dummy0
ALTERNATÍV KONFIGURÁCIÓS FÁJL
Történeti okokból, ha az /etc/modules.conf nem létezik, akkor a
modutils a /etc/conf.modules -t használja helyette. Ennek a névnek a
használata nem javasolt, a /etc/modules.conf -al kell helyettesíteni.
Ez a modutils verzió egy figyelmeztető üzenetet ír ki, ha
/etc/conf.modules létezik, későbbi verziók hibaüzenetet fognak kiírni,
és visszautasítják a modulok betöltését.
LÁSD MÉG
depmod(8), modprobe(8), insmod(8)
SZERZŐ
Bjorn Ekwall <bj0rn@blox.se>
Keith Owens <kaos@ocs.com.au>
MAGYAR FORDÍTÁS
Böszörményi Zoltán <zboszor@mail.externet.hu>