Ime
depmod - obrađuje opise ovisnosti o modulima koji se mogu nadograditi
Sinopsis
depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F jezgra ] [-b bazni direktorijum ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o module2.o ...
Opis
Namena depomoda i modprobea je da se Linux modularni kernel postane podesan za sve korisnike, administratore i održavače distribucije.
Depmod kreira datoteku zavisnosti poput "Makefile", zasnovanu na simbolima koje nalazi u setu modula navedenih u komandnoj liniji ili iz direktorija navedenih u konfiguracijskoj datoteci. Ovu datoteku zavisnosti kasnije koristi modprobe za automatsko učitavanje tačnog modula ili stega modula.
Normalna upotreba depmoda je da uključi liniju
/ sbin / depmod -a
negde u rc-datotekama u /etc/rc.d , tako da će tačne modulske zavisnosti biti dostupne odmah nakon pokretanja sistema. Imajte na umu da je opcija -a sada neobavezna. Za svrhe pokretanja, opcija -q bi mogla biti prikladnija, jer to onemogućava depomod o nerešenim simbolima.
Takođe je moguće kreirati datoteku zavisnosti odmah nakon sastavljanja novog kernela. Ako uradite " depmod -a 2.2.99 " kada ste sastavili jezgro 2.2.99 i njegove module prvi put, dok se i dalje radi npr. 2.2.98, fajl će se kreirati na ispravnom mjestu. U ovom slučaju, zavisnosti od kernela neće biti garantovane. Pogledajte opcije -F , -C i -b iznad za više informacija o postupanju sa ovim.
Dok gradi odnos između modula i simbola koji izvoze drugi moduli, depmod ne uzima u obzir GPL status modula niti izvezenih simbola. To jest, depmod neće označiti grešku ako se modul bez GPL kompatibilne licence odnosi na simbol GPL samo (EXPORT_SYMBOL_GPL u kernelu). Međutim, insmod će odbiti da reši samo simbole GPL za modele koji nisu GPL, tako da će stvarno opterećenje propasti.
Opcije
-a , -all
Tražite module u svim direktorijima navedenim u (opciono) konfiguracionoj datoteci /etc/modules.conf .
- A , - skok
Uporedite vremenske oznake datoteke i, ako je potrebno, ponašate kao depomod -a . Ova opcija ažurira samo datoteku zavisnosti ako se nešto promeni.
-e , - errsimi
Pokazati sve nerešene simbole za svaki modul.
-h , - pomoć
Prikažite rezime opcija i odmah izađite.
-n , - šou
Napišite datoteku zavisnosti na stdout umjesto u stablu / lib / modula .
-q , - pitanja
Recite depmodu da ćuti i da se ne požali na nedostajuće simbole.
-r , -root
Neki korisnici kompajliraju module pod nekorijenskim korisničkim ID-om, zatim instaliraju module kao root. Ovaj proces može ostaviti module u vlasništvu nekorijenskog korisnika, iako je direktorijum modula u vlasništvu root-a. Ako je korisnik koji nije korijen kompromitovan, uljez može prepisati postojeće module u vlasništvu tog korisnika i koristiti ovu ekspoziciju za bootstrap do root pristupa.
Podrazumevano, modutils će odbaciti pokušaje korištenja modula koji nije u vlasništvu root-a. Određivanje -r će potisnuti grešku i omogućiti rootu učitavanje modula koje nisu u vlasništvu root-a.
Upotreba -r je velika izloženost bezbednosti i nije preporučljiva.
-s , --sloglog
Napišite sve poruke o grešci preko syslog-demona umjesto stderr-a.
-u , - nerazrešeno-greška
depmod 2.4 ne postavlja povratni kod kada postoje nerešeni simboli. Sledeće veliko izdanje modutils (2.5) će postaviti povratni kod za nerešene simbole. Neke distribucije žele ne-nultni povratni kod u modutils 2.4, ali ta promjena može izazvati probleme za korisnike koji očekuju staru ponašanje. Ako želite ne-nultni povratni kod u depodu 2.4, navedite -u . depmod 2.5 će tiho ignorisati -u zastavu i uvek će dati nulti povratni kod za nerešene simbole.
-v , - verbose
Pokažite ime svakog modula dok se obrađuje.
-V , - verzija
Prikazati verziju depmoda .
Sledeće opcije su korisne za osobe koje upravljaju distribucijama:
-b bazni direktorijum , bazirani direktorijum bazira
Ako su stablo direktorija / lib / moduli koji sadrže pod-stabla modula pomereni na nekom drugom mestu da bi se rukovali modulima za različito okruženje, opcija -b govori depmodu gde da pronađe premještenu sliku stabla / lib / modula . Reference datoteka u izlaznoj datoteci depmoda koja je izgrađena, modules.dep , neće sadržati putanju baziranog direktorijuma . To znači da kada se stablo datoteka pomera iz baziranog direktorijuma / lib / modula u / lib / modul u finalnoj distribuciji, sve referencije će biti tačne.
-C configfile , --config configfile
Koristite datoteku configfile umjesto /etc/modules.conf . Varijabla okruženja MODULECONF se također može koristiti za odabir različite konfiguracione datoteke od podrazumevanih /etc/modules.conf (ili /etc/conf.modules (zastarjela)).
Kada varijable okoline
Postavljen je UNAME_MACHINE , modutils će koristiti svoju vrijednost umjesto polja mašine iz uname () syscall-a. Ovo se uglavnom koristi kada sastavljate 64-bitne module u 32-bitnom korisničkom prostoru ili obrnuto, postavite UNAME_MACHINE na vrstu modula koji se gradi. Trenutni moduli ne podržavaju režim potpunog popuštanja modula, ograničen je na izbor između 32 i 64 bitnih verzija arhitekture domaćina.
-F kernelsyms , --filesyms kernelsyms
Prilikom kreiranja datoteka zavisnosti za različite jezgre od tekućeg kernela, važno je da depmod koristi tačan skup simbola kernela kako bi riješio reference kernela u svakom modulu. Ovi simboli mogu biti kopija System.map-a iz drugog jezgra ili kopija izlaza iz / proc / ksyms . Ako vaš kernel koristi verzionirane simbole, najbolje je koristiti kopiju izlaza / proc / ksyms , jer ta datoteka sadrži verzije simbola simbola kernela. Međutim, možete koristiti System.map čak i sa verifikovanim simbolima.
Konfiguracija
Ponašanje depmoda i modprobe može se prilagoditi (opciono) konfiguracionom datotekom /etc/modules.conf .
Pogledajte kompletan opis modprobe (8) i modules.conf (5).
Strategija
Svaki put kada sastavite novi kernel, naredba " make modules_install " kreira novi direktorijum, ali neće promijeniti podrazumevano.
Kada dobijete modul koji nije povezan sa distribucijom jezgre, trebalo bi ga staviti u jedan od direktorijuma nezavisnih od verzije pod / lib / modulima .
Ovo je podrazumevana strategija, koja se može preklapati u /etc/modules.conf .
Vidi Takođe
Važno: Koristite komandu čovjeka ( % čovjek ) da biste videli kako se na vašem računaru koristi komanda.