MODPROBE.D(5) modprobe.d MODPROBE.D(5) NAZWA modprobe.d - katalog konfiguracji modprobe SKLADNIA /etc/modprobe.d/*.conf /run/modprobe.d/*.conf /usr/local/lib/modprobe.d/*.conf /usr/lib/modprobe.d/*.conf /lib/modprobe.d/*.conf OPIS Ze wzgledu na zaleznosci miedzy modulami, polecenie modprobe moze dodawac lub usuwac wiecej niz pojedynczy modul, zatem potrzebna jest metoda podawania opcji, jakie maja byc uzywane z tymi modulami. Mozna w ten sposob takze tworzyc wygodne aliasy: czyli alternatywne nazwy dla modulow lub zupelnie przeslaniac zwykle zachowanie modprobe w przypadku specjalnych wymagan (np. dodawania wiecej niz jednego modulu). Prosze zwrocic uwage, ze nazwy aliasow i modulow (podobnie jak inne nazwy modulow) moga zawierac znaki - lub _: oba mozna stosowac zamiennie we wszystkich poleceniach zwiazanych z modulami, poniewaz konwersja znakow podkreslenia nastepuje automatycznie. FORMAT KONFIGURACJI Pliki konfiguracyjne zawieraja po jednym poleceniu na wiersz, przy czym puste wiersze oraz wiersze zaczynajace sie od ,,#" sa ignorowane (przydatne do dodawania komentarzy). Znak ,,\" na koncu wiersza powoduje, ze nastepny wiersz staje sie kontynuacja poprzedniego, co czyni pliki nieco czytelniejszymi. Wiecej informacji w ponizszym rozdziale POLECENIA. KATALOGI KONFIGURACJI I PIERWSZENSTWO Pliki konfiguracyjne sa odczytywane z katalogow wyszczegolnionych w SKLADNI, w tej kolejnosci. Po zaladowaniu pliku o danej nazwie, pliki o tej samej nazwie z kolejnych katalogow sa ignorowane. Wszystkie pliki konfiguracyjne sa sortowane w kolejnosci leksykograficznej, niezaleznie od katalogu, z jakiego pochodza. Pliki konfiguracyjne moga byc albo zupelnie zastapione (przez nowy plik konfiguracyjny, o tej samej nazwie, w katalogu o wyzszym priorytecie) albo czesciowo zastapione (przez plik konfiguracyjny dalszy w kolejnosci). UWAGA: Katalogi konfiguracyjne mozna zmienic zmienna srodowiskowa MODPROBE_OPTIONS. Wiecej informacji w rozdziale SRODOWISKO w podreczniku modprobe(8). POLECENIA alias wieloznacznik nazwa-modulu Pozwala nadac modulowi alternatywna nazwe. Przykladowo ,,alias moj-mod naprawde-dluga-nazwa-modulu" oznacza, ze mozna uzywac ,,modprobe moj-mod" zamiast ,,modprobe naprawde-dluga-nazwa-modulu". Mozna tez korzystac z wieloznacznikow powloki, zatem ,,alias moj-mod* naprawde-dluga-nazwa-modulu" oznacza, ze ,,modprobe moj-mod-costam" rowniez zadziala. Nie mozna tworzyc aliasow do innych aliasow (to prowadziloby do szalenstwa), ale aliasy moga posiadac opcje, ktore zostana dodane do wszelkich innych opcji. Moduly moga zawierac swoje wlasne aliasy, ktore mozna poznac poleceniem modinfo. Aliasy te sa uzywane w ostatniej kolejnosci (tj. jesli nie ma rzeczywistego modulu o takiej nazwie, ani w konfiguracji nie ma polecenia install, remove lub alias). blacklist nazwa-modulu Moduly moga zawierac swoje wlasne aliasy: zwykle sa to aliasy opisujace obslugiwane urzadzenia, np. ,,pci:123...". Te ,,wewnetrzne" aliasy mozna przeslonic zwyklymi slowami kluczowymi ,,alias", ale niekiedy zdarza sie, ze dwa lub wiecej modulow obsluguje te same urzadzenia albo modul nieprawidlowo zglasza obsluge urzadzenia, ktorego nie obsluguje: slowo kluczowe blacklist wskazuje, ze wszystkie wewnetrzne aliasy danego modulu nalezy zignorowac. install nazwa-modulu polecenie... Polecenie instruuje modprobe, aby uruchomilo podane polecenie zamiast umieszczac modul w jadrze w zwykly sposob. Polecenie to moze byc dowolnym poleceniem powloki: w ten sposob mozna dokonac dowolnie skomplikowanego przetwarzania. Przykladowo, jesli modul ,,fred" dziala lepiej z juz zainstalowanym modulem ,,barney" (ale nie jest od niego zalezny, wiec modprobe nie zaladuje go automatycznie), mozna podac ,,install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred", co da oczekiwany efekt. Prosze odnotowac --ignore-install, ktore powstrzymuje drugi przebieg modprobe od ponownego uruchomienia tego samego polecenia install. Zob. tez remove ponizej. Dlugoterminowa przyszlosc tego polecenia jako rozwiazania problemow z zapewnianiem dodatkowych zaleznosci modulom nie jest pewna; planuje sie jego zastapienie ostrzezeniem o przyszlym usunieciu lub uznaniu za przestarzale w ktoryms z przyszlych wydan. Obecnosc polecenia komplikuje automatyczne okreslanie zaleznosci modulow przez narzedzia dystrybucji takie jak mkinitrd (poniewaz wymaga jakiejs interpretacji tego, co moze robic polecenie install). W idealnym swiecie moduly zapewnialyby wszelkie informacje o zaleznosciach bez niniejszego polecenia i trwaja prace nad implementacja obslugi miekkich zaleznosci w jadrze Linux. Jesli w poleceniu uzyje sie lancucha ,,$CMDLINE_OPTS", zostanie on zastapiony opcjami podanymi w wierszu polecenia modprobe. Moze byc to przydatne, poniewaz uzytkownicy oczekuja, ze ,,modprobe fred opt=1" przekaze argument ,,opt=1" do modulu nawet, jesli w pliku konfiguracyjnym wystepuje polecenie install. Tak wiec powyzszy przyklad przyjmie w ten sposob postac: ,,install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred $CMDLINE_OPTS". options nazwa-modulu opcja... Polecenie to pozwala dodawac opcje do modulu nazwa-modulu (ktore moze byc aliasem) za kazdym razem, gdy zostanie on dodany do jadra: bezposrednio (za pomoca modprobe nazwa-modulu) lub ze wzgledu na zaleznosc innego dodawanego modulu. Wszystkie opcje sa dodawane razem: moga pochodzic z opcji option samego modulu, jego aliasu oraz z wiersza polecenia. remove nazwa-modulu polecenie... Podobne do powyzszego polecenia install, tyle ze wywolywane przy uruchomieniu polecenia ,,modprobe -r". softdep nazwa-modulu pre: moduly... post: moduly... Polecenie softdep pozwala zdefiniowac zaleznosci miekkie (opcjonalne). Modul nazwa-modulu moze byc uzywany bez instalacji tych opcjonalnych modulow, ale zwykle nie bedzie wowczas w pelni funkcjonalny. Na przyklad sterownik adaptera HBA moze wymagac zaladowania innego modulu, aby korzystac z funkcji zarzadzania przestrzenia dyskowa. Po pre i post nastepuja listy nazw i/lub aliasow innych modulow, ktore modprobe sprobuje zainstalowac (lub usunac), w zadanej kolejnosci, przed (pre) i po (post) glownym module podanym w argumencie nazwa-modulu. Przyklad: W konfiguracji zapisano polecenie ,,softdep c pre: a b post: d e". Uruchomienie ,,modprobe c" staje sie teraz rownowazne ,,modprobe a b c d e" bez softdep. Opcje takie jak --use-blacklist sa stosowane do wszystkich podanych modulow, natomiast parametry modulow - tylko do modulu c. Uwaga: jesli z tym samym argumentem nazwa-modulu wystepuja tez polecenia install lub remove, softdep ma pierwszenstwo. weakdep nazwa-modulu moduly... Polecenie weakdep pozwala na zdefiniowanie slabych zaleznosci modulow. Sa podobne do zaleznosci miekkich typu pre z ta roznica, ze przestrzen uzytkownika nie probuje zaladowac tej zaleznosci przed podanym modulem. Jadro moze zazadac jednego lub kilku z nich w trakcie sondowania modulu, w zaleznosci od przypisan sprzetowych. Przeznaczeniem zaleznosci slabych jest mozliwosc zdefiniowania przez sterownik, ze okreslona zaleznosc moze byc potrzebna, zatem powinna byc obecna w systemie plikow (np. w initramfs) gdy modul jest sondowany. Przyklad: Zdefiniowano ,,weakdep c a b". Program tworzacy initramfs wie o tym, ze powinien dodac a, b i c do systemu plikow, poniewaz a i b moga byc wymagane/oczekiwane w trakcie rozruchu. Gdy c jest ladowany i sondowany, moze wywolac request_module(), powodujac zaladowanie rowniez a lub b. ZGODNOSC Przyszla wersja kmod bedzie zawierala wyrazne ostrzezenie o koniecznosci unikania korzystania z install, jak wyjasniono powyzej. Stanie sie tak po ukonczeniu pelnej obslugi zaleznosci miekkich w jadrze. W ramach tego, istniejaca obsluga za posrednictwem niniejszego narzedzia zostanie uzupelniona przez zapewnianie takich zaleznosci bezposrednio z modulow. PRAWA AUTORSKIE Pierwotne autorstwo niniejszego podrecznika systemowego: Copyright 2004, Rusty Russell, IBM Corporation. ZOBACZ TAKZE modprobe(8), modules.dep(5) USTERKI Zgloszen bledow prosimy dokonywac w systemie sledzenia bledow pod adresem https://github.com/kmod-project/kmod/issues/, wraz z informacja o wersji programu, krokach potrzebnych do odtworzenia problemu oraz oczekiwanym rezultacie. AUTORZY Wielu wspolautorow pochodzi z listy dyskusyjnej linux-modules pod adresem oraz z Githuba. Majac sklonowane repozytorium kmod.git, wynik polecenia git-shortlog(1) i git-blame(1) ukaze autorow danej czesci projektu. Projektem opiekuje sie aktualnie Lucas De Marchi . TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . kmod 28 marca 2025 r. MODPROBE.D(5)