MODULES.CONF(5) | File Formats Manual | MODULES.CONF(5) |
modules.conf - konfigurációs fájl a kernelmodulok betöltéséhez
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:
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á.
path[misc]=/lib/moduls/1.1.5?/local
path[net]=/lib/moduls/`uname -r`/net
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:
Ez a legális direktívák leírása.
Az else és elseif direktívák opcionálisak.
if KIFEJEZÉS
konfiguráció sorok
elseif KIFEJEZÉS
konfiguráció sorok
else
konfiguráció sorok
endif
lehetővé teszi, hogy leírjuk a modprobe iso9660 parancsot, habár nincs iso9660 nevű modul számára objektumfájl.
alias iso9660 isofs
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 off
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.
alias valamilyen_modul null
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
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.
alias /dev/sg* /dev/sg
probeall /dev/sg scsi-hosts sg
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.
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:
Ezek az opciók felülbírálhatók az /etc/modules.conf fájlban és a modprobe parancssorában.
modprobe de620 bnc=1
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
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.
Bjorn Ekwall <bj0rn@blox.se> Keith Owens <kaos@ocs.com.au>
Böszörményi Zoltán <zboszor@mail.externet.hu>
1999. december 7 | 4th Berkeley Distribution |