Modprobe - comandă Linux - comandă Unix

NUME

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

REZUMAT

Modul modprobe [-adnqv] [-Cconfigurare] [simbol = valoare ...]
modprobe [-adnqv] [-Cconfigurare] [-t tip ] model
modprobe-l [ -Cconfigurare ] [-t tip ] model
modprobe -c [-C config ]
modprobe -r [-dnv] [-Cconfigurare] [modul ...]
modprobe -Vh

OPȚIUNI

-a , - toate

Încărcați toate modulele de potrivire în loc să opriți după prima încărcare reușită.

-c , --showconfig

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

-C , --config config

Utilizați config-ul de fișiere în loc de (opțional) /etc/modules.conf pentru a specifica configurația. Variabila de mediu MODULECONF poate fi, de asemenea, utilizată pentru a selecta (și suprascrie) un alt fișier de configurare din /etc/modules.conf (sau /etc/conf.modules (deprecated)).

Când variabila de mediu UNAME_MACHINE este setată, modutils va folosi valoarea sa în locul câmpului mașinii din sistemul sonycount (). 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, setați UNAME_MACHINE la tipul de module. Modulele actuale nu acceptă modul de încrucișare completă pentru module, ci se limitează la a alege între 32 și 64 de biți versiuni ale arhitecturii gazdă.

-d , --debug

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

-h , --help

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

-k , --autoclean

Setați "autoclean" pe modulele încărcate. Utilizat de kernel atunci când solicită modprobe pentru a satisface o caracteristică lipsă (furnizată ca modul). Opțiunea -q este sugerată de -k . Aceste opțiuni vor fi trimise automat la insmod .

-l , - lista

Lista modulelor de potrivire.

-n , - arată

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

-q , - calm

Nu vă plângeți de insmod că nu ați instalat 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ă în mod automat la insmod .

-r , - retrage

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 în mod automat la insmod .

-type de modul ; - tip de modul de tip

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

-v , --verbose

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

-V, --versiune

Afișați versiunea modprobe .

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 al modulului pentru modprobe , /lib/modules/2.2.19/net/slip și slip.o sunt invalide. Aceasta se aplică liniei de comandă și intrărilor din config.

DESCRIERE

Instrumentele modprobe și depmod sunt destinate să facă un kernel modular Linux mai ușor de administrat pentru toți utilizatorii, administratorii și administratorii de distribuție.

Modprobe utilizează un fișier de dependență asemănător "Makefile", creat de depmod , pentru a încărca automat modulele relevante din setul de module disponibile în arborii de directoare predefiniți.

Modprobe este folosit 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 module.dep file dependency. 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 se 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ă.
Alt mod modrobe poate fi folosit pentru a încărca toate modulele dintr-o listă. Consultați EXAMPLELE , de mai jos.

Cu opțiunea -r , modprobe va descărca automat un teanc de module, similar cu modul " rmmod -r ". Rețineți că folosirea doar a " modprobe -r " va curăța modulele autoloaded neutilizate și va executa comenzile pre- și post-remove în fișierul de configurare /etc/modules.conf .

Combinând opțiunile -l și -t listează toate modulele disponibile dintr-un anumit tip.

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

CONFIGURARE

Comportamentul modprobe (și depmod ) poate fi modificat de 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ă utilizată de depmod și modprobe , consultați modules.conf (5).

Rețineți că comenzile înainte și după eliminare nu vor fi executate 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 înainte și după instalare, va trebui să dezactivați autocleanul pentru kerneld și să puneți în schimb ceva asemănător cu următoarea linie în crontab (aceasta este folosită și pentru sistemele kmod) pentru a face autoclean la fiecare 2 minute :

* / 2 * * * * test -f / proc / module && / sbin / modprobe -r

STRATEGIE

Ideea este că modprobe va arăta mai întâi în directorul care conține modulele compilate pentru versiunea actuală a kernel-ului. Dacă modulul nu este găsit acolo, modprobe va arăta în directorul comun pentru versiunea kernel (ex. 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 " make 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 în / 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șierul modules.dep creat automat de depmod .

modprobe-r alunecare

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

VEZI SI

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

MOD DE SIGURANȚĂ

Dacă uidul efectiv nu este egal cu uid real, atunci modprobe îi tratează intrarea 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 doar parametri valabili 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 setează automat modul sigur în cazul în care mediul constă doar din 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.

LOGGING COMMANDS

Dacă directorul / var / log / ksymoops există și dacă modprobe rulează cu o opțiune care ar putea încărca sau șterge un modul, atunci modprobe va înregistra comanda și starea de returnare î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 script insmod_ksymoops_clean în fiecare zi sau cam asa ceva.

UTILITĂȚILE NECESARE

depmod (8), insmod (8).

Important: Utilizați comanda om ( % man ) pentru a vedea cum se utilizează o comandă pe computerul dvs. particular.