Modprobe - příkaz Linux - příkaz Unix

NÁZEV

modprobe - vysoká úroveň manipulace s nabitými moduly

SYNOPSE

modprobe [-adnqv] [-C config ] modul [symbol = hodnota ...]
modprobe [-adnqv] [-C config ] [-t type ] vzor
modprobe- l [-C config ] [-t type ] vzor
modprobe -c [-C config ]
modprobe -r [-dnv] [-C config ] [modul ...]
modprobe -Vh

MOŽNOSTI

-a , - všechno

Po prvním úspěšném načtení vložte všechny odpovídající moduly namísto jejich zastavení.

-c , --showconfig

Zobrazit aktuální konfiguraci.

-C , --config config

Použijte konfigurační soubor namísto (volitelně) /etc/modules.conf pro zadání konfigurace. Proměnná prostředí MODULECONF lze také použít k výběru (a potlačení) jiného konfiguračního souboru z výchozího souboru /etc/modules.conf (nebo /etc/conf.modules (zastaralý)).

Pokud je nastavena proměnná prostředí UNAME_MACHINE , modutils použije svou hodnotu namísto pole stroje z příkazu uname (). Používá se hlavně při kompilaci 64bitových modulů ve 32bitovém uživatelském prostoru nebo naopak, nastavte UNAME_MACHINE na typ modulů. Současný modutils nepodporuje moduly plného křížového budování, ale je omezen na výběr mezi 32 a 64 bitovými verzemi hostitelské architektury.

-d , --debug

Zobrazte informace o interní reprezentaci stohu modulů.

-h , --help

Zobrazte přehled možností a okamžitě ukončete.

-k , --autoclean

Nastavte "autoclean" na načtené moduly. Používá jádro při volání modprobe k uspokojení chybějící funkce (dodávané jako modul). Volba -q je naznačena -k . Tyto možnosti budou automaticky odeslány na insmod .

-l , --list

Seznam odpovídajících modulů.

-n , - zobrazit

Akce vlastně nehrozíte, ukažte, co by se dalo udělat.

-q , --quiet

Nepokoušejte se insmod neinstalovat modul. Pokračujte normálně, ale tiše, s dalšími možnostmi testování modprobe. Tato volba bude automaticky odeslána na insmod .

-r , - odstranit

Odstraňte modul (stacks) nebo proveďte autoclean, v závislosti na tom, zda jsou na příkazovém řádku uvedeny nějaké moduly.

-s , --syslog

Nahlásit pomocí syslog namísto stderr. Tyto možnosti budou automaticky odeslány na insmod .

-t modultype ; - typový typ modulu

Zvažte pouze moduly tohoto typu. modprobe se bude dívat pouze na moduly, jejichž adresářová cesta obsahuje přesně " / moduletype / ". moduletype může obsahovat více než jeden název adresáře, např. " -t drivers / net " uvádí seznam modulů v xxx / drivers / net / a jeho podadresářích.

-v , --verbose

Vytiskněte všechny příkazy při jejich spuštění.

-V, --version

Zobrazí verzi modprobe .

Poznámka:

Názvy modulů nesmějí obsahovat cesty ('/') ani obsahovat koncovku '.o'. Například skluz je platný název modulu pro modprobe , /lib/modules/2.2.19/net/slip a slip.o jsou neplatné. To platí pro příkazový řádek a položky v konfiguraci.

POPIS

Nástroj modprobe a depmod je určen k tomu, aby modularní jádro systému Linux bylo lépe spravovatelné pro všechny uživatele, administrátory a správce distribuce.

Modprobe používá záložní soubor typu "Makefile", vytvořený depmodem , který automaticky načte příslušný modul (y) ze sady modulů, které jsou k dispozici v předdefinovaných adresářových stromech.

Modprobe se používá k načtení jednoho modulu, zásobníku závislých modulů nebo všech modulů, které jsou označeny specifikovanou značkou.

Modprobe automaticky načte všechny základní moduly potřebné v zásobníku modulů, jak je popsáno modulem dependency module modules.dep . Pokud dojde k selhání načítání jednoho z těchto modulů, bude celý aktuální zásobník modulů načtených v aktuální relaci automaticky vyložen.

Modprobe má dva způsoby načítání modulů. Jeden způsob (režim sondy) se pokusí modul načíst ze seznamu (definovaného vzorem ). Modprobe se zastaví, jakmile se jeden modul úspěšně načte. To může být použito k automatickému zařazení jednoho ovladače Ethernet ze seznamu.
Jiným způsobem modprobe je možné načíst všechny moduly ze seznamu. Další příklady naleznete v části PŘÍKLADY .

S volbou -r , modprobe automaticky uvolní hromadu modulů, podobně jako v případě rmmod -r . Všimněte si, že pouze pomocí " modprobe -r " vyčistíte nepoužité autoloadované moduly a také provedete příkazy před a po odstranění v konfiguračním souboru /etc/modules.conf .

Kombinací možností -l a -t jsou uvedeny všechny dostupné moduly určitého typu.

Volba -c vytiskne aktuálně používanou konfiguraci (výchozí + konfigurační soubor).

KONFIGURACE

Chování modulu modprobe (a depmod ) může být upraveno (volitelným) konfiguračním souborem /etc/modules.conf .
Podrobnější popis toho, co tento soubor může obsahovat, stejně jako výchozí konfiguraci, kterou používají depmod a modprobe , naleznete v modulech.conf (5).

Všimněte si, že příkazy před a po odebrání se nebudou provádět, pokud je modul "autocleaned" kerneld! Podívejte se na novou podporu trvalého ukládání modulů.
Pokud chcete používat funkce před instalací a po instalaci, budete muset pro kerneld vypnout autoclean a namísto toho zadat do crontabu něco podobného následujícímu řádku (to se používá i pro kmodové systémy), abyste provedli autoclean každých 2 minuty :

* / 2 * * * * test -f / proc / moduly && / sbin / modprobe -r

STRATEGIE

Myšlenka spočívá v tom, že modprobe se nejprve podívá do adresáře obsahujícího moduly sestavené pro aktuální vydání jádra. Pokud se modul nenachází, modprobe bude vypadat v adresáři běžném pro verzi jádra (např. 2.0, 2.2). Pokud je modul stále nalezen, modprobe bude vypadat v adresáři obsahující moduly pro výchozí verzi a podobně.

Při instalaci nového linuxu by se moduly měly přesunout do adresáře vztahujícího se k verzi (a verzi) jádra, které instalujete. Pak byste měli z tohoto adresáře vytvořit symbolický odkaz do "výchozího" adresáře.

Pokaždé, když zkompilujete nové jádro, příkaz " make modules_install " vytvoří nový adresář, ale nezmění odkaz "výchozí".

Když získáte modul, který nesouvisí s distribucí jádra, měli byste jej umístit do jednoho z adresářů / lib / modules nezávislých na verzi.

Toto je implicitní strategie, kterou lze v souboru /etc/modules.conf přepsat.

PŘÍKLADY

modprobe -t net

Vložte jeden z modulů, které jsou uloženy v adresáři označeném "net". Každý modul je vyzkoušen, dokud nedosáhne.

modprobe -a -t boot

Všechny moduly, které jsou uloženy v adresářích označených jako "boot", budou načteny.

modprobe slip

Tím se pokusí modul slhc.o načíst, pokud nebyl dříve načten, protože modul skluzu potřebuje funkci modulu slhc. Tato závislost bude popsána v souboru modules.dep, který byl vytvořen automaticky depmodem .

modprobe -r skluzu

Tím se uvolní modul skluzu. Automaticky uvolní modul slhc, pokud není používán i jiným modulem (např. Ppp).

VIZ TAKÉ

depmod (8), lsmod (8), kerneld (8), ksyms (8), rmmod (8).

BEZPEČNÝ REŽIM

Pokud se efektivní uid nerovná skutečnému uidovi, potom modprobe zachází se svým přístupem s extrémním podezřením. Poslední parametr se vždy považuje za název modulu, i když začíná znakem '-'. Může být pouze jeden název modulu a volby formuláře "variable = value" jsou zakázány. Název modulu je vždy považován za řetězec, v nouzovém režimu se neprovádí meta expanze. Metadata expanze se však stále používá pro data přečtená z konfiguračního souboru.

euid nemusí být shodné s uid při vyvolání modprobe z jádra, platí to pro jádra> = 2.4.0-test11. V ideálním světě by modprobe mohl důvěřovat jádru, aby předal pouze platné parametry modprobe. Přesto se objevil alespoň jeden lokální kořenový exploit, jelikož kód jádra na vysoké úrovni předal neověřené parametry přímo od uživatele k modprobe. Takže modprobe již důvěřuje zadávání jádra.

modprobe automaticky nastaví bezpečný režim, pokud prostředí sestává pouze z těchto řetězců

HOME = / TERM = linux PATH = / sbírka: / usr / sbin: / bin: / usr / bin

To detekuje provádění modprobe z jádra na jádrech 2.2 ačkoli 2.4.0-test11, i když uid == euid, což dělá na předchozích jádrech.

PŘIHLÁŠENÍ PŘÍKAZŮ

Pokud existuje adresář / var / log / ksymoops a modprobe je spuštěn s volbou, která by mohla načíst nebo smazat modul, pak modprobe zapíše svůj příkaz a stav návratu do / var / log / ksymoops / `datum +% Y% m% d .log " . K automatickému zaznamenávání není žádný přepínač, pokud nechcete, aby se vyskytoval, nevytvářejte / var / log / ksymoops . Pokud tento adresář existuje, měl by být vlastněn kořenem a režimem 644 nebo 600 a měl byste spustit skript insmod_ksymoops_clean každý den nebo tak.

POŽADOVANÉ SLUŽBY

depmod (8), insmod (8).

Důležité: Použijte příkaz man ( % man ), abyste zjistili, jaký příkaz se používá v konkrétním počítači.