Depmod - Linux Command - Unix naredba

Ime

depmod - opisuje ovisnost o rukama za module učitavanja kernela

Sinopsis

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

Opis

Usluge depmod i modprobe namijenjene su da Linux modularni kernel bude upravljiv za sve korisnike, administratore i održivače distribucije.

Depmod stvara datoteku ovisnosti nalik na "Makefile", na temelju simbola koje pronađe u skupu modula navedenih u naredbenom retku ili iz direktorija navedenih u konfiguracijskoj datoteci. Ova datoteka ovisnosti kasnije koristi modprobe kako bi automatski učitao odgovarajući modul ili snop modula.

Uobičajena uporaba depmoda je uključiti liniju


/ sbin / depmod -a

negdje u rc-datotekama u /etc/rc.d , tako da odgovarajuće ovisnosti o modulu budu dostupne odmah nakon dizanja sustava. Imajte na umu da je opcija -a sada opcija. U svrhu dizanja, opcija -q može biti prikladnija jer to čini depmod nečujan o neriješenim simbolima.

Također je moguće stvoriti datoteku ovisnosti odmah nakon sastavljanja novog kernela. Ako izvršite " depmod -a 2.2.99 " kada prvi put sastavite kernel 2.2.99 i njegove module, a još uvijek radi npr. 2.2.98, datoteka će biti stvorena na ispravnom mjestu. U ovom slučaju međutim, ovisnosti o jezgri neće biti zajamčene da su točne. Pogledajte opcije -F , -C i -b iznad kako biste dobili više informacija o tome.

Tijekom izgradnje odnosa između modula i simbola koje izvoze drugi moduli, depmod ne uzima u obzir GPL status modula niti izvezenih simbola. To jest, depmod neće zabilježiti pogrešku ako modul bez licence koja je kompatibilna s GPL-om odnosi samo na simbol GPL (EXPORT_SYMBOL_GPL u kernelu). Međutim, insmod će odbiti riješiti GPL samo simbole za ne-GPL module, tako da stvarni opterećenje neće uspjeti.

Opcije

-a , - svi

Potražite module u svim direktorije navedenim u (opcionalnoj) konfiguracijskoj datoteci /etc/modules.conf .

-A , - brzo

Usporedite vremenske oznake datoteka i, ako je potrebno, ponašajte se kao depmod -a . Ova opcija ažurira datoteku ovisnosti samo ako se nešto promijenilo.

-e , - pogrešaka

Pokažite sve nerazrijeđene simbole za svaki modul.

-h , - pomoć

Prikažite sažetak opcija i odmah izađite.

-n , - show

Napišite datoteku ovisnosti o stdoutu umjesto u stablu / lib / modules .

-q , -quiet

Recimo depmod da šuti i da se ne žali zbog nedostajućih simbola.

-r , - korijen

Neki korisnici sastavljaju module pod nekorisnim useridom, a zatim instaliraju module kao root. Taj proces može ostaviti module u vlasništvu ne-root korisnika, iako je direktorij modula u vlasništvu root-a. Ako je ne-root korisnički identifikator ugrožen, uljez može prebrisati postojeće module u vlasništvu tog korisnika i koristiti ovu izlaganju za podizanje sustava do korijenskog pristupa.

Prema zadanim postavkama, modutils će odbiti pokušaj korištenja modula koji nije u vlasništvu root-a. Određivanje -r će potisnuti pogrešku i dopustiti rootu da učita module koje nisu u vlasništvu root-a.

Korištenje -r je glavna sigurnosna izloženost i nije preporučljiva.

-s , --syslog

Napišite sve poruke o pogreškama putem syslog daemona umjesto stderr.

-u , - neriješena pogreška

depmod 2.4 ne postavlja povratni kôd ako postoje neki neriješeni simboli. Sljedeće veliko oslobađanje moduta (2.5) postavit će povratni kod za neriješene simbole. Neke distribucije žele povratni kôd koji nije nula kod moduta 2,4 ali ta promjena može uzrokovati probleme korisnicima koji očekuju stari ponašanje. Ako želite povratni kôd koji nije nula u depmod 2.4, navedite -u . depmod 2.5 će tiho zanemariti -u zastavicu i uvijek će dati povratni kôd koji nije nula za neriješene simbole.

-v , - opširan

Pokažite naziv svakog modula dok se obrađuju.

-V , --verzija

Prikaz verzije depmoda .

Sljedeće opcije korisne su korisnicima koji upravljaju distribucijama:

-b baziranu mapu , - baziranu bazu podataka

Ako se drvo / lib / moduli s podstavkom modula pomakne na neko drugo mjesto kako bi se obradili moduli za drugačije okruženje, opcija -b opisuje depmod gdje treba pronaći preslikanu sliku stabla / lib / modules . Reference datoteka u depmod izlaznoj datoteci koja je izgrađena, modules.dep , neće sadržavati put baziranog direktorija . To znači da će, kada se stablo datoteka premjestite iz baze podataka / lib / modula u / lib / module u finalnoj distribuciji, sve reference će biti točne.

-C configfile , --config configfile

Koristite configfile datoteke umjesto /etc/modules.conf . Varijabla okruženja MODULECONF se također može koristiti za odabir druge konfiguracijske datoteke od zadanih /etc/modules.conf (ili /etc/conf.modules (zastarjelih)).

Kada se promijeni okolina

UNAME_MACHINE je postavljen, modutils će koristiti vrijednost umjesto polja stroja iz uname () syscall. To se uglavnom koristi prilikom sastavljanja 64-bitnih modula u 32-bitnom korisničkom prostoru ili obratno, postavite UNAME_MACHINE na vrstu modula koji se grade. Trenutačni modutils ne podržavaju puni način križanja modula, ograničen je na odabir između 32 i 64 bitne verzije arhitekture glavnog računala.

-F kernelovi , --filesyms kernelovi

Prilikom izgradnje datoteka ovisnosti o različitim jezgrama od onog koji trenutno radi kernel, važno je da depmod koristi ispravni skup simbola kernela za rješavanje kernelskih referenci u svakom modulu. Ovi simboli mogu biti kopija System.map iz drugog kernela ili kopiju izlaza iz / proc / ksyms . Ako vaše kernel koristi verzirane 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 verziranim simbolima.

Konfiguracija

Ponašanje depmoda i modproba može se podesiti konfiguracijskom datotekom (opcionalno) /etc/modules.conf .
Pogledajte modprobe (8) i modules.conf (5) za potpuni opis.

Strategija

Svaki put kada sastavite novi kernel, naredba " make modules_install " izradit će novi direktorij, ali neće promijeniti zadani.

Kada dobijete modul koji nije povezan s distribucijom kernela, stavite ga u jedan od inačica nezavisnih direktorija pod / lib / modules .

Ovo je zadana strategija, koja se može nadjačati u /etc/modules.conf .

Vidi također

lsmod (8), ksyms (8)

Važno: Upotrijebite naredbu čovjek ( % man ) kako biste vidjeli kako se naredba koristi na vašem računalu.