Linux Modul Handling
Linux Modul Handling
Beschreibung
Kernel-Module sind Erweiterungen, die dem Kernel zusätzliche Funktionalität bieten, ohne dass ein Neustart erforderlich ist. lsmod, modinfo, modprobe, insmod und rmmod sind Werkzeuge zur Verwaltung dieser Module.
lsmod
lsmod ist ein Befehlszeilenwerkzeug, das die derzeit geladenen Kernel-Module anzeigt. Es listet alle Module auf, die in den Kernel geladen wurden, sowie Informationen zu ihrer Nutzung und Abhängigkeiten.
- Alle geladenen Module anzeigen
- lsmod
Module Size Used by sd_mod 81920 0 scsi_mod 327680 1 sd_mod scsi_common 16384 2 scsi_mod,sd_mod ccm 20480 6 snd_seq_dummy 12288 0 snd_hrtimer 12288 1 snd_seq 110592 7 snd_seq_dummy snd_seq_device 16384 1 snd_seq rfcomm 102400 6 ...
- Bestimmte Module anzeigen
lsmod | grep ext4
ext4 1142784 3 crc16 12288 1 ext4 mbcache 16384 1 ext4 jbd2 200704 1 ext4
modinfo
Um detaillierte Informationen über ein bestimmtes Modul zu erhalten, verwenden Sie den Befehl `modinfo` gefolgt vom Modulnamen:
- modinfo ext4
filename: /lib/modules/6.12.63+deb13-amd64/kernel/fs/ext4/ext4.ko.xz softdep: pre: crypto-crc32c license: GPL description: Fourth Extended Filesystem author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others alias: fs-ext4 alias: ext3 alias: fs-ext3 alias: ext2 alias: fs-ext2 depends: jbd2,crc16,mbcache intree: Y name: ext4 retpoline: Y vermagic: 6.12.63+deb13-amd64 SMP preempt mod_unload modversions sig_id: PKCS#7 signer: Build time autogenerated kernel key sig_key: 6A:D9:B3:B2:60:00:CD:B8:1B:30:E8:D4:2A:5C:7D:29:E1:3F:E1:15 sig_hashalgo: sha256 signature: 30:65:02:30:48:D4:4D:C7:EE:FE:E7:BE:54:DB:09:5F:03:49:4D:59: 96:07:FB:78:3B:75:90:3B:70:56:C8:B5:A7:C7:D5:C7:21:8E:CC:6E: 20:FD:F9:CB:9C:8B:7B:8C:F4:A0:FE:6D:02:31:00:EC:BE:93:EC:B5: E2:82:8A:68:6E:7F:29:2D:E5:B2:BD:38:0C:70:60:84:56:9D:27:D3: E5:B4:DF:48:22:B2:AE:9A:FB:38:3E:EE:98:6B:84:10:0F:BE:5B:77: 63:0F:56
Verwalten von Kernel-Modulen
- Kernel-Module können mit den Befehlen `modprobe`, `insmod` und `rmmod` verwaltet werden.
modprobe
- `modprobe` wird verwendet, um Module zu laden und zu entladen, während es automatisch Abhängigkeiten auflöst.
Modul laden
- Beispiel: Um ein Modul zu laden, verwenden Sie:
sudo modprobe modulnameBeispiel:sudo modprobe nvidia
Modul entladen
- Beispiel: Um ein Modul zu entladen, verwenden Sie:
sudo modprobe -r modulnameBeispiel:sudo modprobe -r nvidia
insmod
- `insmod` wird verwendet, um ein Modul direkt zu laden, jedoch ohne automatische Auflösung von Abhängigkeiten.
Modul direkt laden
- Beispiel: Um ein Modul direkt zu laden, verwenden Sie:
sudo insmod /pfad/zum/modul.ko
rmmod
- `rmmod` wird verwendet, um Module aus dem Kernel zu entfernen.
Modul entfernen
- Beispiel: Um ein Modul zu entfernen, verwenden Sie:
sudo rmmod modulnameBeispiel:sudo rmmod nvidia
Praktische Anwendungen
- Überwachung: `lsmod` kann verwendet werden, um zu überwachen, welche Module derzeit geladen sind.
- Fehlerbehebung: Bei Problemen mit Hardware oder Treibern kann überprüft werden, ob die entsprechenden Kernel-Module geladen sind.
- Systemadministration: Administratoren können sicherstellen, dass nur benötigte Module geladen sind, um Ressourcen zu sparen und die Sicherheit zu erhöhen.
Weitere Optionen
Kontinuierliche Überwachung
- `-w` : Zeigt die Kernel-Nachrichten kontinuierlich an, ähnlich wie `tail -f`.
dmesg -w
- Beispiel: Um die Kernel-Nachrichten fortlaufend zu überwachen:
dmesg -w
- Beispiel: Um die Nachrichten für ein bestimmtes Schlüsselwort in Echtzeit zu filtern und anzuzeigen:
dmesg -w | grep usb
- Beispiel: Um die kontinuierliche Anzeige der Kernel-Nachrichten mit lesbaren Zeitstempeln zu sehen:
dmesg -wT