Linux/Kernel/Module: Unterschied zwischen den Versionen
K Textersetzung - „z.B.“ durch „z. B. “ |
|||
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''{{BASEPAGENAME}}''' -Teil/Erweiterung des Kernels | |||
* So sind | |||
== Beschreibung == | |||
Unter einem Kernelmodul versteht man einen Teil bzw. eine Erweiterung des Kernels. | |||
* So sind beispielsweise alle Hardwaretreiber (beispielsweise WLAN-Karte, Soundkarte...) als Modul angelegt | |||
; Linux-Gerätetreiberbefehle | |||
Linux-Gerätetreiber sind wichtige Kernel-Softwaremodule, die die Kommunikation des Linux-Betriebssystems mit Hardware-Peripheriegeräten ermöglichen | |||
Die Pflege korrekter und aktueller Gerätetreiber ist entscheidend für die Gewährleistung der Hardwarekompatibilität und einer optimalen Hardwareleistung | |||
{| class="wikitable sortable options big" | |||
|- | |||
! Befehl !! Parameter !! Beschreibung | |||
|- | |||
| [[lsmod]] || || Geladene Module und Treiber anzeigen | |||
|- | |||
| [[modinfo]] || <module> || | |||
|- | |||
| [[lspci]] -k || || | |||
|- | |||
| [[lsusb]] -t || || | |||
|- | |||
| [[sysctl]] -a | grep <module> || || | |||
|- | |||
| [[ethtool]] -i || <interface> || | |||
|- | |||
| [[modprobe]] || <module> || | |||
|- | |||
| [[dkms]] status || || | |||
|- | |||
| [[rmmod]] || <module> || | |||
|- | |||
| [[insmod]] /path/to/module.ko || || | |||
|- | |||
| [[dmesg]] | grep <module> || || | |||
|} | |||
[[Datei:driverCommands.jpg|mini|400px|https://www.instagram.com/p/C-m49VNOzBe/]] | |||
== Blockieren des Ladens von Linux-Kernel-Modulen == | |||
Deaktivieren Sie das automatische Laden von Linux-Kernel-Treibermodulen. Beachten Sie, dass dieses Verfahren nicht verhindert, dass ein anderer Prozess während des Bootens oder der Laufzeit ein zusätzliches Modul anfordert. | |||
; Warnungen | |||
# Wie in den Kommentar-Headern in <code>/etc/modprobe.d/blacklist.conf</code> erwähnt, hat das Hinzufügen von Modulen dort <code>...does not affect autoloading of modules;by the Linux kernel.</code>; das bedeutet, dass man eine Fake-Installation durchführen muss, um einen Treiber wie ''ipv6'' auf die Blacklist zu setzen. | |||
# (Verschieben Sie <code>/etc/modprobe.conf</code>, falls vorhanden, da es alles in <code>/etc/modprobe.d/*</code> ersetzt (außer Sie fügen <code>include /etc/modprobe.d</code> hinzu). | |||
# Die Module, die in <code>/etc/initramfs-tools/modules</code> aufgelistet sind, unterliegen nicht den Blacklists, also kommentieren Sie diese zuerst aus. | |||
; Howto | |||
# Erstellen Sie eine Datei '<code>/etc/modprobe.d/<modulename>.conf</code>', die '<code>blacklist <modulename></code>' enthält. | |||
# Führen Sie '<code>depmod -ae</code>' als root aus | |||
# Erstellen Sie Ihre initrd mit <code>'update-initramfs -u'</code> neu | |||
; Beispiele | |||
root@host:/etc/modprobe.d# ls -altr | |||
insgesamt 72 | |||
-rw-r--r-- 1 root root 363 Sep 24 19:57 pnp-hotplug | |||
-rw-r--r-- 1 root root 284 Sep 24 19:57 display_class | |||
drwxr-xr-x 2 root root 16 Oct 28 21:38 arch | |||
lrwxrwxrwx 1 root root 9 Oct 28 21:38 arch-aliases -> arch/i386 | |||
-rw-r--r-- 1 root root 1405 Oct 29 09:46 blacklist.conf | |||
-rw-r--r-- 1 root root 18 Oct 29 13:34 eth1394.conf | |||
-rw-r--r-- 1 root root 15 Oct 29 14:49 irda.conf | |||
-rw-r--r-- 1 root root 20 Oct 29 16:10 irtty_sir.conf | |||
-rw-r--r-- 1 root root 18 Oct 29 16:10 sir_dev.conf | |||
-rw-r--r-- 1 root root 19 Oct 29 16:10 nsc_ircc.conf | |||
-rw-r--r-- 1 root root 4360 Oct 29 16:21 aliases | |||
drwxr-xr-x 3 root root 4096 Oct 29 16:24 . | |||
-rw-r--r-- 1 root root 15 Oct 29 16:24 ipv6.conf | |||
drwxr-xr-x 47 root root 12288 Oct 29 16:25 .. | |||
root@host:/etc/modprobe.d# cat eth1394.conf | |||
irda.conf irtty_sir.conf sir_dev.conf nsc_ircc.conf ipv6.conf | |||
blacklist eth1394 | |||
blacklist irda | |||
blacklist irtty_sir | |||
blacklist sir_dev | |||
blacklist nsc_ircc | |||
blacklist ipv6 | |||
; Nachtrag | |||
Manchmal muss man mehrere Module deaktivieren, um das gewünschte zu erhalten: irda ist so ein Beispiel. | |||
* In dem obigen Beispiel mussten irtty_sir, sir_dev und nsc_ircc alle deaktiviert werden, um irda zu deaktivieren. | |||
* Wenn Sie so etwas vermuten, führen Sie <code>lsmod</code> aus und finden Sie die Module, die dasjenige verwenden, das Sie deaktivieren wollen. | |||
=== Blacklist durch Fake-Installation === | |||
Nehmen wir an, Sie wollen ''Modulname'' mit einer ''Fake-Installation'' deaktivieren. | |||
# Erstellen Sie eine Datei namens '<code>/etc/modprobe.d/<modulename>.conf</code>', die '<code>install <modulename> /bin/true</code>' enthält. | |||
# Neustart. | |||
Diese Prozedur verhindert das Laden des Moduls ''Modulname'' zur Laufzeit. | |||
== Installation == | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
</syntaxhighlight> | |||
== Aufruf == | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
</syntaxhighlight> | |||
=== Optionen === | |||
{| class="wikitable sortable options gnu" | |||
|- | |||
! Unix !! GNU !! Parameter !! Beschreibung | |||
|- | |||
| || || || | |||
|- | |||
|} | |||
=== Parameter === | |||
=== Umgebungsvariablen === | |||
=== Exit-Status === | |||
{| class="wikitable options col1center" | |||
|- | |||
! Wert !! Beschreibung | |||
|- | |||
| 0 || Erfolg | |||
|- | |||
| >0 || Fehler | |||
|} | |||
== Anwendung == | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
</syntaxhighlight> | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
{| class="wikitable options" | |||
|- | |||
! Datei !! Beschreibung | |||
|- | |||
| || | |||
|- | |||
| || | |||
|} | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:3"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
; Man-Page | |||
<!-- | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
# https://wiki.debian.org/KernelModuleBlacklisting | |||
[[Kategorie:Linux/Kernel]] | [[Kategorie:Linux/Kernel]] | ||
</noinclude> |
Aktuelle Version vom 1. Mai 2025, 09:39 Uhr
Linux/Kernel/Module -Teil/Erweiterung des Kernels
Beschreibung
Unter einem Kernelmodul versteht man einen Teil bzw. eine Erweiterung des Kernels.
- So sind beispielsweise alle Hardwaretreiber (beispielsweise WLAN-Karte, Soundkarte...) als Modul angelegt
- Linux-Gerätetreiberbefehle
Linux-Gerätetreiber sind wichtige Kernel-Softwaremodule, die die Kommunikation des Linux-Betriebssystems mit Hardware-Peripheriegeräten ermöglichen
Die Pflege korrekter und aktueller Gerätetreiber ist entscheidend für die Gewährleistung der Hardwarekompatibilität und einer optimalen Hardwareleistung
Befehl | Parameter | Beschreibung |
---|---|---|
lsmod | Geladene Module und Treiber anzeigen | |
modinfo | <module> | |
lspci -k | ||
lsusb -t | ||
sysctl -a | grep <module> | ||
ethtool -i | <interface> | |
modprobe | <module> | |
dkms status | ||
rmmod | <module> | |
insmod /path/to/module.ko | ||
dmesg | grep <module> |

Blockieren des Ladens von Linux-Kernel-Modulen
Deaktivieren Sie das automatische Laden von Linux-Kernel-Treibermodulen. Beachten Sie, dass dieses Verfahren nicht verhindert, dass ein anderer Prozess während des Bootens oder der Laufzeit ein zusätzliches Modul anfordert.
- Warnungen
- Wie in den Kommentar-Headern in
/etc/modprobe.d/blacklist.conf
erwähnt, hat das Hinzufügen von Modulen dort...does not affect autoloading of modules;by the Linux kernel.
; das bedeutet, dass man eine Fake-Installation durchführen muss, um einen Treiber wie ipv6 auf die Blacklist zu setzen. - (Verschieben Sie
/etc/modprobe.conf
, falls vorhanden, da es alles in/etc/modprobe.d/*
ersetzt (außer Sie fügeninclude /etc/modprobe.d
hinzu). - Die Module, die in
/etc/initramfs-tools/modules
aufgelistet sind, unterliegen nicht den Blacklists, also kommentieren Sie diese zuerst aus.
- Howto
- Erstellen Sie eine Datei '
/etc/modprobe.d/<modulename>.conf
', die 'blacklist <modulename>
' enthält. - Führen Sie '
depmod -ae
' als root aus - Erstellen Sie Ihre initrd mit
'update-initramfs -u'
neu
- Beispiele
root@host:/etc/modprobe.d# ls -altr insgesamt 72 -rw-r--r-- 1 root root 363 Sep 24 19:57 pnp-hotplug -rw-r--r-- 1 root root 284 Sep 24 19:57 display_class drwxr-xr-x 2 root root 16 Oct 28 21:38 arch lrwxrwxrwx 1 root root 9 Oct 28 21:38 arch-aliases -> arch/i386 -rw-r--r-- 1 root root 1405 Oct 29 09:46 blacklist.conf -rw-r--r-- 1 root root 18 Oct 29 13:34 eth1394.conf -rw-r--r-- 1 root root 15 Oct 29 14:49 irda.conf -rw-r--r-- 1 root root 20 Oct 29 16:10 irtty_sir.conf -rw-r--r-- 1 root root 18 Oct 29 16:10 sir_dev.conf -rw-r--r-- 1 root root 19 Oct 29 16:10 nsc_ircc.conf -rw-r--r-- 1 root root 4360 Oct 29 16:21 aliases drwxr-xr-x 3 root root 4096 Oct 29 16:24 . -rw-r--r-- 1 root root 15 Oct 29 16:24 ipv6.conf drwxr-xr-x 47 root root 12288 Oct 29 16:25 ..
root@host:/etc/modprobe.d# cat eth1394.conf irda.conf irtty_sir.conf sir_dev.conf nsc_ircc.conf ipv6.conf blacklist eth1394 blacklist irda blacklist irtty_sir blacklist sir_dev blacklist nsc_ircc blacklist ipv6
- Nachtrag
Manchmal muss man mehrere Module deaktivieren, um das gewünschte zu erhalten: irda ist so ein Beispiel.
- In dem obigen Beispiel mussten irtty_sir, sir_dev und nsc_ircc alle deaktiviert werden, um irda zu deaktivieren.
- Wenn Sie so etwas vermuten, führen Sie
lsmod
aus und finden Sie die Module, die dasjenige verwenden, das Sie deaktivieren wollen.
Blacklist durch Fake-Installation
Nehmen wir an, Sie wollen Modulname mit einer Fake-Installation deaktivieren.
- Erstellen Sie eine Datei namens '
/etc/modprobe.d/<modulename>.conf
', die 'install <modulename> /bin/true
' enthält. - Neustart.
Diese Prozedur verhindert das Laden des Moduls Modulname zur Laufzeit.
Installation
Aufruf
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks