MODPROBE.D(5) modprobe.d MODPROBE.D(5)

modprobe.d - directorul de configurare pentru modprobe

/etc/modprobe.d/*.conf

/run/modprobe.d/*.conf

/usr/local/lib/modprobe.d/*.conf

/usr/lib/modprobe.d/*.conf

/lib/modprobe.d/*.conf

Deoarece comanda modprobe poate adăuga sau elimina mai mult de un modul, datorită faptului că modulele au dependențe, avem nevoie de o metodă de specificare a opțiunilor care trebuie utilizate cu acele module. De asemenea, le putem utiliza pentru a crea nume-alias convenabile: nume alternative pentru un modul, sau pot înlocui comportamentul normal al comenzii modprobe pentru cei cu cerințe speciale (cum ar fi inserarea mai multor module).

Rețineți că numele modulelor și ale numelor-alias (precum alte nume de module) pot avea „-” sau „_” în ele: ambele sunt interschimbabile în toate comenzile modulelor, deoarece conversia semnelor de subliniere are loc automat.

Fișierele de configurare conțin câte o comandă pe linie, liniile goale și liniile care încep cu „#” fiind ignorate (util pentru adăugarea de comentarii). Un „\” la sfârșitul unei linii face ca aceasta să continue pe linia următoare, ceea ce face fișierele puțin mai ordonate.

Consultați secțiunea COMENZI de mai jos pentru mai multe informații.

Fișierele de configurare sunt citite din directoarele enumerate în SINOPSIS în această ordine de prioritate. Odată ce un fișier cu numele de fișier dat este încărcat, orice fișier cu același nume din directoarele următoare este ignorat.

Toate fișierele de configurare sunt sortate în ordine lexicografică, indiferent de directorul în care se află . Fișierele de configurare pot fi fie complet înlocuite (prin a avea un nou fișier de configurare cu același nume într-un director cu prioritate mai mare), fie parțial înlocuite (prin a avea un fișier de configurare care este ordonat ulterior).

NOTĂ: Directoarele de configurare pot fi modificate prin intermediul variabilei de mediu MODPROBE_OPTIONS. A se vedea secțiunea MEDIU din modprobe(8).

alias caracter-Joker nume-modul

Acest lucru vă permite să dați nume alternative pentru un modul. De exemplu: „alias my-mod really_long_modulename” înseamnă că puteți utiliza «modprobe my-mod» în loc de «modprobe really_long_modulename». De asemenea, puteți utiliza caractere-joker de tip shell, astfel încât „alias my-mod* really_long_modulename” înseamnă că «modprobe my-mod-ceva» are același efect. Nu puteți avea nume-alias către alte nume-alias (aceasta este o nebunie), dar numele-alias pot avea opțiuni, care vor fi adăugate la orice alte opțiuni.

Rețineți că modulele pot conține, de asemenea, propriile lor nume-alias pe care le puteți vedea utilizând modinfo. Aceste nume-alias sunt utilizate în ultimă instanță (adică dacă nu există un modul real, comanda install, remove sau alias în configurare).

blacklist nume-modul

Modulele pot conține propriile lor nume-alias: de obicei, acestea sunt nume-alias care descriu dispozitivele pe care le administrează, cum ar fi „pci:123...”. Aceste nume-alias „interne” pot fi anulate prin cuvintele-cheie normale „alias”, dar există cazuri în care două sau mai multe module administrează aceleași dispozitive sau un modul pretinde în mod eronat că administrează un dispozitiv pe care nu îl administrează: cuvântul-cheie blacklist indică faptul că toate numele-alias interne ale respectivului modul trebuie ignorate.

install nume-modul comanda...

Această comandă instruiește modprobe să execute comanda dvs. în loc să insereze modulul în nucleu în mod normal. Comanda poate fi orice comandă shell: acest lucru vă permite să efectuați orice fel de procesare complexă doriți. De exemplu, dacă modulul „fred” funcționează mai bine cu modulul „barney” deja instalat (dar nu depinde de acesta, deci modprobe nu îl va încărca automat), ați putea spune «install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred», care ar face ceea ce doriți. Observați --ignore-install, care împiedică al doilea modprobe să ruleze din nou aceeași comandă install. Vedeți și comanda remove de mai jos.

Viitorul pe termen lung al acestei comenzi ca soluție la problema furnizării de dependențe de module suplimentare nu este asigurat și se intenționează înlocuirea acestei comenzi cu un avertisment cu privire la eventuala sa eliminare sau depreciere la un moment dat într-o versiune viitoare. Utilizarea sa complică determinarea automată a dependențelor modulelor de către instrumentele de distribuție, cum ar fi «mkinitrd» (deoarece acestea trebuie acum să interpreteze cumva ceea ce ar putea face comenzile install. Într-o lume perfectă, modulele ar furniza toate informațiile de dependență fără utilizarea acestei comenzi și se lucrează în prezent la implementarea suportului de dependențe „soft” (opționale) în cadrul nucleului Linux.

Dacă utilizați șirul „$CMDLINE_OPTS” în comandă, acesta va fi înlocuit de orice opțiuni specificate în linia de comandă modprobe. Acest lucru poate fi util deoarece utilizatorii se așteaptă ca «modprobe fred opt=1» să transmită modulului argumentul „opt=1”, chiar dacă există o comandă install în fișierul de configurare. Astfel, exemplul nostru de mai sus devine «install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred $CMDLINE_OPTS».

options nume-modul opțiune...

Această comandă vă permite să adăugați opțiuni la modulul nume-modul (care poate fi un alias) de fiecare dată când acesta este introdus în nucleu: fie direct (utilizând «modprobe nume-modul»), fie pentru că modulul introdus depinde de acest modul.

Toate opțiunile sunt adăugate împreună: ele pot proveni de la o intrare option pentru modulul în sine, pentru un alias și din linia de comandă.

remove nume-modul comanda...

Aceasta este similară cu comanda install de mai sus, cu excepția faptului că este invocată atunci când se execută «modprobe -r».

softdep nume-modul pre: module... post: module...

Comanda softdep vă permite să specificați dependențele modulelor „soft”, sau opționale. nume-modul poate fi utilizat fără aceste module opționale instalate, dar de obicei cu unele caracteristici lipsă. De exemplu, un controlor pentru un HBA de stocare poate necesita încărcarea unui alt modul pentru a utiliza caracteristicile de gestionare.

modulele pre-deps și post-deps sunt liste de nume și/sau nume-alias ale altor module pe care «modprobe» va încerca să le instaleze (sau să le elimine) în ordine înainte și după modulul principal dat în argumentul nume-modul.

Exemplu: Să presupunem că „softdep c pre: a b post: d e” este prevăzut în configurare. Executarea «modprobe c» este acum echivalentă cu «modprobe a b c d e» fără softdep. Opțiunile precum „--use-blacklist” sunt aplicate tuturor modulelor specificate, în timp ce parametrii modulului se aplică numai modulului c.

Notă: dacă există comenzi install sau remove cu același argument nume-modul, softdep are întâietate.

weakdep nume-modul module...

Comanda weakdep vă permite să specificați dependențe slabe de modul. Acestea sunt similare cu pre softdep, cu diferența că spațiul utilizatorilor nu încearcă să încarce acea dependență înaintea modulului specificat. În schimb, nucleul poate solicita una sau mai multe dintre acestea în timpul testării modulului, în funcție de hardware-ul la care este asociat. Scopul modulului weak este de a permite unui controlor să specifice că o anumită dependență poate fi necesară, astfel încât aceasta să fie prezentă în sistemul de fișiere (de exemplu, în initramfs) atunci când modulul respectiv este testat.

Exemplu: Să presupunem „weakdep c a b”. Un program care creează un initramfs știe că ar trebui să adauge a, b și c la sistemul de fișiere, deoarece a și b pot fi necesare/dorite la momentul rulării. Atunci când c este încărcat și este testat, acesta poate efectua apeluri la request_module(), determinând încărcarea lui a sau b.

O versiune viitoare a «kmod» va veni cu un avertisment puternic pentru a evita utilizarea install așa cum s-a explicat mai sus. Acest lucru se va întâmpla odată ce suportul pentru dependențele soft în nucleu va fi complet. Acest suport va completa suportul softdep existent în cadrul acestui instrument, oferind astfel de dependențe direct în cadrul modulelor.

Această pagină de manual a fost inițial publicată cu drepturi de autor 2004, Rusty Russell, IBM Corporation.

modprobe(8), modules.dep(5)

Numeroase contribuții au venit de pe lista de discuții linux-modules <linux-modules@vger.kernel.org> și din Github. Dacă aveți o clonă de kmod.git în sine, ieșirea din git-shortlog(1) și git-blame(1) vă poate arăta autorii pentru anumite părți ale proiectului.

Lucas De Marchi <lucas.de.marchi@gmail.com> este responsabilul actual al proiectului.

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

26 august 2024 kmod