Depmod - Linux Command - Unix komanda

vardas

depmod - rankenos priklausomybės aprašymai įkeliamiesiems branduolio moduliams

Anotacija

depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F kernelsyms ] [-b pagrindinis katalogas ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o module2.o ...

apibūdinimas

Depmod ir modprobe komunalinės paslaugos yra skirtos tam, kad Linux modulinis branduolys būtų valdomas visiems vartotojams, administratoriams ir platintojų palaikytojams.

Depmod sukuria "Makefile" tipo priklausomybės failą, pagrįstą simboliais, kuriuos jis randa, komandų eilutėje nurodytų modulių rinkinyje arba iš katalogų, nurodytų konfigūracijos failo. Šis priklausomybės failas vėliau naudojamas " modprobe", kad automatiškai įkeltų teisingą modulį arba modulių kaminą.

Paprastai depmod naudojimas yra linija


/ sbin / depmod -a

kažkur rc-bylose failuose /etc/rc.d , kad teisingas modulio priklausomybes būtų galima iškart paleisti iš sistemos. Atminkite, kad parinktis -a dabar yra neprivaloma. Kad būtų galima paleisti, parinktis -q gali būti tinkamesnė, nes tai daro neapsimoka apie neišspręstus simbolius.

Taip pat galima sukurti priklausomybės failą iškart po kompiliavimo naujo branduolio. Jei atliksite " depmod -a 2.2.99 ", kai sukursite branduolį 2.2.99 ir jo modulius pirmą kartą, kol bus vykdomas, pvz., 2.2.98, failas bus sukurtas teisingoje vietoje. Tačiau šiuo atveju priklausomybės nuo branduolio nebus teisingos. Norėdami gauti daugiau informacijos apie tai, žr. Parinktis -F , -C ir -b aukščiau.

Statydamas modulių ir simbolių, kuriuos eksportuoja kiti moduliai, ryšį , depmod nemano GPL modulio statuso ar eksportuotų simbolių. Tai reiškia, kad depmod nepažymės klaidos, jei modulis be GPL suderinamos licencijos nurodo tik GPL simbolį (EXPORT_SYMBOL_GPL branduolyje). Tačiau " Insmod " atsisakys išspręsti GPL tik simbolius ne GPL modulių, todėl faktinė apkrova bus nesėkminga.

Galimybės

-a , - viskas

Ieškoti modulių visuose kataloguose, nurodytuose (neprivaloma) konfigūracijos faile / etc / modules.conf .

-A , - greitai

Palyginkite failų laiko žymes ir, jei reikia, veikite kaip depmod -a . Ši parinktis atnaujina tik priklausomybės failą, jei kas nors pasikeitė.

-e , --errsyms

Rodyti visus neišspręstus kiekvieno modulio simbolius.

-h , --help

Rodyti parinkčių santrauką ir iškart išeiti.

-n , -show

Įrašykite priklausomybės failą stdout, o ne medyje / lib / modules .

-q , - kvailas

Pasakykite depmod, kad galėtumėte tylėti, o ne skųstis dėl trūkstamų simbolių.

-r , - root

Kai kurie vartotojai modulius sukoncentruoja naudodami ne root vartotojoidą, tada modulius įdiekite kaip root. Šis procesas gali palikti modulius, kurie priklauso ne root vartotojo vardams, net jei modulių aplankas priklauso root. Jei ne root userid yra pažeistas, įsibrovėlis gali perrašyti esamus modulius, priklausančius tai vartotojo vardui, ir naudoti šią ekspoziciją, norint paleisti iš naujo iki root prieigos.

Pagal numatytuosius nustatymus modutils atsisakys bandymų naudoti modulį, kuris nepriklauso root. Nurodžius -r, bus užkertamas kelias klaida ir leis root root modulius, kurie nepriklauso root.

Naudojimas-r yra pagrindinis saugumo poveikis ir nerekomenduojamas.

-s , --syslog

Įrašykite visus klaidų pranešimus naudodami syslog'ą, o ne stderr.

-u , - neišspręsta klaida

Depmod 2.4 nenustato grąžinimo kodo, kai yra neišspręstų simbolių. Kitas svarbus modutils (2.5) leidimas nustatys neišspręstų simbolių grąžinimo kodą. Kai kurie paskirstytojai nori, kad modutils 2.4 nebūtų nulinio grąžinimo kodo, tačiau šis pakeitimas gali sukelti problemų vartotojams, kurie tikisi senojo elgesio. Jei norite depred 2.4 modelyje grąžinti nulinį kodą, nurodykite -u . depmod 2.5 tyliai ignoruos -u vėliavą ir visada duos nulinio grąžinimo kodą neišspręstų simbolių atžvilgiu.

-v , - verbose

Parodykite kiekvieno modulio pavadinimą, kai jis yra apdorojamas.

-V , --versija

Parodykite depmodo versiją.

Toliau pateiktos parinktys naudingos paskirstymo valdantiems žmonėms:

-b pagrindinė aplankas , --basedir pagrindinis katalogas

Jei aplankų medis / lib / moduliai, kuriuose yra modulių pogrindai, perkeliami kur nors kitur, kad būtų tvarkomi skirtingos aplinkos moduliai, -b parinktis nurodo depmod, kur rasti perkeltą / lib / modules medžio paveikslėlį. Failo nuorodos depmodo išvesties failo, kuris yra pastatytas, modules.dep , nepateiks pagrindinio katalogo kelio. Tai reiškia, kad, kai failų medis bus grąžintas iš backlink / lib / modules į / lib / modules galutiniame paskirstyme, visos nuorodos bus teisingos.

-C konfigūracija , - configfile konfigūracija

Naudokite failo konfigūravimo vietoj / etc / modules.conf . Aplinkos kintamasis MODULECONF taip pat gali būti naudojamas norint pasirinkti kitą konfigūracijos failą iš numatytosios / etc / modules.conf (arba / etc / conffmodules (notrecated )).

Kai aplinkos kintamasis

UNAME_MACHINE yra nustatytas, modutils naudos savo reikšmę vietoj mašininio lauko iš uname () syscall. Tai dažniausiai naudojamas, kai rengiate 64 bitų modulius 32 bitų naudotojo erdvėje arba atvirkščiai, nustatykite UNAME_MACHINE modulių tipui, kuris yra statomas. Dabartiniai modutils nepalaiko modulių visiško kryžminio kūrimo režimo, jis gali apsispręsti, ar pasirinkti 32-64 bitų pagrindinės architektūros versijas.

-F kernelsyms , --filesyms kernelsyms

Kuriant priklausomybės failus kitam branduoliui, nei šiuo metu veikiantį branduolį, svarbu, kad depmod naudotų teisingą branduolio simbolių rinkinį, kad būtų išspręstos kiekvieno modulio branduolio nuorodos. Šie simboliai gali būti arba System.map kopija iš kito branduolio, arba iš / proc / ksyms išvesties kopija. Jei jūsų branduolys naudoja vertikalius simbolius, geriausia naudoti iš / proc / ksyms išvesties kopiją, nes toje byloje yra branduolio simbolių simbolių versijos. Tačiau galite naudoti " System.map" net su vertikaliais simboliais.

Konfigūracija

Depmodo ir modprobe elgesį galima koreguoti pasirinkus konfigūracijos failą /etc/modules.conf .
Išsamų aprašymą žr. Modprobe (8) ir modules.conf (5).

Strategija

Kiekvieną kartą, kai sukursite naują branduolį, komanda " make modules_install " sukurs naują katalogą, bet nepakeis numatytojo.

Kai gaunate modulį, nesusijusią su branduolio platinimu, jį reikia įdėti į vieną iš nepriklausomų versijų katalogų, esančių po / lib / moduliais .

Tai yra numatytoji strategija, kurią galima panaikinti /etc/modules.conf .

Taip pat žiūrėkite

lsmod (8), ksyms (8)

Svarbu: naudokite komandą man ( % man ), kad pamatytumėte, kaip komanda naudojama jūsų konkrečiame kompiuteryje.