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 /lib/modules/`uname -r`. Wyjątkami są
opcjonalne pliki konfiguracyjne w katalogu /etc/modprobe.d (patrz
modprobe.conf(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).
-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, --config
Opcja przesłania domyślny katalog
konfiguracyjny (/etc/modprobe.d).
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.
-S, --set-version
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.