K dispozici jsou moduly pro váš grafický hardware (GPU), různé souborové systémy (například ext4, zfs, btrfs), síťové hardwarové programy, displej, klávesnice a různá vstupní zařízení a mnoho dalších.
V tomto článku vám ukážu, jak používat modprobe ke správě modulů jádra v distribuci Debian GNU / Linux. Pro demonstraci použiji Debian 9 Stretch. Mělo by to ale fungovat na jakékoli verzi Debian GNU / Linux. Pojďme tedy začít.
Výchozí adresář modulů:
Všechny moduly v Debianu jsou uloženy / lib / modules / $ (uname -r) adresář.
Moduly jádra jsou uloženy v podadresáři kernel /. Moduly jádra jsou uloženy v modulárním hierarchickém pořadí, jak vidíte na obrázku níže.
$ ls / lib / modules / $ (uname -r) / jádro
Seznam všech dostupných modulů jádra:
Seznam všech modulů jádra v pěkně naformátované stromové struktuře můžete zobrazit pomocí následujícího příkazu:
$ strom / lib / moduly / $ (uname -r) / jádro
POZNÁMKA: Příkaz tree není ve výchozím nastavení nainstalován. Budete jej muset nainstalovat ručně pomocí sudo apt instalační strom
Jak vidíte, adresáře a moduly jádra jsou uvedeny jako strom.
Je to velmi dlouhý seznam. Můžete jej také předat pageru, například méně, abyste usnadnili navigaci v seznamu:
$ strom / lib / moduly / $ (uname -r) / jádro | méně
Nyní můžete stisknout
Moduly můžete vyhledat na méně stránkovacím modulu. Stačí stisknout / a zadejte hledané klíčové slovo.
Nyní stiskněte
Můžete také stisknout n a p přejít na další výsledek, respektive předchozí výsledek.
Pager ukončíte stisknutím q.
Seznam všech načtených modulů jádra:
Pomocí následujícího příkazu můžete zobrazit seznam všech modulů jádra, které používá váš operační systém Debian:
$ lsmod
Je to dlouhý seznam. Na Modul sloupec (1), můžete vidět název modulu jádra na Velikost sloupec (2), můžete vidět velikost modulu jádra v bajtech.
The Používá sloupec (3) je zajímavý. Tento sloupec začíná číslem a volitelně seznamem jmen modulů oddělených čárkami.
Číslo určuje, kolik modulů závisí na tomto modulu. Pokud je 0, znamená to, že na tomto modulu nejsou závislé žádné další moduly. Například pppdev modul nepoužívá žádný jiný modul. Můžete tedy bezpečně odebrat nebo přidat pppdev modul jádra kdykoli.
Pokud je to něco jiného než 0, pak na tomto modulu závisí mnoho dalších modulů. Například závisí na 2 dalších modulech snd_pcm jak vidíte v označené části obrazovky níže. Takže nemůžete odstranit snd_pcm modul, pokud neodstraníte moduly závislé na tomto modulu. V tomto případě snd_ac97_codec a snd_ens1371 moduly je nutné odebrat, aby bylo možné je odebrat snd_pcm modul.
Získání informací o konkrétním modulu jádra:
Nyní, když víte, jak zobrazit seznam všech dostupných modulů jádra a načtených modulů jádra. V této části vám ukážu, jak získat informace o jakémkoli modulu jádra.
V Debianu můžete použít modinfo příkaz pro získání informací o jakémkoli modulu.
Například pro získání informací o snd_pcm modul, který jsme viděli dříve, spusťte následující příkaz:
$ sudo modinfo snd_pcm
Jak vidíte, cesta k souboru modulu, licence, krátký popis modulu snd_pcm, moduly snd_pcm záleží na a jsou uvedeny další informace.
Jedná se o základní bitové informace, které potřebujete vědět, abyste mohli pracovat s moduly na Deban. Například pokud chcete povolit snd_pcm modulu, musíte také povolit snd a časovač snd než tak učiníte. Tak jako snd_pcm záleží na snd a časovač snd. Jinak to nebude fungovat.
Načítání nového modulu jádra pomocí modprobe:
Nové moduly jádra můžete načíst pomocí modprobe příkaz. Řekněme například, že chcete povolit btrfs modul jádra souborového systému.
Nejprve zkontrolujte, jaké moduly btrfs moduly jádra závisí na s modinfo jak následuje:
$ sudo modinfo btrfsJak vidíte, btrfs modul jádra závisí na raid6_pg a xor moduly jádra.
Zkontrolujeme, zda jsou povoleny, takto:
$ lsmod | grep raid6$ lsmod | grep xor
Jak vidíte, žádný z modulů není načten.
Nyní spusťte následující příkazy k načtení raid6_pq a xor moduly jádra:
$ sudo modprobe raid6_pq$ sudo modprobe xor
Nyní zkontrolujeme, zda jsou moduly jádra závislostí znovu načteny:
$ lsmod | grep raid6$ lsmod | grep xor
Jak vidíte, moduly jádra jsou načteny.
Nyní můžete načíst btrfs modul jádra s následujícím příkazem:
$ sudo modprobe btrfs
Nyní ověřme, zda btrfs modul jádra je načten následujícím příkazem:
$ lsmod | grep btrfs
Jak vidíte, btrfs modul jádra je načten a záleží na raid6_pq a xor moduly jádra.
Většinu času modprobe příkaz automaticky vyřeší závislosti. Ale ukázal jsem vám, jak to udělat ručně, protože to možná budete muset udělat tímto způsobem. Nejlepší je vědět, jak problém vyřešit, protože se s ním budete muset někdy vypořádat.
Odebírání modulů pomocí modprobe:
Moduly můžete také odebrat pomocí modprobe příkaz. Pokud na modulu, který chcete odebrat, nezávisí žádné další moduly, je proces přímočarý.
Například k odstranění btrfs modul, který jsem načetl dříve, spusťte následující příkaz:
$ sudo modprobe -r btrfs
Modul by měl být odstraněn.
Pokud jiné moduly závisí na modulu, který chcete odebrat, budete nejprve muset tyto moduly odebrat, než budete moci odebrat požadovaný modul.
To je v podstatě vše, co potřebujete vědět o správě modulů jádra v Debianu. Děkujeme za přečtení tohoto článku.