MODPROBE(8)

NAZWA

modprobe - dodaje i usuwa moduły z jądra Linux

SKŁADNIA

modprobe [-v] [-V] [-C plik-konfiguracyjny] [-n] [-i] [-q] [-b] [nazwa-modułu]
         [moduł parametry...]

modprobe [-r] [-v] [-n] [-i] [nazwa-modułu...]

modprobe [-c]

modprobe [--dump-modversions] [nazwa-pliku]

OPIS

modprobe dodaje i usuwa moduły z jądra Linux w sposób inteligentny: proszę zauważyć, że dla wygody nie rozróżnia się _ i - w nazwach modułów (przeprowadzana jest automatyczna konwersja znaków podkreślenia). modprobe szuka wszystkich modułów i innych plików w katalogu modułów /usr/lib/`uname -r`, z wyjątkiem opcjonalnych plików konfiguracyjnych (zob. modprobe.d(5)). modprobe użyje również opcji modułu podanych w wierszu polecenia jądra w postaci <moduł>.<opcja> i czarnych list w postaci modprobe.blacklist=<moduł>.

Proszę zauważyć, że w przeciwieństwie do jąder Linux z gałęzi 2.4 (które nie są obsługiwane przez to narzędzie) ta wersja modprobe nic nie wykonuje na samych modułach: interpretowanie symboli i obsługa parametrów jest wykonywana wewnątrz jądra. W związku z tym, błędom modułów towarzyszą niekiedy komunikaty jądra: patrz dmesg(8).

modprobe oczekuje obecności zaktualizowanego pliku modules.dep.bin utworzonego przez powiązane narzędzie depmod, dystrybuowane razem z modprobe (patrz depmod(8)). Dla każdego modułu plik ten posiada spis innych modułów jakich (jeśli jest taka potrzeba) wymaga dany moduł, a modprobe używa jej do automatycznego dodawania lub usuwania tych zależności.

Jeśli po nazwie-modułu podano argumenty, są one przekazywane jądru (oprócz ewentualnych opcji umieszczonych w pliku konfiguracyjnym).

Przy ładowaniu modułów, nazwa-modułu może być również ścieżką do modułu. Jeśli ścieżka jest względna, musi się zaczynać od "./". Proszę zauważyć, że ten sposób może nie zadziałać, gdy ścieżka prowadzi do modułu z zależnościami niewystępującymi w zainstalowanej bazie danych depmod.

OPCJE

-a, --all
    Ładuje wszystkie moduły podane w wierszu polecenia.

-b, --use-blacklist
    Opcja powoduje zastosowanie przez modprobe poleceń blacklist z plików konfiguracyjnych (jeśli występują) także do nazw modułów. Jest ona używana z reguły przez udev(7).

-C katalog, --config=katalog
    Opcja przesłania domyślny katalog konfiguracyjny. Zob. modprobe.d(5).

    Poprzez opcje install i remove, opcja jest podawana innym poleceniom modprobe w zmiennej środowiskowej MODPROBE_OPTIONS.

-c, --showconfig
    Zrzuca efektywną konfigurację z katalogu konfiguracyjnego i wychodzi.

--dump-modversions
    Wypisuje listę informacji o wersjach modułów wymaganych przez moduł. Opcja jest używana przeważnie przez dystrybucje, aby spakietować moduł jądra Linux, używając zależności uwzględniających wersje modułu.

-d, --dirname
    Główny katalog dla modułów, domyślnie "/".

--first-time
    modprobe zwykle kończy pracę pomyślnie (nic nie robiąc) jeśli poleci się mu załadować moduł, który jest już obecny lub usunąć moduł, który nie jest obecny. To dobre rozwiązanie do prostych skryptów, jednak bardziej skomplikowane chcą się często dowiedzieć, czy modprobe tak naprawdę coś zrobił: ta opcja powoduje, że modprobe kończy pracę z niepowodzeniem, jeśli program faktycznie nic nie wykonuje.

--force-vermagic
    Każdy moduł zawiera niewielki łańcuch z ważnymi informacjami obejmującymi np. wersje jądra i kompilatora. Jeśli nie uda się załadować modułu, a jądro poinformuje że "version magic" nie pasuje, można użyć tej opcji do usunięcia go. Oczywiście to sprawdzenie odbywa się dla ochrony użytkownika, więc użycie niniejszej opcji jest niebezpieczne, chyba że jest się pewnym tego, co się robi.

    Opcja odnosi się do wszystkich załadowanych modułów: zarówno modułu (lub aliasu) z wiersza polecenia, jak i do modułów od których jest on zależny.

--force-modversion
    Jeśli moduły są skompilowane z ustawieniem CONFIG_MODVERSIONS, tworzona jest sekcja nt. szczegółów wersji każdego modułu użytego przez (lub udostępnianego) przez dany moduł. Jeśli nie powiedzie się załadowanie modułu, a jądro poinformuje że nie zgadza się wersja któregoś z modułu będącego interfejsem, można użyć --force-modversion, aby usunąć również informację o wersji. Oczywiście to sprawdzenie odbywa się dla ochrony użytkownika, więc użycie niniejszej opcji jest niebezpieczne, chyba że jest się pewnym tego, co się robi.

    Opcja odnosi się do wszystkich załadowanych modułów: zarówno modułu (lub aliasu) z wiersza polecenia, jak i do modułów od których jest on zależny.

-f, --force
    Próbuje wyciąć z modułu wszystkie informacje o wersji, które mogą spowodować jego niepomyślne załadowanie: jest to odpowiednik użycia obu opcji --force-vermagic i --force-modversion. Oczywiście to sprawdzenie odbywa się dla ochrony użytkownika, więc użycie niniejszej opcji jest niebezpieczne, chyba że jest się pewnym tego, co się robi.

    Opcja odnosi się do wszystkich załadowanych modułów: zarówno modułu (lub aliasu) z wiersza polecenia, jak i do modułów od których jest on zależny.

-i, --ignore-install, --ignore-remove
    Opcja powoduje ignorowanie przez modprobe poleceń install i remove w pliku konfiguracyjnym (jeśli istnieje), do modułu podanego w wierszu polecenia (wszystkie zależne moduły będą wciąż miały ustawiane polecenia je dotyczące z pliku konfiguracyjnego). Oba polecenia install i remove będą obecnie ignorowane gdy użyta jest ta opcja, niezależnie czy żądanie dotyczyło tylko jednego (a nie obu) z --ignore-install i --ignore-remove. Patrz modprobe.d(5).

-n, --dry-run, --show
    Opcja wykonuje wszystko poza rzeczywistym załadowaniem lub usunięciem modułu (lub wykonaniu poleceń install lub remove). W połączeniu z -v jest przydatna do debugowania problemów. Z powodów historycznych zarówno --dry-run i --show oznaczają to samo i mogą być stosowane wymiennie.

-q, --quiet
    Z tą opcją modprobe nie będzie wypisywało informacji o błędzie, gdy będzie się próbowało załadować moduł, którego nie można znaleźć (i nie jest aliasem lub poleceniem install/remove). Program będzie mógł wciąż zwracać niezerowy kod zakończenia. Jądro używa tej opcji do wypróbowania modułów, które mogą potencjalnie istnieć, przy użyciu request_module.

-R, --resolve-alias
    Wypisuje wszystkie nazwy modułów pasujące do aliasu. Może być przydatne do debugowania problemów z aliasem modułu.

-r, --remove
    Opcja powoduje usunięcie modułu przez modprobe, zamiast załadowania go. Jeśli moduły, od których on zależy są również nieużywane, modprobe także spróbuje je usunąć. W przeciwieństwie do ładowania modułów, można podać kilka modułów w wierszu polecenia (nie ma sensu podawać parametrów modułu podczas usuwania go).

    Z reguły nie ma powodu aby usuwać moduły, ale część błędnych modułów może tego wymagać. Jądro dystrybucyjne może w ogóle nie być zbudowane z obsługą usuwania modułów.

-w czas-w-milisekundach, --wait=czas-w-milisekundach
    Opcja powoduje, że modprobe -r będzie ponawiał próby usunięcia modułu, które zawodzą ze względu na zajętość modułu (tzn. jeśli jego refcount nie wynosi 0 w momencie wywołania). Próby podejmowane przez modprobe będą się powtarzać z coraz dłuższą przerwą, aż do maksymalnego czasu oczekiwania w milisekundach, określonego niniejszą opcją.

-S wersja, --set-version=wersja
    Ustawia wersję jądra, zamiast używania uname(2) do decydowania o niej (decyduje o miejscu szukania modułów).

--show-depends
    Wypisuje zależności modułu (lub aliasu) włącznie z samym modułem. Wynikiem jest (być może pusty) zestaw nazw plików modułów, po jednym w wierszu, zaczynających się "insmod", który jest z reguły używany przez dystrybucje do określenia które moduły włączyć do generowanych obrazów initrd/initramfs. Stosowane polecenie install jest poprzedzone przez "install". Opcja nie wykonuje żadnego z poleceń instalacji. Proszę zauważyć, że modinfo(8) może zostać użyte do pozyskania zależności modułu z samego modułu, ale nie wie nic o aliasach ani poleceniach instalacji.

-s, --syslog
    Opcja powoduje, że wszystkie komunikaty o błędach przesyłane są przez mechanizm syslog (jak LOG_DAEMON z poziomem LOG_NOTICE), zamiast na standardowe wyjście błędów. Włącza się również automatycznie, gdy stderr jest niedostępne.

    Poprzez opcje install i remove, opcja jest podawana innym poleceniom modprobe w zmiennej środowiskowej MODPROBE_OPTIONS.

-V, --version
    Wyświetla informacje o wersji i kończy działanie.

-v, --verbose
    Wypisuje informacje o czynnościach wykonywanych przez program. modprobe wypisuje zwykle komunikaty jedynie, gdy występują jakieś problemy.

    Poprzez opcje install i remove, opcja jest podawana innym poleceniom modprobe w zmiennej środowiskowej MODPROBE_OPTIONS.

ŚRODOWISKO

Do przekazania argumentów do modprobe można użyć również zmiennej środowiskowej MODPROBE_OPTIONS. Jej format jest celowo nieudokumentowany, ponieważ nie zaleca się korzystania z niej przez zewnętrzne narzędzia i skrypty.

Zmienna środowiskowa wywodzi się od implementacji reguł instalacyjnych.

PRAWA AUTORSKIE

Pierwotnie: Copyright 2002, Rusty Russell, IBM Corporation.

ZOBACZ TAKŻE

modprobe.d(5), insmod(8), rmmod(8), lsmod(8), modinfo(8), depmod(8)

USTERKI

Zgłoszeń błędów prosimy dokonywać w systemie śledzenia błędów pod adresem https://github.com/kmod-project/kmod/issues/, wraz z informacją o wersji programu, krokach potrzebnych do odtworzenia problemu oraz oczekiwanym rezultacie.

AUTORZY

Wielu współautorów pochodzi z listy dyskusyjnej linux-modules pod adresem <linux-modules@vger.kernel.org> oraz z Githuba. Mając sklonowane repozytorium kmod.git, wynik polecenia git-shortlog(1) i git-blame(1) ukaże autorów danej części projektu.

Projektem opiekuje się aktualnie Lucas De Marchi <lucas.de.marchi@gmail.com>.

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.