Viss par Linux/Unix Command depmod
Depmod apstrādā ielādējamo atkarību aprakstus kodols moduļi.
Anotācija
depmod [-aA] [-ehnqrsuvV] [-C konfigurācijas fails] [-F kernelsyms] [-b bāzes direktorijs] [piespiedu_versija] depmod [-enqrsuv] [-F kernelsyms] modulis1.o modulis2.o...
Apraksts
The depmod un modprobe komunālie pakalpojumi ir paredzēti, lai a Linux moduļu kodols, ko var pārvaldīt visi lietotāji, administratori un izplatīšanas uzturētāji.
Depmod izveido "Makefile" līdzīgu atkarības failu, pamatojoties uz simboliem, ko tas atrod komandrindā minētajā moduļu komplektā vai no konfigurācijas failā norādītajiem direktorijiem. Šo atkarības failu vēlāk izmanto modprobe lai automātiski ielādētu pareizo moduli vai moduļu kaudzi.

Parasta lietošana depmod ir iekļaut rindu.
/sbin/depmod -a
kaut kur rc-failos /etc/rc.d, lai pareizās moduļu atkarības būtu pieejamas uzreiz pēc sistēmas palaišanas. Ja strādājat ar pilnīgāku izplatīšanu, piemēram, Ubuntu, Debian vai Fedora, tas tiks darīts jūsu vietā. Ņemiet vērā, ka opcija -a tagad nav obligāta. Sāknēšanas nolūkos opcija
Atkarības failu ir iespējams izveidot arī uzreiz pēc jauna kodola kompilēšanas. ja tu dari"depmod -a 2.2.99Kad esat pirmo reizi kompilējis kodolu 2.2.99 un tā moduļus, joprojām darbojoties, piemēram, 2.2.98, fails tiks izveidots pareizajā vietā. Tomēr šajā gadījumā atkarības no kodola netiks garantētas. Skatiet opcijas -F, -C un -b iepriekš, lai iegūtu papildinformāciju par to, kā rīkoties ar to.
Veidojot attiecības starp moduļiem un citu moduļu eksportētajiem simboliem,depmod neņem vērā ne moduļu, ne eksportēto simbolu GPL statusu. Tas nozīmē, ka depmod neatzīmēs kļūdu, ja modulis bez GPL saderīgas licences atsaucas uz tikai GPL simbolu (EXPORT_SYMBOL_GPL kodolā). tomēr insmod atteiksies atrisināt tikai GPL simbolus moduļiem, kas nav GPL, tāpēc faktiskā ielāde neizdosies.
Iespējas
-a, --visi
Meklējiet moduļus visos direktorijos, kas norādīti (pēc izvēles) konfigurācijas failā/etc/modules.conf.
-A, --ātri
Salīdziniet failu laikspiedolus un, ja nepieciešams, rīkojieties līdzīgi depmod -a. Šī opcija atjaunina atkarības failu tikai tad, ja kaut kas ir mainījies.
-e, -- errsyms
Parādiet visus neatrisinātos simbolus katram modulim.
-h, -- palīdzēt
Parādiet opciju kopsavilkumu un nekavējoties izejiet.
-n, -- šovs
Ierakstiet atkarības failu uz stdout, nevis uz /lib/modules koks.
-q, -- kluss
Pasaki depmod, lai klusē un nesūdzas par trūkstošiem simboliem.
-r, -- sakne
Daži lietotāji apkopo moduļus ar lietotāja ID, kas nav saknes, un pēc tam instalē moduļus kā root. Šis process var atstāt moduļus, kas pieder lietotāja identifikatoram, kas nav saknes lietotājs, pat ja moduļu direktorijs pieder saknei. Ja lietotājs, kas nav saknes lietotājs, ir apdraudēts, iebrucējs var pārrakstīt šim lietotāja idam piederošos esošos moduļus un izmantot šo ekspozīciju, lai bootstrap līdz pat root piekļuvei.
Pēc noklusējuma modutils noraidīs mēģinājumus izmantot moduli, kas nepieder saknei. Norādot-r novērsīs kļūdu un ļaus root ielādēt moduļus, kas nepieder saknei.
-r izmantošana ir galvenais drošības apdraudējums, un tas nav ieteicams.
-s, -- syslog
Rakstiet visus kļūdu ziņojumus, izmantojot syslog dēmonu, nevis stderr.
-u, -- neatrisināta kļūda
depmod 2.4. neiestata atgriešanas kodu, ja ir neatrisināti simboli. Daži izplatījumi vēlas, lai modutils 2.4 atgriešanas kods nebūtu nulle, taču šīs izmaiņas var radīt problēmas lietotājiem, kuri sagaida veco darbību. Ja vēlaties depmod 2.4 atgriešanas kodu, kas nav nulle, norādiet -u. depmod 2.5 klusībā ignorēs -u karodziņš un vienmēr sniegs atgriešanas kodu, kas nav nulle neatrisinātiem simboliem.
-v, --runīgs
Parādiet katra moduļa nosaukumu, kad tas tiek apstrādāts.
-V, -- versija
Parādīt versiju depmod.
Izplatīšanas pārvaldība
Tālāk norādītās opcijas ir noderīgas cilvēkiem, kas pārvalda izplatīšanu.
-b bāzes direktorijs, --basedir bāzes direktorijs
Ja direktoriju koks /lib/modules kas satur moduļu apakškokus, tiek pārvietots kaut kur citur, lai apstrādātu moduļus citai videi, the -b opcija norāda depmod, kur atrast pārvietoto attēlu /lib/modules koks. Faila atsauces izveidotajā depmod izvades failā, moduļi.dep, nesaturēs bāzes direktorijs ceļš. Tas nozīmē, ka tad, kad failu koks tiek pārvietots atpakaļ no basedirectory/lib/modules iekšā /lib/modules galīgajā sadalē visas atsauces būs pareizas.
-C konfigurācijas fails, -- konfigurācija konfigurācijas fails
Izmantojiet faila konfigurācijas failu tā vietā /etc/modules.conf. Vides mainīgais MODULEKONF var izmantot arī, lai atlasītu citu konfigurācijas failu no noklusējuma /etc/modules.conf (vai/etc/conf.modules (novecojis)).
Kad vide ir mainīga UNAME_MACHINE ir iestatīts, modutils izmantos tās vērtību mašīnas lauka vietā no uname() syscall. To galvenokārt izmanto, kad kompilējat 64 bitu moduļus 32 bitu lietotāja telpā vai otrādi, iestatiet UNAME_MACHINE atkarībā no būvējamo moduļu veida. Pašreizējais modutils neatbalsta pilnu pārrobežu veidošanas režīmu moduļiem, tas ir ierobežots, izvēloties resursdatora arhitektūras 32 un 64 bitu versijas.
-F kodolu simboli,--failu simboli kernelsyms
Veidojot atkarības failus citam kodolam, nevis pašreizējam kodolam, tas ir svarīgi depmod izmanto pareizo kodola simbolu kopu, lai atrisinātu kodola atsauces katrā modulī. Šie simboli var būt kopijas System.map no otra kodola vai izvades kopija no /proc/ksyms. Ja jūsu kodols izmanto versiju simbolus, vislabāk ir izmantot kopiju /proc/ksyms izvade, jo šajā failā ir kodola simbolu simbolu versijas. Tomēr jūs varat izmantot a System.map pat ar versijas simboliem.
Konfigurācija
Uzvedība depmod un modprobe var pielāgot (izvēles) konfigurācijas failā/etc/modules.conf. Skat modprobe(8) un modules.conf(5) pilnīgam aprakstam.
stratēģija
Katru reizi, kad kompilējat jaunu kodolu, komanda "veikt modules_install" izveidos jaunu direktoriju, bet nemainīs noklusējuma iestatījumu.
Kad saņemat moduli, kas nav saistīts ar kodola izplatīšanu, tas jāievieto kādā no versijas neatkarīgajiem direktorijiem zem /lib/modules.
Šī ir noklusējuma stratēģija, kuru var ignorēt /etc/modules.conf.
Izmantojiet vīrietiskomandu (% vīrietis), lai redzētu, kā komanda tiek izmantota jūsu konkrētajā datorā.