Der Linux-Kernel ist ein komplexes Stück Technik. Vom Boot-Up- bis zum Runlevel 5 Multi-User-Modus initialisiert und verwaltet der Linux-Kernel die Ressourcen eines PCs einschließlich des Prozessors, des Speichers, des Netzwerks, der Videoausgabe und des lokalen Speichers. Da der Kernel mit all diesen verschiedenen Subsystemen und Ressourcen arbeitet, protokolliert er verschiedene High-Level-Nachrichten, damit Systemadministratoren wissen, was sie tun. Diese Nachrichten können mit dem Befehl " dmesg " dmesg . Das Problem ist, dass die Ausgabe des Kerns für das ungeschulte Auge komplex und unverständlich erscheinen kann. Mit ein wenig Hilfe beim Verständnis der Grundlagen kann der " dmesg " -Befehl jedoch zu einem sehr mächtigen Werkzeug in einem System-Admin-Tool-Set werden.

Boot

Der schnellste Weg, Kernel-Meldungen kennen zu lernen, besteht darin, die ersten Zeilen des Boot-Prozesses zu untersuchen. Verwenden Sie den folgenden Befehl, um die erste Ausgabeseite anzuzeigen:

 dmesg | Weniger 

Die ersten drei Zeilen betreffen wahrscheinlich die Initialisierung der "Control Groups" für den Prozessor. Diese sind nicht so interessant, es sei denn, Sie sind ein Kernel-Hacker. Die nächste Zeile ist jedoch sehr wichtig. Es wird Ihnen sagen, welche Version des Linux-Kernels Sie ausführen.

Die Ausgabe auf meiner Testmaschine lautet:

 Linux Version 3.13.0-24-generisch (buildd @ roseapple) (gcc Version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)) # 46-Ubuntu SMP Do Apr 10 19:08:14 UTC 2014 (Ubuntu 3.13.0- 24.46-generisch 3.13.9) 

Was mir sagt ist, dass meine Testmaschine Linux Kernel 3.13 ausführt, der am 10. April 2014 von Ubuntu kompiliert wurde.

Die nächsten 80 bis 100 Zeilen sind alles Details auf niedriger Ebene über das BIOS, die CPU und den Speicher. Die nächste wichtige Zeile ist die Zusammenfassung des Systemspeichers. Es beginnt immer mit "Memory:". Auf meiner Testmaschine ist die Ausgabe:

 Speicher: 1525720K / 1572408K verfügbar (6507K Kernel-Code, 641K rwdata, 2752K Rodata, 872K Init, 924K bss, 46688K reserviert, 659400K highmem) 

Die Zahl nach dem Schrägstrich ist die Gesamtmenge an Systemspeicher, auf die der Linux-Kernel zugreifen kann, in diesem Fall 1, 5 GB. An diesem Punkt hat Linux den Prozessor und den Arbeitsspeicher schon fast zu Ende betrachtet und wird sich bald auf den Rest der Maschine konzentrieren, einschließlich des Videos, der USB-Ports, der Festplatten und so weiter.

Hardware-Erkennung

Die Kernel-Ausgabe ist auch eine gute Möglichkeit zu entdecken, wie Linux mit der Hardware in Ihrem PC interagiert. Um beispielsweise festzustellen, welche Festplatten der Kernel erkennt, können Sie die Nachrichten nach dem Schlüsselwort "sda" durchsuchen. Verwenden Sie dazu " grep " wie grep :

 dmesg | grep sda 

"Sda" heißt die erste SATA-Festplatte, "sdb" ist die zweite SATA-Festplatte und so weiter. Wenn Sie Ihre Festplatten nicht unter "sda", "sdb" usw. finden, versuchen Sie "hda", "hdb" und so weiter.

Um Informationen zur Netzwerkkarte zu erhalten, suchen Sie nach "eth0", zum Beispiel:

 dmesg | Grep eth0 

Auf meiner Testmaschine zeigt eine der Zeilen der "eth0" -bezogenen Ausgabe:

 e1000 0000: 00: 03.0 eth0: Intel (R) PRO / 1000 Netzwerkverbindung 

Dies sagt mir, dass meine Ethernet-Karte ein Intel PRO / 1000 (bekannt als ein e1000) ist.

Wenn Sie ein USB-Flash-Laufwerk einlegen und überprüfen möchten, ob es vom Kernel erkannt wurde und welchem ​​Gerätenamen es zugewiesen wurde, können Sie die letzten Kernel-Nachrichten mit tail :

 dmesg | Schwanz -20 

Das -20 an, dass die letzten 20 Zeilen von dmesg ausgegeben werden sollen. Die Beispielausgabe zeigt, dass ein Flash-Laufwerk von ADATA in den USB-Port eingesteckt wurde, es hat eine Kapazität von 8GB und es wurde der Gerätename von sdd .

dmesg kann ein sehr nützliches Werkzeug für Systemadministratoren sein. Probieren Sie es aus und sehen Sie, was Sie über Ihr System lernen können. Wenn Sie Fragen haben, fragen Sie sie bitte im Kommentarbereich und wir werden sehen, ob wir Ihnen helfen können.