Vse o ukazu Linux/Unix depmod
Depmod obravnava opise odvisnosti za nalaganje jedro modulov.
Povzetek
depmod [-aA] [-ehnqrsuvV] [-C konfiguracijski datoteki] [-F kernelsyms] [-b osnovni imenik] [prisilna_različica] depmod [-enqrsuv] [-F kernelsyms] modul1.o modul2.o...
Opis
The depmod in modprobe pripomočki so namenjeni izdelavi a Linux modularno jedro, ki ga lahko upravljajo vsi uporabniki, skrbniki in vzdrževalci distribucije.
Depmod ustvari datoteko odvisnosti, podobno "Makefile", na podlagi simbolov, ki jih najde v nizu modulov, omenjenih v ukazni vrstici, ali iz imenikov, določenih v konfiguracijski datoteki. To datoteko odvisnosti kasneje uporablja modprobe za samodejno nalaganje pravilnega modula ali svežnja modulov.

Običajna uporaba depmod je vključiti vrstico.
/sbin/depmod -a
nekje v rc-datotekah v /etc/rc.d, tako da bodo pravilne odvisnosti modulov na voljo takoj po zagonu sistema. Če delate z bolj popolno distribucijo funkcij, kot so Ubuntu, Debian ali Fedora, bo to narejeno namesto vas. Upoštevajte, da možnost
Prav tako je mogoče ustvariti datoteko odvisnosti takoj po prevajanju novega jedra. Če narediš "depmod -a 2.2.99" ko prvič prevedete jedro 2.2.99 in njegove module, medtem ko se še vedno izvaja, npr. 2.2.98, bo datoteka ustvarjena na pravem mestu. V tem primeru pa odvisnosti od jedra ne bodo zagotovljene pravilne. Oglejte si možnosti -F, -C in -b zgoraj za več informacij o ravnanju s tem.
Pri gradnji razmerja med moduli in simboli, ki jih izvažajo drugi moduli,depmod ne upošteva statusa GPL modulov niti izvoženih simbolov. To pomeni, da depmod ne bo označil napake, če se modul brez licence, združljive z GPL, sklicuje samo na simbol GPL (EXPORT_SYMBOL_GPL v jedru). Vendar pa insmod bo zavrnil razrešitev simbolov samo GPL za module, ki niso GPL, tako da dejanska obremenitev ne bo uspela.
Opcije
-a, --vse
Poiščite module v vseh imenikih, določenih v (izbirni) konfiguracijski datoteki/etc/modules.conf.
-A, --hitro
Primerjajte časovne žige datotek in po potrebi ravnajte tako depmod -a. Ta možnost posodobi datoteko odvisnosti samo, če se je kaj spremenilo.
-e, --napake
Pokaži vse nerazrešene simbole za vsak modul.
-h, --pomoč
Prikažite povzetek možnosti in takoj zapustite.
-n, --pokaži
Zapišite datoteko odvisnosti na stdout namesto v /lib/modules drevo.
-q, --tih
Povejte depmodu, naj bo tiho in naj se ne pritožuje zaradi manjkajočih simbolov.
-r, --koren
Nekateri uporabniki prevedejo module pod nekorenskim ID-jem uporabnika, nato pa module namestijo kot root. Ta postopek lahko pusti module v lasti nekorenskega uporabnika, čeprav je imenik modulov v lasti root. Če je nekorenski ID uporabnika ogrožen, lahko vsiljivec prepiše obstoječe module, ki so v lasti tega ID-ja uporabnika, in uporabi to izpostavljenost za zagon do korenskega dostopa.
Modutils privzeto zavrne poskuse uporabe modula, ki ni v lasti root. Določanje-r bo preprečil napako in omogočil rootu, da naloži module, ki niso v lasti root.
Uporaba -r je velika varnostna izpostavljenost in ni priporočljiva.
-s, --syslog
Vsa sporočila o napakah zapišite prek demona syslog namesto stderr.
-u, --nerazrešena-napaka
depmod 2.4 ne nastavi povratne kode, če obstajajo nerazrešeni simboli. Nekatere distribucije želijo v modulih 2.4 povratno kodo, ki ni nič, vendar lahko ta sprememba povzroči težave uporabnikom, ki pričakujejo staro vedenje. Če želite v depmod 2.4 povratno kodo, ki ni nič, podajte -u. depmod 2.5 bo tiho prezrl -u zastavico in bo vedno dal povratno kodo, ki ni nič za nerazrešene simbole.
-v, --besedno
Pokažite ime vsakega modula, ko se obdeluje.
-V, --različica
Prikažite različico depmod.
Upravljanje distribucij
Naslednje možnosti so uporabne za ljudi, ki upravljajo distribucije:
-b osnovni imenik, --basedir osnovni imenik
Če je drevo imenikov /lib/modules ki vsebuje poddrevesa modulov, se premakne nekam drugam, da bi obdelovali module za drugo okolje, -b možnost pove depmodu, kje naj najde premaknjeno sliko /lib/modules drevo. Reference datoteke v izhodni datoteki depmod, ki je zgrajena, moduli.dep, ne bo vseboval osnovni imenik pot. To pomeni, da ko se drevo datotek premakne nazaj iz osnovni imenik/lib/moduli v /lib/modules v končni distribuciji bodo vse reference pravilne.
-C konfiguracijski datoteki, --config konfiguracijski datoteki
Uporabite datoteko configfile namesto /etc/modules.conf. Spremenljivka okolja MODULECONF lahko uporabite tudi za izbiro druge konfiguracijske datoteke od privzete /etc/modules.conf (oz/etc/conf.modules (zastarelo)).
Ko spremenljivka okolja UNAME_MACHINE je nastavljen, bo modutils uporabil njegovo vrednost namesto strojnega polja iz sistemskega klica uname(). To je v glavnem uporabno, ko prevajate 64-bitne module v 32-bitnem uporabniškem prostoru ali obratno, nastavite UNAME_MACHINE glede na vrsto modulov, ki se gradijo. Trenutni modutils ne podpira načina polne navzkrižne gradnje za module, omejen je na izbiro med 32 in 64-bitnimi različicami gostiteljske arhitekture.
-F jedrni simboli,--datotečni simboli kernelsyms
Ko gradite datoteke odvisnosti za drugo jedro kot trenutno delujoče jedro, je pomembno, da depmod uporablja pravilen nabor simbolov jedra za razrešitev referenc jedra v vsakem modulu. Ti simboli so lahko bodisi kopija Sistem.zemljevid iz drugega jedra ali kopijo izhoda iz /proc/ksyms. Če vaše jedro uporablja različice simbolov, je najbolje uporabiti kopijo /proc/ksyms izhod, saj ta datoteka vsebuje različice simbolov simbolov jedra. Vendar pa lahko uporabite a Sistem.zemljevid tudi z različicnimi simboli.
Konfiguracija
Obnašanje oz depmod in modprobe se lahko prilagodi s (izbirno) konfiguracijsko datoteko/etc/modules.conf. Glej modprobe(8) in modules.conf(5) za popoln opis.
strategija
Vsakič, ko prevedete novo jedro, ukaz "naredi modules_install" bo ustvaril nov imenik, vendar ne bo spremenil privzetega.
Ko dobite modul, ki ni povezan z distribucijo jedra, ga postavite v enega od imenikov, neodvisnih od različice, pod /lib/modules.
To je privzeta strategija, ki jo je mogoče preglasiti /etc/modules.conf.
Uporabi človekukaz (% človek), da vidite, kako se ukaz uporablja v vašem računalniku.