GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zeigen Sie Linux-Kernel-Modulinformationen mit dem Modinfo-Befehl an

Diese kurze Anleitung erklärt, was das Linux-Kernel-Modul ist , wie man die aktuell geladenen Kernel-Module mit lsmod , und wie man mit modinfo Befehl unter Linux.

Was ist ein Linux-Kernel-Modul?

Der Linux-Kernel ist die Hauptkomponente eines GNU/Linux-Betriebssystems. Die Funktionalität des Linux-Kernels kann mit Hilfe von Kernel-Modulen erweitert werden, ohne dass das System neu gestartet werden muss . Ein Kernel-Modul ist ein Stück Code, das bei Bedarf in den Kernel geladen und entladen werden kann.

Einige Beispiele für Kernel-Module sind Firmware und Gerätetreiber, die es dem Linux-Kernel ermöglichen, auf mit dem System verbundene Hardware zuzugreifen und diese zu steuern. Im Allgemeinen werden die Kernel-Module verwendet, um Unterstützung für neue Hardware (als Gerätetreiber) und/oder Dateisysteme hinzuzufügen , oder zum Hinzufügen von Systemaufrufen .

Ohne Kernel-Module müssen wir den Kernel jedes Mal neu erstellen und neu starten, wenn wir eine neue Funktionalität wünschen. Wir müssen auch größere monolithische Kernel bauen und neue Funktionen direkt in das Kernel-Image ohne Kernel-Module einfügen. Mit Hilfe eines Kernel-Moduls können wir diese Probleme einfach umgehen.

Kernel-Module werden normalerweise unter Modules are saved in /usr/lib/modules/<kernel_release_directory> gespeichert .

$ ls /usr/lib/modules/5.11.18-300.fc34.x86_64/
 bls.conf                   modules.builtin.bin      modules.symbols
 build                      modules.builtin.modinfo  modules.symbols.bin
 config                     modules.dep              source
 extra                      modules.dep.bin          symvers.gz
 kernel                     modules.devname          System.map
 modules.alias              modules.drm              updates
 modules.alias.bin          modules.modesetting      vdso
 modules.block              modules.networking       vmlinuz
 modules.builtin            modules.order            weak-updates
 modules.builtin.alias.bin  modules.softdep

Kernelmodule werden in verschiedenen Betriebssystemen mit unterschiedlichen Namen bezeichnet. Beispielsweise wird ein Kernelmodul in FreeBSD als Kernel Loadable Module (kld), Kernel Extension (kext) in macOS, Kernel Extension Module in AIX, Kernelmodustreiber in Windows NT und Downloadable Kernel Module (DKM) in VxWorks bezeichnet. Sie werden auch als ladbare Kernelmodule (oder KLM) und einfach als Kernelmodule (KMOD) bezeichnet.

Listen Sie Linux-Kernel-Module mit dem Befehl lsmod auf

Wir können die Liste der aktuell in den Kernel geladenen Kernel-Module mit lsmod anzeigen (Module auflisten) Befehl wie unten:

$ lsmod

Beispielausgabe:

 Module                  Size  Used by
 vhost_net              32768  0
 vhost                  57344  1 vhost_net
 vhost_iotlb            16384  1 vhost
 tap                    28672  1 vhost_net
 tun                    57344  1 vhost_net
 rfcomm                 90112  4
 snd_seq_dummy          16384  0
 snd_hrtimer            16384  1
 xt_CHECKSUM            16384  1
 xt_MASQUERADE          20480  3
 xt_conntrack           16384  1
 ipt_REJECT             16384  2
 nf_nat_tftp            16384  0
 nf_conntrack_tftp      20480  3 nf_nat_tftp
 bridge                290816  0
 stp                    16384  1 bridge
 llc                    16384  2 bridge,stp
 ccm                    20480  6
 nft_objref             16384  2
 nf_conntrack_netbios_ns    16384  1
 nf_conntrack_broadcast    16384  1 nf_conntrack_netbios_ns
 nft_fib_inet           16384  1
[...]

Der Befehl lsmod ruft die Details der aktuell geladenen Kernel-Module aus der Datei /proc/modules ab .

Ich hoffe, Sie haben eine grundlegende Vorstellung davon, was Linux-Kernel-Module sind und wie Sie die aktuell geladenen Module im Linux-Kernel auflisten. Lassen Sie uns fortfahren und sehen, wie Sie die Details eines bestimmten Kernel-Moduls anzeigen können.

Linux-Kernel-Modulinformationen mit dem Befehl modinfo anzeigen

Die modinfo Der Befehl zeigt die detaillierten Informationen eines bestimmten Kernelmoduls an. Standardmäßig listet es die Attribute eines Kernel-Moduls in Form von fieldname : value auf , zum einfachen Lesen.

Um die Informationen eines Linux-Kernel-Moduls anzuzeigen, zum Beispiel 88XXau , das ist der TP-Link AC600 (Archer T2U Nano) Wireless-Adapter , ausführen:

$ modinfo 88XXau

Beispielausgabe:

filename:       /lib/modules/5.11.18-300.fc34.x86_64/extra/88XXau.ko.xz
 version:        v5.6.4.2_35491.20191025
 author:         Realtek Semiconductor Corp.
 description:    Realtek Wireless Lan Driver
 license:        GPL
 srcversion:     4EC0EE17404B8E38B323235
 alias:          usb:v7392pB611ddcdscdpiciscipin
 alias:          usb:v7392pA813ddcdscdpiciscipin
 alias:          usb:v7392pA812ddcdscdpiciscipin
 alias:          usb:v7392pA811ddcdscdpiciscipin
 alias:          usb:v3823p6249ddcdscdpiciscipin
 alias:          usb:v2357p0122ddcdscdpiciscipin
 alias:          usb:v2357p0120ddcdscdpiciscipin
[...]

Hängen Sie kein .ko an Erweiterung am Ende des Kernel-Modulnamens. Weil Kernel-Modulnamen keine Erweiterungen haben, ihre entsprechenden Dateien aber schon.

Anzeige bestimmter Details von Kernel-Modulen

Wenn Sie modinfo ohne Optionen ausführen, zeigt es eine Menge Informationen über das angegebene Kernelmodul an. Sie können das Ergebnis eingrenzen, indem Sie nur bestimmte Felder wie author anzeigen , description , license , parm , depends ab , und alias . Die folgenden Befehle zeigen die Details jedes Felds des 88XXau an Modul.

1. Autor des Kernel-Moduls anzeigen (Anbieter)

Um anzuzeigen, wer ein Kernel-Modul geschrieben hat, verwenden Sie author Flagge.

$ modinfo -F author 88XXau
Realtek Semiconductor Corp.

2. Beschreibung des Kernelmoduls anzeigen

Um die Beschreibung eines Kernel-Moduls auszudrucken, verwenden Sie description Flagge.

$ modinfo -F description 88XXau
Realtek Wireless Lan Driver

3. Lizenz des Kernel-Moduls anzeigen

Die Kenntnis der Lizenz eines Kernel-Moduls kann nützlich sein, wenn Sie wissen möchten, ob die Firmware und die Treiber Open Source oder Closed Source sind. Einige Linux-Distributionen können standardmäßig unfreie Treiber enthalten. Sie können überprüfen, ob ein Gerätelaufwerk kostenlos oder nicht kostenlos ist, indem Sie die damit verbundene Lizenz überprüfen.

$ modinfo -F license 88XXau
GPL

Die meisten Kernel-Module sind unter GPL lizenziert (GNU Public License). Einige Module haben möglicherweise eine Doppellizenz, zum Beispiel BSD und GPL .

$ modinfo -F license zram
 Dual BSD/GPL

4. Parameter des Kernel-Moduls anzeigen

Um die Parameter eines Kernel-Moduls anzuzeigen, führen Sie Folgendes aus:

$ modinfo -F parm 88XXau
rtw_wireless_mode: (int)
rtw_monitor_overwrite_seqnum:Overwrite the sequence number of injected frames (int)
rtw_monitor_retransmit:Retransmit injected frames (int)
rtw_monitor_disable_1m:Disable default 1Mbps rate for monitor injected frames (int)
rtw_ips_mode:The default IPS mode (int)
rtw_lps_level:The default LPS level (int)
[...]

5. Abhängigkeiten von Kernel-Modulen anzeigen

Um die Abhängigkeiten eines Kernel-Moduls anzuzeigen, führen Sie Folgendes aus:

$ modinfo -F depends 88XXau
cfg80211

Sie können auch -a/--author verwenden , -d/--description , -l/--license , -p/--parameters Flags, um die spezifischen Details von Kernel-Modulen anzuzeigen. Dies sind nur die Abkürzungen für das --field Autor, Beschreibung, Lizenz und Parameter des Flags. Sie können beispielsweise -l verwenden oder --license Flag, um die Lizenz eines Kernel-Moduls anzuzeigen.

$ modinfo -l kvm

Oder,

$ modinfo --license kvm

Die obigen Befehle entsprechen dem folgenden Befehl:

$ modinfo -F license kvm

Für mehr Details über modinfo Befehl, schauen Sie in seine Manpages.

$ man modinfo

Hoffe das hilft.

Verwandte Lektüre:

  • Alle installierten Linux-Kernel von der Befehlszeile aus auflisten oder prüfen
  • Linux-Kernel-Module mit Kmon verwalten und überwachen

Linux
  1. JQ-Befehl in Linux mit Beispielen

  2. So verwenden Sie den Rmmod-Befehl unter Linux mit Beispielen

  3. So verwenden Sie den Befehl type (Informationen zum Befehl anzeigen) unter Linux

  4. Linux – Ein verdorbener Kernel in Linux?

  5. Linux-ls-Befehl

Datumsbefehl in Linux mit Verwendungsbeispielen

Linux-Befehl modprobe mit nützlichen Beispielen

Linux-Befehl slabtop – Informationen zum Kernel-Slab-Cache anzeigen

Informationen zu geladenen Kernelmodulen mit dem Lsmod-Befehl auflisten

Verwalten und überwachen Sie Linux-Kernel-Module mit Kmon

Erhalten Sie Informationen über einen Befehl mit Type Command in Linux