MODPROBE(8)

NÉV
modprobe - betölthető modulok magas szintű kezelése

ÁTTEKINTÉS
modprobe [ -adnqv ] [ -C config ] modul [ szimbólum=érték ... ]
modprobe [ -adnqv ] [ -C config ] [ -t típus ] minta
modprobe -l [ -C config ] [ -t típus ] minta
modprobe -c [ -C config ]
modprobe -r [ -dnv ] [ -C config ] [ modul ...]
modprobe -V

OPCIÓK

-a, --all
    Minden illeszkedő modult betölt ahelyett, hogy az első sikeres betöltés után megállna.

-c, --showconfig
    Kiírja a jelenleg használt konfigurációt.

-d, --debug
    Információt ír ki a modulcsoportok belső reprezentációjáról.

-k, --autoclean
    Beállítja az "automatikusan törölhető" jelzést a betöltött modulokon. A kernel használja amikor meghívja a modprobe -ot, hogy egy (modulban létező) hiányzó tulajdonságot betöltsön. A -q opciót impliciten tartalmazza a -k. opció. Ezek az opciók automatikusan átadódnak az insmod-nak.

-l, --list
    Kilistázza az illeszkedő modulokat.

-n, --show
    Nem hajtja végre a modul betöltést, csak megmutatja mi történne.

-q, --quiet
    Ne panaszkodjon, ha az insmod-nak nem sikerül betöltenie a modult. Folytassa normálisan, de csendben, a modprobe más tesztlehetőségeivel. Ez az opció automatikusan átadódik az insmod-nak.

-r, --remove
    Modulokat (modulcsoportokat) távolít el, vagy automatikus eltávolítást hajt végre, attól függően, hogy van-e modul megadva a parancssorban.

-s, --syslog
    A szabványos hibakimenet helyett a syslog-ba ír. Ez az opció automatikusan átadódik az insmod-nak.

-t, --type modultípus
    Csak az ilyen típusú modulokat vegye figyelembe.

-v, --verbose
    Kiírja az összes végrehajtott parancsot.

-V, --version
    A modprobe verzióját írja ki.

-C, --config configfájl
    A configfájl -t használja az (opcionális) /etc/modules.conf helyett, hogy megadja a konfigurációt. A MODULECONF környezeti változó is használható arra, hogy kiválasszunk (és felülbíráljunk) egy az alapértelmezett /etc/modules.conf-tól (vagy a kevésbé használt /etc/conf.modules) eltérő konfigurációs fájlt.

LEÍRÁS
A modprobe és a depmod programokat arra szánták, hogy a moduláris Linux kernel menedzselhető legyen minden felhasználó, adminisztrátor és disztribúció-karbantartó számára.

A modprobe egy "Makefile"-szerű függőségi fájlt használ, amelyet a depmod, hozott létre, hogy automatikusan betöltse a szükséges modul(oka)t az előre definiált könyvtárakban található modulok közül.

A modprobe -ot arra használjuk, hogy modulokat töltsünk be, legyen az egyetlen modul, vagy egymástól függő modulok csoportja, vagy olyan modulok, amelyek egy megadott jelzéssel vannak ellátva.

A modprobe automatikusan betölt minden alapvető modult, ami egy modulcsoport számára szükséges, amint a modules.dep függőségi fájlban le van írva. Ha ezen modulok egyikének betöltése sikertelen, az aktuális menettel betöltött egész modulcsoport automatikusan el lesz távolítva.

A modprobe két módon tölthet be modulokat. Az egyik (a teszt mód) megpróbálja egy (a minta által definiált) listából betölteni a modult. A modprobe megáll, amikor az első modul betöltése sikeres. Ezt arra használhatjuk, hogy betöltsünk egy ethernet drivert egy listából.
A modprobe másik működési módja, hogy minden modult betölt a listából. Lásd a PÉLDÁK részt.

A -r, opcióval a modprobe automatikusan eltávolít egy modulcsoportot, az rmmod -r -hez hasonlóan. Figyeljük meg, hogy a modprobe -r használata eltávolítja a nem használt automatikusan betöltött modulokat, és végrehajtja konfigurációs fájlban megadott pre- és post-remove parancsokat is.

A -l opció a -t opcióval kombinálva az elérhető adott típusú modulokat listázza ki.

A -c opció a jelenleg használt konfigurációt írja ki. (alapértelmezett + konfigurációs fájl)

CONFIGURÁCIÓ
A modprobe (és depmod ) viselkedése módosítható az (opcionális) /etc/modules.conf konfigurációs fájllal.
Egy részletesebb leírásért, hogy mit tartalmazhat ez a fájl, vagy a depmod és a modprobe alapértelmezett konfigurációjához lásd a modules.conf(5) oldalt.

Vegyük figyelembe, hogy a pre- és post-remove parancsok NEM lesznek végrehajtva, ha a modult a kerneld távolítja el! Várd meg a készülő perzisztens modul tároló támogatást.
Ha használni akarod a pre- és post-install lehetőségeket, akkor ki kell kapcsolni a kerneld automatikus modul eltávolítási képességét és helyette a következő sorhoz hasonlót kell a crontab-ba tenni (ezt használja kmod rendszer is) hogy automatikus modul eltávolítást végezzünk 2 percenként:
 */2 * * * * test -f /proc/modules && /sbin/modprobe -r

STRATÉGIA
Az ötlet az, hogy a modprobe nézzen bele abba a könyvtárba, ahol a jelenlegi kernelverzióhoz fordított modulokat talál. Ha a modult ott nem találja, akkor a modprobe belenéz abba a könyvtárba, amelyik közös a kernelverzióval. (pl. 2.0, 2.2) Ha még mindig nem találja meg a modult, akkor a modprobe belenéz az alapértelmezett release könyvtárába, stb.

Amikor egy új linuxot installálsz, a modulokat a kiadással (és verzióval) összefüggő alkönyvtárba kell mozgatni. Aztán egy szimbolikus linket kell csinálni erről a könyvtárról az alapértelmezett ("default") könyvtárra.

Minden alkalommal, amikor egy új kernelt fordítasz, a make modules_install parancs létrehoz egy új könyvtárat, de nem változtatja meg a linket.

Ha egy a kernel disztribúciótól független modult kapsz, azt egy verzió-független könyvtárba tedd a /lib/modules alatt.

Ez az alapértelmezett stratégia, ami felübírálható a /etc/modules.conf-al.

PÉLDÁK

modprobe -t net
    Betölt egy modult a "net" jelzéssel ellátott könyvtárakból. Minden modult megpróbál betölteni, amíg egy sikeres nem lesz.

modprobe -a -t boot
    Minden modult betölt a boot jelzéssel ellátott könyvtárakból.

modprobe slip
    Ez megpróbálja betölteni az slhc.o modult, ha még nem volt korábban betöltve, mivel a slip modul az slhc modul funkcionalitását igényli. Ez a függőség a "modules.dep" fájlban van leírva, amely automatikusan létrejön a depmod használatával.

modprobe -r slip
    eltávolítja a slip modult. Az slhc modult szintén automatikusan eltávolítja, kivéve ha már egy másik modul is használja (pl. ppp).

FÁJLOK
/etc/modules.conf, (vagy a kevésbé használt /etc/conf.modules)
/lib/modules/*/modules.dep,
/lib/modules/*

LÁSD MÉG
depmod(8), lsmod(8), kerneld(8), ksyms(8), rmmod(8), modules(2)

SZÜKSÉGES PROGRAMOK
depmod(8), insmod(8)

MEGJEGYZÉSEK
A modprobe-nak adott mintákat gyakran "meg kell védeni", hogy a megfelelő kontextusban legyenek kiértékelve.

SZERZŐK
Jacques Gelinas (jack@solucorp.qc.ca)
Bjorn Ekwall (bj0rn@blox.se)

MAGYAR FORDÍTÁS
Böszörményi Zoltán <zboszor@mail.externet.hu>