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
Svarbu: naudokite komandą man ( % man ), kad pamatytumėte, kaip komanda naudojama jūsų konkrečiame kompiuteryje.