Zum Inhalt springen

Linux/Kernel/Module: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „z.B.“ durch „z. B. “
 
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
* Unter einem Kernelmodul versteht man einen Teil bzw. eine Erweiterung des Kernels.  
'''{{BASEPAGENAME}}''' -Teil/Erweiterung des Kernels
* So sind z. B.  alle Hardwaretreiber (z. B.  WLAN-Karte, Soundkarte...) als Modul angelegt
 
== 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>
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
  1. 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.
  2. (Verschieben Sie /etc/modprobe.conf, falls vorhanden, da es alles in /etc/modprobe.d/* ersetzt (außer Sie fügen include /etc/modprobe.d hinzu).
  3. Die Module, die in /etc/initramfs-tools/modules aufgelistet sind, unterliegen nicht den Blacklists, also kommentieren Sie diese zuerst aus.
Howto
  1. Erstellen Sie eine Datei '/etc/modprobe.d/<modulename>.conf', die 'blacklist <modulename>' enthält.
  2. Führen Sie 'depmod -ae' als root aus
  3. 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.

  1. Erstellen Sie eine Datei namens '/etc/modprobe.d/<modulename>.conf', die 'install <modulename> /bin/true' enthält.
  2. 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

  1. https://wiki.debian.org/KernelModuleBlacklisting