Debian Modprobe Tutorial

Debian Modprobe Tutorial
Module sind ein Code, der die Funktionalität des Linux -Kernels erweitert. Ein Modul auf Linux ist auch als Linux -Kernel -Modul bekannt. Das Beste an Modulen unter Linux ist, dass sie im Fliegen hinzugefügt oder entfernt werden können. Das heißt, Sie können Module in Linux hinzufügen oder entfernen, ohne Ihren Computer neu zu starten.

Es gibt Module für Ihre Grafikhardware (GPU), verschiedene Dateisysteme (wie Ext4, ZFS, BTRFS), Netzwerk -Hardware, Anzeige, Tastatur und verschiedene Eingabegeräte und vieles mehr mehr.

In diesem Artikel werde ich Ihnen zeigen, wie man benutzt Modprobe Verwaltung von Kernelmodulen auf Debian GNU/Linux -Verteilung. Ich werde Debian 9 Stretch für die Demonstration verwenden. Aber es sollte auf jeder Version von Debian GNU/Linux funktionieren. Also lasst uns anfangen.

Das Standard -Modulverzeichnis:

Alle Module in Debian sind gespeichert, ist die /lib/module/$ (uname -r) Verzeichnis.

Die Kernelmodule werden in einem Sub -Verzeichnis -Kernel/ gespeichert/. Die Kernelmodule werden in einer modularen hierarchischen Reihenfolge gespeichert, wie Sie im Screenshot unten sehen können.

$ ls/lib/module/$ (uname -r)/kernel

Auflistung aller verfügbaren Kernel -Module:

Sie können alle Kernel -Module in einer gut formatierten Baumstruktur mit dem folgenden Befehl auflisten:

$ tree/lib/module/$ (uname -r)/kernel

NOTIZ: Der Baumbefehl ist standardmäßig nicht installiert. Sie müssen es manuell mit installieren sudo apt installieren Baum

Wie Sie sehen können, sind die Verzeichnisse und Kernelmodule als Baum aufgeführt.

Es ist eine sehr lange Liste. Sie können es auch an einen Pager weitergeben, wie z. B. weniger wie folgt, um die Navigation durch die Liste zu erleichtern:

$ tree/lib/module/$ (uname -r)/kernel | weniger

Jetzt können Sie die drücken Und Pfeiltasten, um durch die Liste zu navigieren.

Sie können im weniger Pager nach Modulen suchen. Drücken Sie einfach / und geben Sie Ihr Suchschlüsselwort ein.

Jetzt drücken und Ihr Suchergebnis sollte angezeigt werden, wie Sie im markierten Abschnitt des Screenshot unten angezeigt werden können.

Sie können auch drücken N Und P Um zum nächsten Ergebnis bzw. das vorherige Ergebnis zu gehen.

Drücken Sie, um den Pager zu verlassen Q.

Auflistung aller geladenen Kernelmodule:

Sie können alle Kernel -Module auflisten, die von Ihrem Debian -Betriebssystem mit dem folgenden Befehl verwendet werden:

$ lsmod

Es ist eine lange Liste. Auf der Modul In Spalte (1) können Sie den Namen des Kernel -Moduls auf der sehen Größe Spalte (2) können Sie die Größe der Kernel -Modul in Bytes sehen.

Der Benutzt von Spalte (3) ist interessant. Diese Spalte beginnt mit einer Nummer und optional eine von der Kommas getrennte Liste von Modulnamen.

Die Zahl bestimmt, wie viele Module von diesem Modul abhängen. Wenn es 0 ist, bedeutet es, dass keine anderen Module von diesem Modul abhängen. Zum Beispiel die PPPDEV Modul wird von keinem anderen Modul verwendet. Sie können also sicher entfernen oder hinzufügen PPPDEV Kernel -Modul jederzeit.

Wenn es etwas anderes als 0 ist, sind viele andere Module von diesem Modul abhängig. Zum Beispiel hängen 2 andere Module davon ab, von snd_pcm Modul, wie Sie im markierten Abschnitt des Screenshot unten sehen können. Sie können also nicht entfernen snd_pcm Modul, es sei denn, Sie entfernen die Module, die von diesem Modul abhängen. In diesem Fall die SND_AC97_CODEC Und snd_ens1371 Module müssen entfernt werden, um zu entfernen snd_pcm Modul.

Informationen zum bestimmten Kernel -Modul erhalten:

Nachdem Sie nun wissen, wie Sie alle verfügbaren Kernel -Module und die geladenen Kernelmodule auflisten können. In diesem Abschnitt werde ich Ihnen zeigen, wie Sie Informationen über jedes Kernel -Modul erhalten.

Auf Debian können Sie die verwenden Modinfo Befehl, um Informationen zu jedem Modul zu erhalten.

Zum Beispiel, um Informationen über die zu erhalten snd_pcm MODUL, das wir zuvor gesehen haben, führen Sie den folgenden Befehl aus:

$ sudo modinfo snd_pcm

Wie Sie sehen können, den Moduldateipfad, die Lizenz, eine kurze Beschreibung zum Modul snd_pcm, die Module snd_pcm hängt davon ab und einige andere Informationen sind aufgeführt.

Dies sind wesentliche Informationen, die Sie kennen müssen, um mit Modulen an Deban zu arbeiten. Zum Beispiel, wenn Sie aktivieren möchten snd_pcm Modul, dann müssen Sie auch aktivieren snd Und Snd-Timer Module, bevor Sie dies tun. Als snd_pcm kommt drauf an snd Und Snd-Timer. Ansonsten wird es nicht funktionieren.

Laden Sie das neue Kernel -Modul mit ModProbe:

Sie können neue Kernelmodule mit dem laden Modprobe Befehl. Sagen wir zum Beispiel, Sie möchten das aktivieren Btrfs Dateisystem -Kernel -Modul.

Überprüfen Sie zunächst, was die Module die moduliert Btrfs Kernelmodule hängen davon ab mit Modinfo folgendermaßen:

$ sudo modinfo btrfs

Wie Sie sehen können, die Btrfs Kernelmodul hängt von raid6_pg Und xor Kernelmodule.

Überprüfen Sie, ob sie wie folgt aktiviert sind:

$ lsmod | Grep Raid6
$ lsmod | Grep Xor

Wie Sie sehen können, wird keiner der Module geladen.

Führen Sie nun die folgenden Befehle aus, um sie zu laden raid6_pq Und xor Kernelmodule:

$ sudo modprobe raid6_pq
$ sudo modprobe xor

Überprüfen wir nun, ob die Abhängigkeitskern -Module erneut geladen sind:

$ lsmod | Grep Raid6
$ lsmod | Grep Xor

Wie Sie sehen können, werden die Kernelmodule geladen.

Jetzt können Sie die laden Btrfs Kernel -Modul mit dem folgenden Befehl:

$ sudo modprobe btrfs

Lassen Sie uns nun überprüfen, ob die Btrfs Das Kernel -Modul wird mit dem folgenden Befehl geladen:

$ lsmod | Grep Btrfs

Wie Sie sehen können, die Btrfs Das Kernelmodul ist geladen und hängt von der ab raid6_pq und das xor Kernelmodule.

Meistens Modprobe Der Befehl wird die Abhängigkeiten für Sie automatisch auflösen. Aber ich habe dir gezeigt, wie man es manuell macht, denn manchmal müssen Sie es möglicherweise so machen. Es ist am besten zu wissen, wie man ein Problem lösen, da Sie vielleicht eines Tages damit umgehen müssen.

Entfernen von Modulen mit ModProbe:

Sie können auch Module mit entfernen Modprobe Befehl. Wenn keine anderen Module von dem Modul abhängen, das Sie entfernen möchten, ist der Vorgang unkompliziert.

Zum Beispiel zum Entfernen der Btrfs Modul, das ich zuvor geladen habe, führen Sie den folgenden Befehl aus:

$ sudo modprobe -r btrfs

Das Modul sollte entfernt werden.

Wenn andere Module von dem Modul abhängen, das Sie entfernen möchten, müssen Sie diese Module zuerst entfernen, bevor Sie Ihr gewünschtes Modul entfernen können.

Das ist im Grunde alles, was Sie über das Management von Kernel -Modulen bei Debian wissen müssen. Danke, dass du diesen Artikel gelesen hast.