A Linux / Unix parancs insmod egy futó modulot telepít a futó rendszermagban.insmod megpróbálja összekapcsolni egy modult a futó rendszermaggal az összes szimbólum törlésével a kernel exportált szimbólumtáblájából.
Ha a modul fájlnevét könyvtárak vagy kiterjesztés nélkül adják meg,insmod megkeresi a modult néhány gyakori alapkönyvtárban. A környezeti változóMODPATH használható az alapértelmezés felülbírálására. Ha egy modul konfigurációs fájlt, például/etc/modules.conf létezik, felülírja a megadott útvonalakatMODPATH.
A környezeti változóMODULECONF más konfigurációs fájl kiválasztására is használható/etc/modules.conf (vagy/etc/conf.modules (elavult)). Ez a környezeti változó felülírja a fenti definíciókat.
Amikor környezeti változóUNAME_MACHINE van beállítva, a modutils a gép mező helyett az értéket használja az uname () syscall-ból. Ez elsősorban akkor használható, amikor 64 bites modulokat készít 32 bites felhasználói területen, vagy fordítvaUNAME_MACHINE a modulok típusához. A jelenlegi modulok nem támogatják a teljes kör keresztmetszetű modult a modulokhoz, csak a gazdagép 32 és 64 bites verzióinak kiválasztására korlátozódnak.
Opciók
-e persist_name , --persist= persist_name
Megadja, hogy a modullal kapcsolatos állandó adatokat meg lehessen-e olvasni a terhelésről, és be kell írni, amikor a modul ilyen instantiálása ki van töltve. Ezt az opciót figyelmen kívül hagyja, ha a modulnak nincsenek tartós adatai. A tartós adatokat csak olvassa elinsmod ha ez az opció jelen van, alapértelmezés szerintinsmod nem dolgozza fel a tartós adatokat.
Mint rövidített forma,-e "" (üres karakterlánc) a következőképpen értelmezi:insmod mint értékétpersistdir az alábbiakban meghatározottak szerint:modules.conf, ezt követi a modul fájlnévje a modul keresési útvonalához képest, amely a ".gz", ".o" vagy ".mod" alatt van. Hamodules.conf meghatározza a "persistdir ="(azaz.persistdir üres mező), akkor ezt a rövidített formát csendben figyelmen kívül hagyja. (Látmodules.conf (5).)
-f, --erő
Kísérlet a modul betöltése akkor is, ha a futó rendszermag és a rendszermag azon verziója, amelyhez a modul össze lett állítva, nem egyeznek meg. Ez csak felülbírálja a rendszermagverzió ellenőrzését, nincs hatása a szimbólumnevek ellenőrzésére. Ha a modulban szereplő szimbólumnevek nem egyeznek a rendszermaggal, akkor nincs erőfeszítésinsmod a modul betöltése.
-h, --Segítség
Jelenítse meg az opciók összefoglalását, és azonnal lépjen ki.
-k, --automatikus tisztítás
Állítsa be az auto-clean jelzőt a modulon. Ezt a zászlót fogja használnikerneld(8) olyan modulok eltávolítására, amelyeket nem használtak bizonyos időtartam alatt - általában egy percig.
-L, --zár
Használatnyáj(2) egyazon modul egyidejű terhelésének megakadályozására.
-m, --térkép
Készítsen terhelési térképet a stdouton, megkönnyítve a modul hibakeresését a rendszermag pánik esetén.
-n, --noload
Dummy futni, mindent megtenni, kivéve, ha betölti a modult a rendszermagba. Ha egy-m vagy-O, a futtatás térképet vagy blob fájlt hoz létre. Mivel a modul nincs betöltve, a valódi rendszermag betöltési címe ismeretlen, így a térkép és a blob fájl egy 0x12340000 tetszőleges terhelési címen alapul.
-o module_name , --név= module_name
Pontosan nevezze el a modult, ahelyett, hogy származtatná a nevet a forrás objektumfájl alapnevéből.
-O blob_name , --folt= blob_name
A bináris objektum mentése blob_name . Az eredmény egy bináris blob (nincs ELF fejléc), amely pontosan mutatja, mi történik a rendszermagban a szekció manipuláció és áthelyezés után. választási lehetőség-m ajánlott az objektum térképének elkészítése.
-p, --szonda
Vizsgálja meg a modult, hogy láthassa, sikeresen betölthető-e. Ez magában foglalja az objektumfájl megtalálását a modulútvonalon, a verziószámok ellenőrzése és a szimbólumok feloldása. Nem ellenőrzi az áthelyezést, és nem készít térképet vagy blob fájlt.
-P előtag , prefix= előtag
Ez az opció SMP vagy bigmem rendszermag verziószámú modulokkal használható, mivel ezeknek a moduloknak extra előtagja van a szimbólumnevekben. Ha a rendszermagot szimbólum verziókkal építettük ki, akkorinsmod automatikusan kivonja az előtagot a "get_module_symbol" vagy az "inter_module_get" definícióból, amelyek közül az egyiknek léteznie kell minden olyan rendszermagban, amely támogatja a modulokat. Ha a rendszermag nem rendelkezik szimbólumverziókkal, de a modul szimbólumverziókkal van felépítve, akkor a felhasználónak kell megadnia-P.
-q, --csendes
Ne nyomtasson ki semmilyen megoldatlan szimbólumot. Ne panaszkodj a verzió eltérése miatt. A probléma csak akkor jelenik meg, ha a rendszer kilépési státusza vaninsmod.
-r, --gyökér
Egyes felhasználók modulokat készítenek egy nem root felhasználóként, majd a modulokat rootként telepítik. Ez a folyamat hagyhatja el a nem root felhasználóként működő modulokat, annak ellenére, hogy a modulok könyvtára a root tulajdonában van. Ha a nem root felhasználói azonosító sérül, az betolakodó felülírhatja az adott felhasználónév tulajdonában levő meglévő modulokat, és ezt az expozíciót a rendszerindításkor root hozzáférésre használhatja.
Alapértelmezés szerint a modutils elutasítja a gyökér nélküli tulajdonlási modult. megadása -r átkapcsolja a csekket, és engedélyezi a gyökérnek, hogy betöltse azokat a modulokat, amelyek nem a gyökér tulajdonában vannak.
Jegyzet: A gyökérellenőrzés alapértelmezett értéke módosítható a modutils konfigurálásakor.A -r használata a gyökérellenőrzés letiltásához vagy az alapértelmezett beállításhoz a "nem gyökércsomag" beállításhoz a konfigurációs idő alatt jelentős biztonsági expozíció, és nem ajánlott.
-s, --syslog
Készítsen mindentsyslog(3) a terminál helyett.
-S, --kallsyms
A betöltött modul kényszerítésekallsyms adatokat, még akkor is, ha a rendszermag nem támogatja. Ez a lehetőség kisebb rendszerek esetén, ahol a rendszermag nincs betöltvekallsyms az adatokra, de a kiválasztott modulokra van szükségkallsyms a hibakereséshez. Ez az opció a Red Hat Linux alapértelmezett beállítása.
-v, --bőbeszédű
Legyen szóba.
-V, --változat
Megjeleníti ainsmod.
-X, --export; -x, --noexport
Végezze el és ne exportálja az összes modul külső szimbólumát. Az alapértelmezés szerint a szimbólumok exportálhatók. Ez az opció csak akkor érvényes, ha a modul kifejezetten nem exportál saját ellenőrzött szimbólumtábláját, így elavult.
Y, --ksymoops; -y, --noksymoops
És ne adj hozzáksymoops szimbólumokat a ksime-khez. Ezt a szimbólumot használjaksymoops hogy jobb hibakeresést biztosítson, ha van egy Oops ebben a modulban. Az alapértelmezett azksymoopsszimbólumok meghatározása. Ez a lehetőség független a-X/-x opciók.
ksymoops a szimbólumok körülbelül 260 bájtot adnak meg a betöltött modulonként. Hacsak nem vagy nagyon kicsi a rendszermag, és megpróbálják minimalizálni a ksimexeket a minimális méretére, vegye figyelembe az alapértelmezett értéket, és pontosabban ellenőrizze az Oops hibakeresést.ksymoops szimbólumok szükségesek a tartós moduladatok mentéséhez.
-N, --numeric csak
Csak ellenőrizze a modul verziószámát a rendszermag verziójával szemben, azaz figyelmen kívül hagyja a EXTRAVERSION-ot, amikor eldönti, hogy egy modul egy rendszermaghoz tartozik-e. Ez a jelző automatikusan a 2.5 kernelre van állítva, ez a korábbi kernelekhez opcionális.
Modul paraméterek
Néhány modul elfogadja a betöltési idő paramétereket a működésük testreszabásához. Ezek a paraméterek gyakran az I / O port és az IRQ számok, amelyek gépen és gépen eltérnek, és nem határozhatók meg a hardveren.
A 2.0 sorozatú rendszermagokhoz épített moduloknál bármely egész vagy karaktermutató szimbólum paraméterként kezelhető és módosítható. A 2.1-es sorozatú rendszermagoktól kezdve a szimbólumokat kifejezetten paraméterként jelölik, így csak bizonyos értékek módosíthatók. Ezenkívül a beadási időben megadott értékek ellenőrzése céljából típusinformációkat szolgáltatnak.
Az egész számok esetében minden érték lehet decimális, oktális vagy hexadecimális a la C: 17, 021 vagy 0x11. A tömbelemek vesszővel elválasztva kerülnek sorrendbe. Az elemek kihagyhatók az érték elhagyásával.
A 2.0 sorozatú modulokban az olyan értékek, amelyek nem kezdődnek számmal, húrként tekintendők. A 2.1-es verziótól kezdődően a paramétertípus-információ jelzi, hogy értelmezi-e az értéket karakterláncként. Ha az érték kettős idézőjelekkel kezdődik ('), a karakterláncot úgy értelmezik, mint a C, a escape szekvenciák és az összes. Ne feledje, hogy a shell parancssorból magának az idézőjeleknek kell védeni a héj értelmezését.
GPL Licensed Modules and Symbols
A 2.4.10-es kerneltől kezdve a moduloknak licenclicencet kell tartalmazniuk, amelyet a következővel kell megadniMODULE_LICENSE (). Számos karakterláncot GPL kompatibilisnek ismerünk el; minden más licencfájl vagy licenc egyáltalán nem jelenti azt, hogy a modult saját tulajdonúnak tekintik.
Ha a rendszermag támogatja a/ Proc / sys / kernel / romlott zászlótinsmod vagy VAGY a megzavart zászló "1" -nel, amikor egy modulot tölt be GPL licenc nélkül. Figyelmeztetés kerül kiadásra, ha a rendszermag támogatja a megfertőzést és a modult licenc nélkül tölti be. Mindig olyan modulokra figyelmeztető jelzést kap, amelyeknek aMODULE_LICENSE () ez nem GPL kompatibilis, még olyan régebbi rendszermagokon is, amelyek nem támogatják a szennyeződést. Ez minimalizálja a figyelmeztetéseket, ha új modutilt használnak a régebbi rendszermagokban.
insmod -f (erő) mód VAGY a zavaros zászló "2" -vel a rendszermagokon, amely támogatja a megfertőzést. Mindig figyelmeztetést ad ki.
Néhány rendszermag-fejlesztő megköveteli, hogy a kódjuk által exportált szimbólumokat csak GPL-kompatibilis licencekkel rendelkező modulok használják. Ezeket a szimbólumokat aEXPORT_SYMBOL_GPL a normális helyettEXPORT_SYMBOL. A rendszermag és más modulok által exportált GPL-szimbólumok csak GPL-kompatibilis licencekkel rendelkező modulok számára láthatók, ezek a szimbólumok megjelennek/ Proc / ksyms egy "GPLONLY_'. insmod figyelmen kívül hagyja aGPLONLY_ a szimbólumok előtagja a GPL engedéllyel rendelkező moduljának betöltése közben, így a modul csak az előtag nélküli normál szimbólumnevet jelenti. A GPL csak szimbólumokat nem áll rendelkezésre a GPL-kompatibilis licenc nélküli modulok számára, ez egyáltalán nem engedélyezett modulokat tartalmaz.
Ksymoops Assistance
Segítség a rendszermag hibakeresésében Hoppá, amikor modulokat használ,insmod Alapértelmezés szerint néhány szimbólumot kell hozzáadnia ksyms-hez, lásd aY választási lehetőség. Ezek a szimbólumok kezdődnek__insmod_ modulename_ . A modulename hogy a szimbólumok egyediek legyenek. Legális, hogy ugyanazt az objektumot többször is betöltsék különböző modulnevek alatt. Jelenleg a meghatározott szimbólumok a következők:
__insmod_ modulename _ Oobjectfile _ Mmtime _ vVERSION
objectfile az a fájl neve, amellyel az objektumot töltötte be. Ez biztosítja, hogy az ksymoopok a kódot a megfelelő objektumhoz igazítsák. mtime az utolsó módosított időbélyegző az adott fájlban hexon, nulla, ha a stat nem sikerült. változat a rendszermag verziója, amelyre a modul fordult, -1 ha nincs elérhető verzió. A_O A szimbólumnak ugyanaz a kezdő címe, mint a modul fejléce.
__insmod_ modulename _ Ssectionname _ Llength
Ez a szimbólum megjelenik a kiválasztott ELF szakaszok kezdetén, jelenleg .text, .rodata, .data, .bss és .sbss. Csak akkor jelenik meg, ha a szakasz nem nulla méretű. sectionname az ELF szakasz neve, hossz a szakasz hossza decimálisan. Ezek a szimbólumok segítséget nyújtanak a ksymoops-nak, hogy címeket adjanak a szekciókhoz, ha nincsenek szimbólumok
__insmod_ modulename _Ppersistent_ fájl név
Csak ainsmod ha a modul egy vagy több paramétert tartalmaz, amelyek tartós adatokként vannak megjelölve, és egy fájlnév a tartós adatok mentéséhez (lásd:-e, fent) elérhető.
A másik probléma a hibakeresési kernelvel Hoppá a modulokban az, hogy a / proc / ksyms tartalom és / proc / modules változhat a Hoppá és a naplófájl feldolgozásakor. A probléma leküzdéséhez, ha a könyvtár / var / log / ksymoops létezik, akkorinsmod ésrmmod automatikusan átmásolja a / proc / ksyms és a / proc / modules parancsot a / var / log / ksymoops fájlra a dátum +% Y% m% d% H% M% S előtagával. A rendszergazda meg tudja mutatni a ksymoopokat, amelyek pillanatképfájlokat használnak az Oops hibakeresésekor. Az automatikus másolat letiltására nincs lehetőség. Ha nem akarja, hogy ez megtörténjen, ne hozzon létre / var / log / ksymoops. Ha ez a könyvtár létezik, akkor a gyökér tulajdonában kell lennie, és 644 vagy 600 módban kell lennie, és minden nap futtatni kell ezt a szkriptet. Az alábbi parancsfájl telepítése insmod_ksymoops_clean.
#! / Bin / sh # Törölje a mentett ksime-ket és modulokat, amelyek nem érhetők el 2 napon belül ha -d / var / log / ksymoops azután set -e # Győződjön meg róla, hogy mindig van legalább egy verzió d = `dátum +% Y% m% d% H% M% S` cp -a / proc / ksyms /var/log/ksymoops/${d}.ksyms cp -a / proc / modules /var/log/ksymoops/${d}.modules találja a / var / log / ksymoops -típusú f -atime +2 -exec rm {} ; fi NÉV insmod - betölthető rendszermag modul telepítése SZINOPSZIS insmod -fhkLmnpqrsSvVxXyYN -e persist_name -o module_name -O blob_name -P előtag modul szimbólum= érték … Alapvető információk a tudáshoz




