modprobe - modprobe
modprobeje program Linux původně napsaný Rustym Russellem a slouží k přidání zatěžovatelného modulu jádra (LKM) do jádra Linuxu nebo k odstranění LKM z jádra. Běžně se používá nepřímo: udev se při načítání ovladačů pro automaticky detekovaný hardware spoléhá na modprobe.
Od roku 2014 je modprobe distribuován jako součást softwarového balíčku „kmod“ (udržovaný Lucasem De Marchim a dalšími). Dříve byl vyvinut jako:
- "module-init-tools", pro linuxové jádro verze 2.6 a novější (udržováno Jonem Mastersem a dalšími)
- „modutils“ pro použití s Linuxem verze 2.2.xa 2.4.x. .
Úkon
Program modprobe nabízí více plně vybavených funkcí „ Swiss-army-knife “ než základní nástroje insmod a rmmod s následujícími výhodami:
- schopnost intuitivnějšího rozhodování o tom, které moduly se mají načíst
- povědomí o závislostech modulů , takže když je požadováno načtení modulu, modprobe nejprve přidá další požadované moduly
- rozlišení závislostí rekurzivních modulů podle potřeby
Pokud je vyvolán bez přepínačů, program ve výchozím nastavení přidá / vloží / nainstaluje pojmenovaný modul do jádra. Pro tyto změny jsou obvykle vyžadována kořenová oprávnění.
Všechny argumenty, které se objeví za názvem modulu, se předají jádru (kromě všech možností uvedených v konfiguračním souboru).
V některých verzích modprobe se konfigurační soubor nazývá modprobe.conf a v jiných je ekvivalentem kolekce souborů s názvem <modulename> v adresáři /etc/modprobe.d.
Funkce
Program modprobe má také více konfiguračních funkcí než jiné podobné nástroje. Je možné definovat aliasy modulů umožňující určité automatické načítání modulů. Když jádro vyžaduje modul, ve skutečnosti spustí modprobe a požádá o něj; jádro má však popis pouze některých vlastností modulu (například hlavní číslo zařízení nebo číslo síťového protokolu ) a modprobe provede tento překlad pomocí aliasů na skutečný název modulu.
Tento program má také schopnost spouštět programy před nebo po načtení nebo vyložení daného modulu; například nastavení mixéru hned po načtení modulu zvukové karty nebo nahrání firmwaru do zařízení bezprostředně před jeho aktivací. Ačkoli tyto akce musí být implementovány externími programy, modprobe se stará o synchronizaci jejich provádění s načítáním / vykládáním modulů.
Černá listina
Existují případy, kdy dva nebo více modulů oba podporují stejná zařízení, nebo modul neplatně tvrdí, že podporuje zařízení: klíčové slovo blacklist označuje, že všechny interní aliasy konkrétního modulu mají být ignorovány.
Existuje několik způsobů, jak zakázat modul, a v závislosti na metodě použité k jeho načtení záleží na tom, kde je nakonfigurován.
Existují dva způsoby, jak zakázat modul pomocí modprobe, využívající systém modprobe.conf, první je použít jeho blacklisting systém v /etc/modprobe.d/blacklist:
cat /etc/modprobe.d/blacklist blacklist ieee1394 blacklist ohci1394 blacklist eth1394 blacklist sbp2
Instalační primitiv má nejvyšší prioritu v konfiguračním souboru a bude použit místo výše uvedené metody černé listiny, která vyžaduje tuto druhou metodu:
cat /etc/modprobe.d/ieee1394 install ieee1394 /bin/true install ohci1394 /bin/true install eth1394 /bin/true install sbp2 /bin/true
Alternativně můžete upravit /etc/modprobe.conf:
alias sub_module /dev/null alias module_main /dev/null options module_main needed_option=0