Provided by: manpages-hu_20010119-5_all bug

NÉV

       insmod - betölthető kernel modult tölt be

ÁTTEKINTÉS

       insmod [-fkmpqrsxXvyY] [-P prefix] [-o modul_név] objektum_fájl [ symbol=value ... ]

LEÍRÁS

       Insmod Betölt egy betölthető kernelmodult a futó kernelbe.

       Az  insmod  parancs  megpróbál  hozzáfűzni  egy modult a futó kernelhez úgy, hogy feloldja
       annak minden szimbólumát a kernel exportált szimbólum-táblázatából.

       Ha  az  objektum  fájl  neve  kiterjesztés  nélkül  adott,   akkor   az   insmod   parancs
       alapértelmezett  alkönyvtárakban  fogja  keresni  a  modult.  A MODPATH környezeti változó
       használható   ennek   felülbírálására.    Ha   egy   modul   konfigurációs    fájl    (pl.
       /etc/modules.conf)   létezik,  akkor  annak  tartalma  fogja  felülbírálni  a  MODPATH-ban
       definiált elérési utakat.

       A  MODULECONF  környezeti  változó  is   használható   arra,   hogy   az   alapértelmezett
       /etc/modules.conf  -tól (vagy /etc/conf.modules, ez utóbbi használata nem javasolt) eltérő
       konfigurációs fájlt válasszunk.  Ez  a  környezeti  változó  az  összes  fenti  definíciót
       felülbírálja.

   OPCIÓK
       -f     Megpróbálja betölteni a modult akkor is, ha a futó kernel és a modul kernelverziója
              nem egyezik meg.

       -k     Az automatikus törlés kapcsolót állítja be a modulban. Ezt a kerneld(8)  használja,
              hogy eltávolítsa az egy ideje nem használt modulokat — rendszerint egy perc eltelte
              után.

       -m     Egy betöltési térképet ír ki, megkönnyítve a modul  hibakeresését  egy  kernelpánik
              esetén.

       -o module_name
              Expliciten megnevezi a modult ahelyett, hogy az objektum fájl nevéből származtatná.

       -p     Teszteli  a  modult,  hogy  sikeresen  be  lehetne-e  tölteni.  Ebbe beleértendő az
              objektum megkeresése a modul-útvonalon, a verziószám ellenőrzése és  a  szimbólumok
              feloldása.

       -q     Nem   írja   ki   a   feloldhatatlan   szimbólumok   listáját.    Nem   panaszkodik
              verzióeltérésről.  A problémát csak az insmod visszatérési értéke jelzi.

       -r     Egyes felhasználók nem root azonosítóval  fordítják  a  modulokat,  majd  root-ként
              installálják  azokat.  Ezen  művelet  után  a  modulok  tulajdonosa  egy  nem  root
              felhasználó lesz, még ha a modulokat tartalmazó könyvtár root tulajdonú is. Ha  ezt
              a  nem  root  azonosítót  feltörik,  a  behatoló felülírhatja az általa tulajdonolt
              létező modulokat, és ezt felhasználhatja root jog szerzésére.

              Alapértelmezés  szerint  a  modutils  programok   visszautasítják   olyan   modulok
              használatát, amelyeknek nem root a tulajdonosa. A -r megadása ezt a hibát elnyomja,
              és megengedi a root-nak, hogy nem root tulajdonosú modulokat töltsön be.

              A -r használata komoly biztonsági probléma, és nem ajánlott.

       -s     A terminál helyett mindent a syslog(3)-ba ír.

       -v     Bőbeszédűbb lesz.

       -X, -x Exportáld (-X), illetve ne exportáld a modul  külső  szimbólumait.   Alapértelmezés
              szerint a szimbólumokat exportálja. Ez az opció csak akkor hatásos, ha maga a modul
              nem exportálja explicite a saját szimbólumtábláját, így ez egy  ritkábban  használt
              opció.

       -Y, -y Hozzáadja,  illetve  nem adja hozzá a ksymoops szimbólumokat a ksyms-hez.  Ezeket a
              szimbólomukat a ksymoops program használja, jobb hibakeresést lehetővé téve, ha egy
              Oops   történik   a   modulban.   Alapértelmezés  szerint  a  ksymoops  szimbólumok
              definiálódnak. Ez az opció független a -X/-x opcióktól.

              A ksymoops szimbólumok kb. 260 byte-al növelik a betöltött modult.  Használd inkább
              az  alapértelmezést  és a pontosabb Oops hibakeresés lehetőségét, kivéve ha tényleg
              kevés a kernelmemória és a ksyms-t próbálod a minimális méretére összehúzni.

       -P prefix
              Ez az opciót használható verzióval ellátott modulokhoz  SMP  vagy  bigmem  kernelek
              mellé,  mivel  az  ilyen  modulok  egy  extra  prefixet tartalmaznak a szimbólumaik
              nevében.   Ha  a  kernel  szimbólum  verzióval  volt  fordítva,  akkor  az   insmod
              automatikusan  felderíti  ezt  a prefixet a "get_module_symbol" definíciójából, ami
              minden olyan kernelben létezik, amelyik modulokat támogat.  Ha  a  kernelben  nincs
              modul  verzió, de a modul szimbólum verzióval volt fordítva, akkor a felhasználónak
              meg kell adnia a -P opciót.

   MODUL PARAMÉTEREK
       Néhány modul elfogad betöltéskor paramétereket, melyekkel testreszabható a működésük. Ezek
       a  paraméterek  gyakran  I/O  címek  és IRQ számok, amelyek gépról-gépre változnak, és nem
       lehet a hardverből megállapítani.

       A 2.0-ás sorozatú kernelekhez fordított moduloknál bármilyen egész vagy karakteres  mutató
       szimbólum kezelhető paraméterként és módosítható.  A 2.1-es kernelektöl kezdve a paraméter
       szimbólumok expliciten meg vannak jelölve. Továbbá  típusinformációt  is  tartalmaznak  az
       érték ellenőrzéséhez betöltéskor.

       Egész  típus esetén minden érték lehet decimális, oktális vagy hexadecimális, pl.: 17, 021
       vagy 0x11. A tömbelemeket vesszővel elválasztott sorozattal  adhatjuk  meg;  egyes  elemek
       kihagyhatók az érték meg nem adásával.

       A  2.0-ás  sorozatú  modulokban  azok  az  értékek,  amelyek  nem  számjeggyel  kezdődnek,
       karakterláncnak tekintendőek. 2.1-től kezdve a paraméter típusa határozza meg azt, hogy az
       értéket  karakterláncként értelmezze-e.  Ha az érték macskakörömmel (") kezdődik, akkor az
       érték a C nyelv szerint  lesz  értelmezve,  escape-szekvenciákkal,  stb.  Figyelembe  kell
       venni, hogy héj (shell prompt) értelmezi a macskakörmöt, ezért "meg kell védeni".

   KSYMOOPS TÁMOGATÁS
       Modulok  használata  esetén  a  kernel  Oops  hibakeresésének  megkönnyítésére  az  insmod
       alapértelmezésként hozzáad néhány szimbólumot a  ksyms-hez,  lásd  a  -Y  opciót.  Ezek  a
       szimbólumok  "__insmod_modulename_"-el  kezdődnek.  A  modulename  szükséges  ahhoz,  hogy
       egyedileg azonosítsuk a szimbólumokat, és lehetséges ugyanazt  az  objektumfájlt  többször
       más néven betölteni.  A jelenleg definiált szimbólumok

       __insmod_modulename_Oobjectfile_Mmtime_Vversion

       Az  objectfile  a  fájl  neve,  amelyből  az  objektum betöltődött.  Ez biztosítja, hogy a
       ksymoops egyeztetni tudja a kódot a megfelelő objektummal. mtime annak a fájlnak az utolsó
       módosítás  ideje  hexadecimális  értékben,  0 ha a stat() hibát jelzett.  version a kernel
       verziója, amelyhez a modult fordították, -1 ha nem nincs  verziószám.  A  _O  szimbólumnak
       ugyanaz a kezdőcíme, mint a modul fejlécének.

       __insmod_modulename_Ssectionname_Llength

       Ez  a  szimbólum  a  kiválasztott ELF szekciók elején jelenik meg, amelyek jelenleg .text,
       .rodata, .data és .bss. Csak akkor jelenik meg, ha az adott szekciónak nullánál nagyobb  a
       mérete.   sectionname  az  ELF  szekció  neve, length a szekció hossza decimálisan. Ezek a
       szimbólumok  segítik  a  ksymoops-ot  olyan  szekciók  feltérképezésében,  ahol  nincsenek
       hozzáférhető szimbólumok.

       A kernel Oops hibakeresés másik problémája, hogy a /proc/ksyms és a /proc/modules tartalma
       változhat az Oops és a hiba logjának feldolgozása között. Ennek áthidalására, ha létezik a
       /var/log/ksymoops könyvtár, akkor insmod és rmmod automatikusan átmásolja a /proc/ksyms és
       /proc/modules fáljokat a /var/log/ksymoops könyvtárba a `date +%Y%m%d%H%M%S`  prefix-szel.
       A  rendszer  adminisztrátor  megmondhatja  a ksymoops-nak, hogy melyik "pillanatfelvételt"
       használja amikor egy Oops-t debuggol. Nincs olyan opció, ami letiltaná ezt az  automatikus
       átmásolást,  ha  nem akarjuk, hogy megtörténjen, akkor ne hozzuk létre a /var/log/ksymoops
       könyvtárat.  Ha a könyvtár létezik, akkor a tulajdonosa root, és a joga 644 vagy 600  kell
       hogy  legyen, és az alábbi script naponta futtatandó. A script insmod_clean_ksymoops néven
       található meg.

         #!/bin/sh
         # Törli a 2 napnál régebbi ksyms és modules mentéseket.
         if [ -d /var/log/ksymoops ]
         then
              set -e
              # Biztosítjuk, hogy mindig van legalább egy verzió
              d=`date +%Y%m%d%H%M%S`
              cp -a /proc/ksyms /var/log/ksymoops/${d}.ksyms
              cp -a /proc/modules /var/log/ksymoops/${d}.modules
              find /var/log/ksymoops -type f -atime +2 -exec rm {} \;
         fi

LÁSD MÉG

       rmmod(8), modprobe(8), depmod(8), lsmod(8), ksyms(8), modules(2), genksyms(8), kerneld(8),
       ksymoops(kernel).

TÖRTÉNELEM

       A modul támogatást először Anonymous készítette el.
       A kezdeti Linux változat: Bas Laarhoven <bas@vimec.nl>
       A 0.99.14-es verzió: Jon Tombs <jon@gtex02.us.es>
       Kibővítette: Bjorn Ekwall <bj0rn@blox.se>
       Az eredeti ELF támogatás: Eric Youngdale <eric@aib.com>
       Újraírta a 2.1.17-es kernelhez Richard Henderson <rth@tamu.edu>
       Bővítés a modutils-2.2.*-hez: Bjorn Ekwall <bj0rn@blox.se>, 1999 márciusa
       Ksymoops támogatás: Keith Owens <kaos@ocs.com.au>, 1999 májusa

MAGYAR FORDÍTÁS

       Böszörményi Zoltán <zboszor@mail.externet.hu>
       Narancs v1 <narancs1@externet.hu>