Depmod - Linux Command - Unix Command

Pangalan

depmod - pangasiwaan ang dependency paglalarawan para sa loadable kernel modules

Buod

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

Paglalarawan

Ang mga depmod at modprobe utilities ay inilaan upang makagawa ng isang Linux modular kernel na mapapamahalaan para sa lahat ng mga gumagamit, administrator at tagapagbenta ng pamamahagi.

Lumilikha ang Depmod ng isang file na dependency na "Makefile", batay sa mga simbolo na nahahanap nito sa hanay ng mga module na binanggit sa command line o mula sa mga direktoryo na tinukoy sa configuration file. Ang file na dependency na ito ay ginamit sa ibang pagkakataon ng modprobe upang awtomatikong i-load ang tamang module o stack ng mga module.

Ang normal na paggamit ng depmod ay isama ang linya


/ sbin / depmod -a

sa isang lugar sa rc-file sa /etc/rc.d , upang ang tamang dependency module ay makukuha kaagad pagkatapos mabuot ang system. Tandaan na ang opsyon -a ay opsyonal na ngayon. Para sa mga layunin ng boot-up, ang opsyon na -q ay maaaring maging mas angkop dahil ito ay gumagawa ng tahimik tungkol sa mga hindi malutas na mga simbolo.

Posible rin na likhain agad ang file ng dependency pagkatapos na kino-compile ng bagong kernel. Kung gagawin mo ang " depmod -a 2.2.99 " kapag naipon mo ang kernel 2.2.99 at ang mga module nito sa unang pagkakataon, habang tumatakbo pa hal. 2.2.98, ang file ay malilikha sa tamang lugar. Gayunpaman, sa kasong ito, ang mga dependency sa kernel ay hindi garantisadong maging tama. Tingnan ang mga pagpipilian -F , -C at -b sa itaas para sa karagdagang impormasyon sa paghawak nito.

Habang binubuo ang relasyon sa pagitan ng mga module at ang mga simbolo na nai-export ng iba pang mga module, ang depmod ay hindi isinasaalang-alang ang katayuan ng GPL ng mga module o ng mga na-export na simbolo. Ibig sabihin, ang depmod ay hindi mag-flag ng error kung ang isang module na walang lisensya ng GPL ay tumutukoy sa simbolo lamang ng GPL (EXPORT_SYMBOL_GPL sa kernel). Gayunpaman, ang insmod ay tumanggi na lutasin ang mga simbolo lamang ng GPL para sa mga di-GPL na mga module upang mabigo ang aktwal na pagkarga.

Mga Opsyon

-a , - lahat

Maghanap ng mga module sa lahat ng mga direktoryo na tinukoy sa (opsyonal) na pagsasaayos ng file /etc/modules.conf .

-A , -

Ihambing ang timestamp ng file at, kung kinakailangan, kumilos tulad ng depmod -a . Ini-update lamang ng pagpipiliang ito ang dependency file kung may nagbago.

-e , -

Ipakita ang lahat ng mga hindi malulutas na simbolo para sa bawat module.

-h , --help

Magpakita ng buod ng mga pagpipilian at agad na lumabas.

-n , - ipakita

Isulat ang dependency file sa stdout sa halip na sa puno ng / lib / modules .

-q , --quiet

Sabihin sa depmod na manatiling tahimik at huwag magreklamo tungkol sa nawawalang mga simbolo.

-r , --root

Ang ilang mga gumagamit ay sumulat ng mga module sa ilalim ng isang non-root userid pagkatapos ay i-install ang mga modulo bilang root. Maaaring iwanan ng prosesong ito ang mga module na pag-aari ng hindi gumagamit ng root, kahit na ang direktoryo ng modules ay pag-aari ng root. Kung ang kompromiso ng hindi-ugat ay nakompromiso, maaaring i-overwrite ng nanghihimasok ang mga umiiral na module na pag-aari ng userid na iyon at gamitin ang pagkakalantad sa bootstrap hanggang sa root access.

Sa pamamagitan ng default, ang mga modutils ay tatanggihan sa mga pagtatangka na gumamit ng isang module na hindi pag-aari ng ugat. Ang pagtukoy -r ay sugpuin ang error at pahintulutan ang root na mag-load ng mga module na hindi pagmamay-ari ng ugat.

Ang paggamit ng -r ay isang pangunahing pagkakalantad sa seguridad at hindi inirerekomenda.

-s , --syslog

Isulat ang lahat ng mga mensahe ng error sa pamamagitan ng syslog na daemon sa halip ng stderr.

-u , --unresolved-error

Ang depmod 2.4 ay hindi nagtatakda ng isang return code kapag mayroong anumang hindi malutas na mga simbolo. Ang susunod na major release ng modutils (2.5) ay magtatakda ng return code para sa mga hindi malutas na simbolo. Gusto ng ilang mga distribusyon ng isang non-zero return code sa modutils 2.4 ngunit ang pagbabago na maaaring maging sanhi ng mga problema para sa mga gumagamit na umaasa sa lumang pag-uugali. Kung nais mo ang isang non-zero return code sa depmod 2.4, tukuyin -u . Ibig sabihin ng depmod 2.5 na huwag pansinin ang -u na bandila at palaging magbibigay ng isang non-zero return code para sa mga hindi malutas na simbolo.

-v , - masalita

Ipakita ang pangalan ng bawat module habang pinoproseso ito.

-V , - pagbabalik-loob

Ipakita ang bersyon ng depmod .

Ang mga sumusunod na pagpipilian ay kapaki-pakinabang para sa mga tao na namamahala ng mga distribusyon:

-b batay sa direktoryo , - batay sa direktoryo

Kung ang direktoryo ng puno / lib / modules na naglalaman ng mga sub-puno ng mga module ay inilipat sa ibang lugar upang mahawakan ang mga module para sa ibang kapaligiran, ang pagpipilian ng -b ay nagsasabi sa depmod kung saan makahanap ng inilipat na imahe ng / lib / puno ng module . Ang mga sanggunian ng file sa file na output ng depmod na itinayo, modules.dep , ay hindi naglalaman ng landas na direktoryo . Nangangahulugan ito na kapag ang file puno ay inilipat pabalik mula sa basedirectory / lib / modules sa / lib / modules sa pangwakas na pamamahagi, ang lahat ng mga sanggunian ay tama.

-C configfile , - configfile config

Gamitin ang file configfile sa halip ng /etc/modules.conf . Ang variable ng modyul MODULECONF ay maaari ring magamit upang pumili ng ibang file ng pagsasaayos mula sa default /etc/modules.conf (o /etc/conf.modules (hindi na ginagamit)).

Kapag ang variable ng kapaligiran

Ang UNAME_MACHINE ay naka-set, gagamitin ng modutils ang halaga nito sa halip ng field ng makina mula sa uname () syscall. Ito ay pangunahin nang ginagamit kapag nakapagtipon ka ng 64 bit na mga module sa 32 bit na espasyo ng user o kabaligtaran, itakda ang UNAME_MACHINE sa uri ng mga module na binuo. Ang kasalukuyang modutils ay hindi sumusuporta sa buong cross build mode para sa mga module, limitado ito sa pagpili sa pagitan ng 32 at 64 bit na bersyon ng architecture ng host.

-F kernelsyms , --filesyms kernelsyms

Kapag nagtatayo ng mga file ng dependency para sa ibang kernel kaysa sa kasalukuyang tumatakbo na kernel, mahalaga na gamitin ng depmod ang wastong hanay ng mga simbolo ng kernel upang malutas ang mga reference ng kernel sa bawat module. Ang mga simbolo na ito ay maaaring maging isang kopya ng System.map mula sa ibang kernel, o isang kopya ng output mula sa / proc / ksyms . Kung ang iyong kernel ay gumagamit ng mga simbolong na-bersyon, mas mainam na gumamit ng isang kopya ng output / proc / ksyms output, dahil ang file na naglalaman ng mga bersyon ng simbolo ng mga simbolo ng kernel. Gayunpaman maaari mong gamitin ang isang System.map kahit na may mga bersyon na simbolo.

Configuration

Ang pag-uugali ng depmod at modprobe ay maaaring iakma ng (opsyonal) na pagsasaayos ng file /etc/modules.conf .
Tingnan ang modprobe (8) at modules.conf (5) para sa kumpletong paglalarawan.

Diskarte

Sa bawat oras na itala mo ang isang bagong kernel, ang command na " make modules_install " ay lilikha ng isang bagong direktoryo, ngunit hindi magbabago ang default.

Kapag nakakuha ka ng isang module na walang kinalaman sa pamamahagi ng kernel dapat mong ilagay ito sa isa sa mga bersyon-independiyenteng mga direktoryo sa ilalim ng / lib / modules .

Ito ang default na diskarte, na maaaring i-override sa /etc/modules.conf .

Tingnan din

lsmod (8), ksyms (8)

Mahalaga: Gamitin ang command ng tao ( % man ) upang makita kung paano ginagamit ang isang utos sa iyong partikular na computer.