Skip to main content

Totul despre comanda Linux / Unix: modprobe

sudo command not found fix in Linux (Debian 9 GNU/Linux ) (Iunie 2026)

sudo command not found fix in Linux (Debian 9 GNU/Linux ) (Iunie 2026)
Anonim

Nume

modprobe - manipulare la nivel înalt a modulelor încărcabile

Rezumat

modprobe -adnqv -C config modul simbol = valoare …modprobe -adnqv -C config -t tip modelmodprobe -l -C config -t tip modelmodprobe -c -C config modprobe -r -dnv -C config modulul …modprobe -Vh

Opțiuni

-A, --toate

Sarcinătoate potrivirea modulelor în loc de oprire după prima încărcare de succes.

-c, --showconfig

Afișați configurația curentă utilizată.

-C, --config config

Utilizați fișierul config în loc de (opțional) /etc/modules.conf pentru a specifica configurația. Variabila de mediuMODULECONF poate fi de asemenea folosit pentru a selecta (și suprascrie) un alt fișier de configurare din /etc/modules.conf (sau /etc/conf.modules (Învechită)).

Când variabila de mediuUNAME_MACHINE este setat, modutils va folosi valoarea sa în locul câmpului mașinii din syscall uname (). Acest lucru este în principal de utilizare atunci când se compilează module de 64 biți în 32 de biți spațiu de utilizator sau invers, setUNAME_MACHINE la tipul de module. Modulele actuale nu acceptă modul de încrucișare completă pentru module, este limitat la alegerea între 32 și 64 de biți ale arhitecturii gazdă.

-d, --debug

Afișați informații despre reprezentarea internă a pachetului de module.

-h, --Ajutor

Afișați un rezumat al opțiunilor și ieșiți imediat.

-k, --Auto curatare

Setați "autoclean" pe modulele încărcate. Folosit de kernel când se solicitămodprobe pentru a satisface o caracteristică lipsă (furnizată ca un modul).-q opțiunea este implicită-k. Aceste opțiuni vor fi trimise automat lainsmod.

-l, --listă

Lista modulelor de potrivire.

-N, --spectacol

Nu efectuați efectiv acțiunea, arătați ce ar fi făcut.

-q, --Liniște

Nu vă plângețiinsmod dacă nu instalați un modul. Continuați ca în mod normal, dar în tăcere, cu alte posibilități de a testa modprobe. Această opțiune va fi trimisă automat lainsmod.

-r, --elimina

Eliminați modulul (stive) sau faceți autoclean, în funcție de existența unor module menționate pe linia de comandă.

-s, --syslog

Raportați prin syslog în loc de stderr. Aceste opțiuni vor fi trimise automat lainsmod.

-t moduletype ; --tip moduletype

Luați în considerare doar modulele de acest tip. modprobe se va uita numai la module ale căror cale director include exact " / Moduletype / '. moduletype pot include mai mult de un nume de director, de ex. "-t drivere / net "ar lista modulele în xxx / drivere / net / și subdirectoarele sale.

-v, --verbose

Imprimați toate comenzile în timp ce acestea sunt executate.

-V, --versiune

Afișați versiuneamodprobe.

Notă:

Numele de module nu trebuie să conțină căi (nu '/') și nici să conțină următoarea '.o'. De exemplu, alunecarea este un nume valid pentru modulmodprobe, /lib/modules/2.2.19/net/slip și slip.o sunt nevalide. Aceasta se aplică liniei de comandă și intrărilor din config.

Descrierea comenzii

modprobe șidepmod utilitățile sunt destinate să facă un kernel modular Linux mai ușor de gestionat pentru toți utilizatorii, administratorii și întreținătorii de distribuție.

modprobe folosește un fișier de dependență "Makefile", creat dedepmod, pentru a încărca automat modulul (modulele) relevant (e) din setul de module disponibile în arborii de directoare predefiniți.

modprobe este utilizat pentru a încărca un singur modul, un teanc de module dependente sau toate modulele care sunt marcate cu o etichetă specificată.

modprobe va încărca automat toate modulele de bază necesare într-un stack de module, așa cum este descris de fișierul de dependență modules.dep . Dacă încărcarea unuia dintre aceste module nu reușește, întregul set de module încărcate în sesiunea curentă va fi descărcat automat.

modprobe are două moduri de încărcare a modulelor. Un mod (modul sonde) va încerca să încarce un modul dintr - o listă (definită de model ). modprobe oprește încărcarea imediat ce un modul se încarcă cu succes. Acest lucru ar putea fi folosit pentru a autolozi un driver Ethernet dintr-o listă. Cealalta calemodprobe poate fi folosit pentru a încărcatoate module dintr-o listă. VedeaEXEMPLE, de mai jos.

Cu opțiunea-r, modprobe va descărca automat un set de module, similar cu modul "rmmod -r"nu.modprobe -r"va curata modulele autoloaded neutilizate și va executa comenzile pre- și post-remove în fișierul de configurare /etc/modules.conf .

Combinarea opțiunilor-l și-t afișează toate modulele disponibile dintr-un anumit tip.

Opțiune-c va imprima configurația curentă utilizată (fișierul de configurare implicit +).

configurație

Comportamentulmodprobe (șidepmod) pot fi modificate prin fișierul de configurare (opțional) /etc/modules.conf . Pentru o descriere mai detaliată a ceea ce poate conține acest fișier, precum și configurația implicită folosită dedepmod șimodprobe, vedeamodules.conf(5).

Rețineți că comenzile înainte și după eliminare vornu să fie executat dacă un modul este "autocleaned" de kerneld! Căutați în schimb suportul ulterior pentru stocarea modulului persistent. Dacă doriți să utilizați funcțiile pre și post-instalare, va trebui să dezactivați autoclean pentru kerneld și să puneți ceva în felul următorcrontab (acest lucru este folosit și pentru sistemele kmod) pentru a face autoclean la fiecare 2 minute: * / 2 * * * * test -f / proc / modules && / sbin / modprobe -r

Strategie

Ideea este astamodprobe va arăta mai întâi în directorul care conține modulele compilate pentru versiunea curentă a kernel-ului. Dacă modulul nu este găsit acolo,modprobe va arăta în directorul comun pentru versiunea kernelului (de exemplu, 2.0, 2.2). Dacă modulul este încă găsit,modprobe va arăta în directorul care conține modulele pentru o versiune prestabilită și așa mai departe.

Când instalați un nou linux, modulele ar trebui mutate într-un director legat de lansarea (și versiunea) nucleului pe care îl instalați. Apoi ar trebui să faceți o legătură simbolică din acest director în directorul "implicit".

De fiecare dată când compilați un nou kernel, comanda "face modules_install"va crea un nou director, dar nu va schimba linkul" implicit ".

Când obțineți un modul care nu are legătură cu distribuția kernel-ului, trebuie să-l plasați într-unul din directoarele independente de versiune / lib / modules .

Aceasta este strategia implicită, care poate fi înlocuită în /etc/modules.conf .

Exemple

modprobe -t net

Încărcați unul dintre modulele stocate în directorul "net". Fiecare modul este încercat până când unul reușește.

modprobe -a-t boot

Toate modulele care sunt stocate în directoare etichetate "boot" vor fi încărcate.

modprobe alunecare

Aceasta va încerca să încarce modulul slhc.o dacă nu a fost încărcat anterior, deoarece modulul de alunecare are nevoie de funcționalitatea modulului slhc. Această dependență va fi descrisă în fișier modules.dep care a fost creat automat de cătredepmod.

modprobe-r alunecare

Aceasta va descărca modulul de alunecare. De asemenea, va descărca modulul slhc automat, cu excepția cazului în care este utilizat și de un alt modul (de exemplu, ppp).

Vezi si:

depmod (8),lsmod(8), kerneld(8), ksyms(8), rmmod(8).

Modul sigur

Dacă uidul efectiv nu este egal cu uidul real atuncimodprobe tratează contribuția sa cu suspiciune extremă. Ultimul parametru este tratat întotdeauna ca nume de modul, chiar dacă începe cu '-'. Nu poate exista decât un nume de modul și sunt interzise opțiunile formularului "variable = value". Numele modulului este întotdeauna tratat ca un șir, în modul sigur nu se efectuează extensia meta. Cu toate acestea, extensia meta este încă aplicată datelor citite din fișierul de configurare.

euid nu poate fi egal cu uid atunci când modprobe este invocat din kernel, acest lucru este valabil pentru kernels> = 2.4.0-test11. Într-o lume ideală,modprobe ar putea avea încredere în kernelul de a transmite numai parametrii valabili pentru modprobe. Cu toate acestea, cel puțin un exploit rădăcină locală a apărut, deoarece codul kernel la nivel înalt a trecut parametrii neconfirmați direct de la utilizator la modprobe. Deci, modprobe nu mai are încredere în introducerea nucleului.

modprobe stabilește automat modul sigur în cazul în care mediul constă numai în aceste șiruri de caractere

HOME = / TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin

Aceasta detectează execuția modprobe de la kernel-ul kernel-ului 2.2 deși 2.4.0-test11, chiar dacă uid == euid, pe care îl face pe kernelurile anterioare.

Comenzi de logare

În cazul în care directorul / var / log / ksymoops există șimodprobe se execută cu o opțiune care ar putea încărca sau șterge un modul, apoi modprobe va înregistra comanda și returnează starea în / var / log / ksymoops / `data +% Y% m% d.log` . Nu există comutator pentru a dezactiva această logare automată, dacă nu doriți să apară, nu creați / var / log / ksymoops . Dacă acest director există, ar trebui să fie deținut de root și să fie modul 644 sau 600 și ar trebui să rulați scriptulinsmod_ksymoops_clean în fiecare zi sau cam asa ceva.

Nevoi necesare

depmod(8), insmod(8).

Important: Folosește om comandă ( % om ) pentru a vedea cum se utilizează o comandă pe computerul dvs. particular.