Der Linux-Kernel ist die Kernkomponente des Linux-Betriebssystems. Es verwaltet die Systemressourcen und ist eine Brücke zwischen der Hardware und Software Ihres Computers.
Der Linux-Kernel ist modular aufgebaut. Ein Kernelmodul, oder oft auch als Treiber bezeichnet, ist ein Stück Code, das die Funktionalität des Kernels erweitert. Module werden entweder als ladbare Module kompiliert oder in den Kernel eingebaut. Ladbare Module können auf Anfrage im laufenden Kernel geladen und entladen werden, ohne dass das System neu gestartet werden muss.
Im Allgemeinen werden die Module bei Bedarf von udev
geladen (Gerätemanager). Manchmal müssen Sie jedoch möglicherweise die Art und Weise, wie die Module geladen werden, feinabstimmen. Beispielsweise müssen Sie möglicherweise ein Modul mit zusätzlichen Parametern laden oder das automatische Laden eines Moduls verhindern.
Sie können ein Modul mit modprobe
manuell in den Kernel laden Befehl oder automatisch beim Booten mit /etc/modules
oder /etc/modules-load.d/*.conf
Dateien.
In diesem Artikel erklären wir, wie man modprobe
verwendet zum Hinzufügen und Entfernen von Modulen zum Linux-Kernel. modprobe
ist Teil von kmod
, eine Binärdatei, die mehrere Programme zur Verwaltung von Linux-Kernel-Modulen implementiert.
Hinzufügen von Kernelmodulen #
Die Kernel-Module sind in /lib/modules/<kernel_version>
gespeichert Verzeichnis. Die Version des laufenden Kernels finden Sie mit uname -r
Befehl.
Nur Benutzer mit Administratorrechten können Kernel-Module verwalten.
Um ein Modul zu laden, rufen Sie modprobe
auf Befehl gefolgt vom Modulnamen:
modprobe module_name
Die modprobe
Der Befehl lädt das angegebene Modul und alle zusätzlichen Modulabhängigkeiten. Auf der Kommandozeile kann nur ein Modul angegeben werden.
Verwenden Sie den lsmod
Befehl, um zu bestätigen, dass das Modul geladen ist:
lsmod | grep module_name
Um ein Modul mit zusätzlichen Parametern zu laden, verwenden Sie parameter=value
Syntax:
modprobe module_name parameter=value
Der Befehl akzeptiert mehrere parameter=value
Paare durch Leerzeichen getrennt.
Im Allgemeinen müssten Sie das Modul während des Systemstarts laden. Sie können das dadurch tun, indem Sie das Modul und seine Parameter in einer Datei innerhalb von /etc/modules-load.d
angeben Verzeichnis. Dateien müssen mit .conf
enden und kann einen beliebigen Namen haben:
option module_name parameter=value
Die in diesen Dateien angegebenen Einstellungen werden von udev
gelesen , die die Module beim Systemstart mit modprobe
lädt .
Entfernen von Kernelmodulen #
Um ein Modul zu entfernen, rufen Sie modprobe
auf Befehl mit dem -r
Option gefolgt vom Modulnamen:
modprobe -r module_name
modprobe
entfernt auch die ungenutzten Modulabhängigkeiten.
Bei Aufruf mit -r
, akzeptiert der Befehl mehrere Module als Argumente:
modprobe -r module_name1 module_name2
Sie können auch den rmmod
verwenden Befehl zum Entladen eines Moduls aus dem Linux-Kernel.
Wenn Sie verhindern möchten, dass ein Kernel-Modul beim Booten geladen wird, erstellen Sie eine .conf
Datei mit beliebigem Namen in /etc/modprobe.d
. Die Syntax lautet:
blacklist module_name
Wenn Sie zusätzliche Module auf die schwarze Liste setzen möchten, geben Sie die Module in einer neuen Zeile an oder erstellen Sie eine neue .conf
Datei.
Schlussfolgerung #
Die modprobe
Mit dem Befehl können Sie Linux-Kernel-Module hinzufügen und entfernen.
Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.