Dmesg: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „=== Einzelnachweise ===↵<references />“ durch „“
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(30 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:dmesg}}
'''dmesg''' - zeigt und steuert den [[Kernel-Ringpuffer]]
 
'''dmesg''' steuert und zeigt den [[Kernel-Ringpuffer]] an


== Beschreibung ==
== Beschreibung ==
* dmesg wird zur Untersuchung und Steuerung des Kernel-Ringpuffers verwendet.
Untersuchung und Steuerung des [[Kernel-Ringpuffer]]s
* Die Vorgabeaktion beinhaltet das Anzeigen aller Meldungen des Kernel-Ringpuffers.


== Installation ==
== Installation ==
Der Befehl dmesg ist Teil des Pakets [[:kategorie:util-linux |util-linux ]]
'''dmesg''' ist Teil des Pakets [[util-linux]]


== Anwendungen ==
== Aufruf ==
=== Fehlerbehebung ===
<syntaxhighlight lang="bash" highlight="1-6" line>
== Syntax ==
dmesg [Optionen]
dmesg [Optionen]
dmesg --clear
dmesg --clear
dmesg --read-clear [Optionen]
dmesg --read-clear [Optionen]
dmesg --console-level Stufe
dmesg --console-level Stufe
dmesg --console-on
dmesg --console-on
dmesg --console-off
dmesg --console-off
</syntaxhighlight>
Die Vorgabeaktion beinhaltet das Anzeigen aller Meldungen des Kernel-Ringpuffers


=== Optionen ===
=== Optionen ===
{| class="wikitable sortable"  
{| class="wikitable sortable options"
|-
! Unix !! GNU !! Beschreibung
|-
|-
| -C || --clear || leert den Ringpuffer.
! Unix !! GNU !! Parameter ||Beschreibung
|-
|-
| -c || --read-clear || löscht den Inhalt des Ringpuffers, nachdem dessen Inhalt ausgegeben wurde.
| -C || --clear || || leert den Ringpuffer
|-
|-
| -D || --console-off || deaktiviert die Ausgabe der Meldungen in der Konsole.
| -c || --read-clear || || löscht den Inhalt des Ringpuffers, nachdem dessen Inhalt ausgegeben wurde
|-
|-
| -d || --show-delta || zeigt den Zeitstempel und die zwischen den Meldungen vergangene Zeit an. Wenn Sie dies zusammen mit --notime verwenden, werden nur die Zeiträume ohne Zeitstempel angezeigt.
| -D || &#8209;&#8209;console&#8209;off || || deaktiviert die Ausgabe der Meldungen in der Konsole
|-
|-
| -E || --console-on || aktiviert die Ausgabe der Meldungen in der Konsole.
| -d || --show-delta || || zeigt den Zeitstempel und die zwischen den Meldungen vergangene Zeit an. Wenn Sie dies zusammen mit --notime verwenden, werden nur die Zeiträume ohne Zeitstempel angezeigt
|-
|-
| -e || --reltime || zeigt die lokale Zeit und den Zeitversatz im menschenlesbaren Format an. Denken Sie daran, dass die Umwandlung in die lokale Zeit ungenau sein kann. Weitere Details finden Sie in den Erläuterungen zu -T.
| -E || --console-on || || aktiviert die Ausgabe der Meldungen in der Konsole
|-
|-
| -F || --file Datei || liest die Syslog-Nachrichten aus der angegeben Datei. Beachten Sie, dass -F keine Nachrichten im Kmsg-Format unterstützt. Es wird nur das alte Syslog-Format unterstützt.
| -e || --reltime || || zeigt die lokale Zeit und den Zeitversatz im menschenlesbaren Format an. Denken Sie daran, dass die Umwandlung in die lokale Zeit ungenau sein kann. Weitere Details finden Sie in den Erläuterungen zu -T
|-
|-
| -f || --facility Liste || begrenzt die Ausgabe auf eine (durch Kommata getrennte) Liste der Einrichtungen. Zum Beispiel gibt dmesg --facility=Daemon ausschließlich Meldungen von Daemons (Systemdiensten) aus. Eine Liste aller möglichen Einrichtungen finden Sie in der Ausgabe des Befehls mit der Option --help.
| -F || --file || Datei || liest die Syslog-Nachrichten aus der angegeben Datei. Beachten Sie, dass -F keine Nachrichten im Kmsg-Format unterstützt. Es wird nur das alte Syslog-Format unterstützt
|-
|-
| -H || --human || aktiviert die menschenlesbare Ausgabe. Siehe auch die Optionen --color, --reltime und --nopager.
| -f || --facility || Liste || begrenzt die Ausgabe auf eine (durch Kommata getrennte) Liste der Einrichtungen. Zum Beispiel gibt dmesg --facility=Daemon ausschließlich Meldungen von Daemons (Systemdiensten) aus. Eine Liste aller möglichen Einrichtungen finden Sie in der Ausgabe des Befehls mit der Option --help
|-
|-
| -J || --json || verwendet das JSON-Ausgabeformat. Die Zeit wird nur im Format »Sekunden.Mikrosekunden« ausgegeben, wobei die Prioritätsstufe der Protokollierung nicht ermittelt wird (mit --decode können Sie Einrichtung und Priorität voneinander trennen). Die anderen Optionen zur Steuerung des Ausgabe- oder Zeitformats werden stillschweigend ignoriert.
| -H || --human || || aktiviert die menschenlesbare Ausgabe. Siehe auch die Optionen --color, --reltime und --nopager
|-
|-
| -k || --kernel || gibt Kernelmeldungen aus.
| -J || --json || || verwendet das JSON-Ausgabeformat. Die Zeit wird nur im Format »Sekunden.Mikrosekunden« ausgegeben, wobei die Prioritätsstufe der Protokollierung nicht ermittelt wird (mit --decode können Sie Einrichtung und Priorität voneinander trennen). Die anderen Optionen zur Steuerung des Ausgabe- oder Zeitformats werden stillschweigend ignoriert
|-
|-
| -L || --color[=WANN] || stellt die Ausgabe farbig dar. Das optionale Argument wann kann auto, never oder always sein. Falls wann nicht angegeben ist, ist auto die Voreinstellung. Die Farben können deaktiviert werden, für die aktuellen eingebauten Vorgabewerte schauen Sie sich die Ausgabe von --help an. Siehe auch den Abschnitt FARBEN weiter unten.
| -k || --kernel || || gibt Kernelmeldungen aus
|-
|-
| -l || --level Liste || beschränkt die Ausgabe auf die (durch Kommata getrennte) Liste der Stufen. Zum Beispiel gibt dmesg --level=err,warn nur Fehlermeldungen und Warnungen aus. Rufen Sie dmesg --help auf, um eine Liste aller unterstützten Stufen zu sehen.
| -L || --color= || [WANN] || stellt die Ausgabe farbig dar. Das optionale Argument wann kann auto, never oder always sein. Falls wann nicht angegeben ist, ist auto die Voreinstellung. Die Farben können deaktiviert werden, für die aktuellen eingebauten Vorgabewerte schauen Sie sich die Ausgabe von --help an. Siehe auch den Abschnitt FARBEN weiter unten
|-
|-
| -n || --console-level Stufe || setzt die Stufe (die Protokollierstufe) für die Ausgabe der Meldungen in der Konsole. Stufe ist dabei als Nummer oder Abkürzung des Namens der Stufe anzugeben. Rufen Sie dmesg --help auf, um eine Liste der unterstützten Stufen anzeigen zu lassen. Zum Beispiel unterdrücken -n 1 oder -n emerg alle Meldungen außer Notfallmeldungen (»panic«). Sämtliche Nachrichtenstufen werden noch nach    /proc/kmsg geschrieben, so dass Sie mit syslogd(8) steuern können, wo Kernelmeldungen erscheinen. Mit der Option -n gibt dmesg keine Meldungen aus und löscht den Ringpuffer nicht.
| -l || --level || Liste || beschränkt die Ausgabe auf die (durch Kommata getrennte) Liste der Stufen. Zum Beispiel gibt dmesg --level=err,warn nur Fehlermeldungen und Warnungen aus. Rufen Sie dmesg --help auf, um eine Liste aller unterstützten Stufen zu sehen
|-
|-
| || --noescape || Die nicht darstellbaren und potenziell unsicheren Zeichen (zum Beispiel beschädigte Multibyte-Sequenzen, Terminal-Steuerzeichen usw.) werden aus Sicherheitsgründen standardmäßig im Format \x<hex> maskiert. Diese Option deaktiviert dieses Funktionsmerkmal völlig. Es ist zum Beispiel zusammen mit --raw für Debugging-Zwecke nützlich. Seien Sie vorsichtig und verwenden Sie es nicht standardmäßig.
| -n || &#8209;&#8209;console&#8209;level || Stufe || setzt die Stufe (die Protokollierstufe) für die Ausgabe der Meldungen in der Konsole. Stufe ist dabei als Nummer oder Abkürzung des Namens der Stufe anzugeben. Rufen Sie dmesg --help auf, um eine Liste der unterstützten Stufen anzeigen zu lassen. Zum Beispiel unterdrücken -n 1 oder -n emerg alle Meldungen außer Notfallmeldungen (»panic«). Sämtliche Nachrichtenstufen werden noch nach /proc/kmsg geschrieben, so dass Sie mit syslogd(8) steuern können, wo Kernelmeldungen erscheinen. Mit der Option -n gibt dmesg keine Meldungen aus und löscht den Ringpuffer nicht
|-
|-
| -P || --nopager || leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter. Ein Textanzeigeprogramm ist in der Voreinstellung aktiviert, wenn die Option --human verwendet wird.
| || --noescape || || Die nicht darstellbaren und potenziell unsicheren Zeichen (zum Beispiel beschädigte Multibyte-Sequenzen, Terminal-Steuerzeichen usw.) werden aus Sicherheitsgründen standardmäßig im Format \x<hex> maskiert. Diese Option deaktiviert dieses Funktionsmerkmal völlig. Es ist zum Beispiel zusammen mit --raw für Debugging-Zwecke nützlich. Seien Sie vorsichtig und verwenden Sie es nicht standardmäßig
|-
|-
| -p || --force-prefix || Fügt Einrichtungs-, Stufen- oder Zeitstempelinformationen zu jeder Zeile einer mehrzeiligen Nachricht hinzu.
| -P || --nopager || || leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter. Ein Textanzeigeprogramm ist in der Voreinstellung aktiviert, wenn die Option --human verwendet wird
|-
|-
| -r || --raw || zeigt den unverarbeiteten Meldungspuffer an. Die Präfixe der Protokollierstufen werden nicht entfernt, aber alle nicht darstellbaren Zeichen sind noch maskiert (siehe auch --noescape).    Beachten Sie, dass das reale unverarbeitete Format davon abhängt, wie dmesg Kernelmeldungen liest. Das Gerät /dev/kmsg verwendet ein anderes Format als syslog(2). Um Abwärtskompatibilität zu gewährleisten, gibt dmesg die Daten stets im syslog(2)-Format zurück. Es ist dennoch möglich, dass die echten Rohdaten, beispielsweise mit dem Befehl »dd if=/dev/kmsg iflag=nonblock« aus /dev/kmsg gelesen werden.
| -p || --force-prefix || || Fügt Einrichtungs-, Stufen- oder Zeitstempelinformationen zu jeder Zeile einer mehrzeiligen Nachricht hinzu
|-
|-
| -S || --syslog || erzwingt, dass dmesg die syslog(2)-Kernelschnittstelle zum Lesen der Kernelmeldungen  verwendet. In der Voreinstellung wird seit Kernel 3.5.0 /dev/kmsg anstatt syslog(2) bevorzugt.
| -r || --raw || || zeigt den unverarbeiteten Meldungspuffer an. Die Präfixe der Protokollierstufen werden nicht entfernt, aber alle nicht darstellbaren Zeichen sind noch maskiert (siehe auch --noescape). Beachten Sie, dass das reale unverarbeitete Format davon abhängt, wie dmesg Kernelmeldungen liest. Das Gerät /dev/kmsg verwendet ein anderes Format als syslog(2). Um Abwärtskompatibilität zu gewährleisten, gibt dmesg die Daten stets im syslog(2)-Format zurück. Es ist dennoch möglich, dass die echten Rohdaten, beispielsweise mit dem Befehl »dd if=/dev/kmsg iflag=nonblock« aus /dev/kmsg gelesen werden
|-
|-
| -s || --buffer-size Größe || verwendet einen Puffer der angegebenen Größe zur Abfrage des Kernel-Ringpuffers. Die vorgegebene Größe ist 16392. (Die Vorgabegröße war in der Vergangenheit zunächst 4096, dann 8192 seit Kernel 1.3.54 und 16384 seit Kernel 2.1.113) Falls Sie den Kernelpuffer größer gewählt haben als die Vorgabe, kann diese Option zur Anzeige des gesamten Puffers verwendet werden.
| -S || --syslog || || erzwingt, dass dmesg die syslog(2)-Kernelschnittstelle zum Lesen der Kernelmeldungen verwendet. In der Voreinstellung wird seit Kernel 3.5.0 /dev/kmsg anstatt syslog(2) bevorzugt
|-
|-
| -T || --ctime || gibt menschenlesbare Zeitstempel aus. Der Zeitstempel könnte allerdings ungenau sein! Die für die Protokollierung verwendete Zeit wird nach SUSPEND- und RESUME-Vorgängen nicht erneut abgeglichen. Zeitstempel werden anhand der aktuellen Differenz zwischen Startzeit- und monotonen Uhren abgeglichen; das funktioniert nur für Meldungen, die nach dem letzten Aufwachen ausgegeben wurden.
| -s || --buffer-size || Größe || verwendet einen Puffer der angegebenen Größe zur Abfrage des Kernel-Ringpuffers. Die vorgegebene Größe ist 16392. (Die Vorgabegröße war in der Vergangenheit zunächst 4096, dann 8192 seit Kernel 1.3.54 und 16384 seit Kernel 2.1.113) Falls Sie den Kernelpuffer größer gewählt haben als die Vorgabe, kann diese Option zur Anzeige des gesamten Puffers verwendet werden
|-
|-
| || --since Zeit || zeigt die Aufzeichnungen seit der angegebenen Zeit an. Sie können die Zeit sowohl absolut als auch in relativer Notation angeben (zum Beispiel »1 hour ago«). Rechnen Sie damit, dass der Zeitstempel ungenau sein könnte; siehe --ctime für weitere Details.
| -T || --ctime || || gibt menschenlesbare Zeitstempel aus. Der Zeitstempel könnte allerdings ungenau sein! Die für die Protokollierung verwendete Zeit wird nach SUSPEND- und RESUME-Vorgängen nicht erneut abgeglichen. Zeitstempel werden anhand der aktuellen Differenz zwischen Startzeit- und monotonen Uhren abgeglichen; das funktioniert nur für Meldungen, die nach dem letzten Aufwachen ausgegeben wurden
|-
|-
| || --until Zeit || zeigt die Aufzeichnungen bis zur angegebenen Zeit an. Sie können die Zeit sowohl absolut als auch in relativer Notation angeben (zum Beispiel »1 hour ago«). Rechnen Sie damit, dass der Zeitstempel ungenau sein könnte; siehe --ctime für weitere Details.
| || --since Zeit || || zeigt die Aufzeichnungen seit der angegebenen Zeit an. Sie können die Zeit sowohl absolut als auch in relativer Notation angeben (zum Beispiel »1 hour ago«). Rechnen Sie damit, dass der Zeitstempel ungenau sein könnte; siehe --ctime für weitere Details
|-
|-
| -t || --notime || verhindert die Ausgabe von Zeitstempeln des Kernels.
| || --until Zeit || || zeigt die Aufzeichnungen bis zur angegebenen Zeit an. Sie können die Zeit sowohl absolut als auch in relativer Notation angeben (zum Beispiel »1 hour ago«). Rechnen Sie damit, dass der Zeitstempel ungenau sein könnte; siehe --ctime für weitere Details
|-
|-
| || --time-format Format || gibt Zeitstempel im angegebenen Format aus, welches ctime, reltime, delta oder iso sein kann. Die ersten drei Formate sind Aliase der Zeitformat-spezifischen Optionen. Das iso-Format ist eine dmesg-Implementierung des Zeitstempelformats ISO-8601. Dieses Format dient dazu, den Vergleich der Zeitstempel zweier Systeme und deren weitere Verarbeitung zu erleichtern. Die Definition des iso-Zeitstempels lautet: YYYY-MM-DD<T>HH:MM:SS,<Mikrosekunden><-+><Zeitzonenversatz zur Weltzeit>. Das iso-Format hat das gleiche Problem wie ctime: Die Zeit kann ungenau sein, wenn ein System in einen Energiesparmodus versetzt und wieder aufgeweckt wird.
| -t || --notime || || verhindert die Ausgabe von Zeitstempeln des Kernels
|-
|-
| -u || --userspace || gibt Meldungen der Anwendungsebene aus.
| || &#8209;&#8209;time&#8209;format || Format || gibt Zeitstempel im angegebenen Format aus, welches ctime, reltime, delta oder iso sein kann. Die ersten drei Formate sind Aliase der Zeitformat-spezifischen Optionen. Das iso-Format ist eine dmesg-Implementierung des Zeitstempelformats ISO-8601. Dieses Format dient dazu, den Vergleich der Zeitstempel zweier Systeme und deren weitere Verarbeitung zu erleichtern. Die Definition des iso-Zeitstempels lautet: YYYY-MM-DD<T>HH:MM:SS,<Mikrosekunden><-+><Zeitzonenversatz zur Weltzeit>. Das iso-Format hat das gleiche Problem wie ctime: Die Zeit kann ungenau sein, wenn ein System in einen Energiesparmodus versetzt und wieder aufgeweckt wird
|-
|-
| -w || --follow || wartet auf neue Meldungen. Dieses Funktionsmerkmal wird nur auf Systemen unterstützt, auf denen /dev/kmsg lesbar ist (seit Kernel 3.5.0).
| -u || --userspace || || gibt Meldungen der Anwendungsebene aus
|-
|-
| -W || --follow-new || wartet und gibt nur neue Meldungen aus.
| -w || --follow || || wartet auf neue Meldungen. Dieses Funktionsmerkmal wird nur auf Systemen unterstützt, auf denen /dev/kmsg lesbar ist (seit Kernel 3.5.0)
|-
|-
| -x || --decode || dekodiert die Einrichtungs- und Stufennummer (Priorität) in menschenlesbare Präfixe.
| -W || --follow-new || || wartet und gibt nur neue Meldungen aus
|-
|-
| -h || --help || zeigt einen Hilfetext an und beendet das Programm.
| -x || --decode || || dekodiert die Einrichtungs- und Stufennummer (Priorität) in menschenlesbare Präfixe
|-
|-
| -V || --version || zeigt die Versionsnummer an und beendet das Programm.
| -h || --help || || zeigt einen Hilfetext an und beendet das Programm
|-
| -V || --version || || zeigt die Versionsnummer an und beendet das Programm
|}
|}


;Die Optionen --clear, --read-clear, --console-on, --console-off und --console-level schließen sich gegenseitig aus.
Die Optionen --clear, --read-clear, --console-on, --console-off und --console-level schließen einander aus


=== FARBEN ===
=== Farben ===
* Die farbige Darstellung der Ausgabe wird über die Funktionen in terminal-colors.d(5) gesteuert.
Die farbige Darstellung der Ausgabe wird über die Funktionen in terminal-colors.d(5) gesteuert
* Die implizierte Einfärbung kann deaktiviert werden, indem Sie folgende (leere) Datei anlegen:
* Die implizierte Einfärbung kann deaktiviert werden, indem Sie folgende (leere) Datei anlegen:
  /etc/terminal-colors.d/dmesg.disable
  /etc/terminal-colors.d/dmesg.disable
Zeile 98: Zeile 96:
  /etc/terminal-colors.d/disable
  /etc/terminal-colors.d/disable


Die benutzerspezifischen $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d setzen die globale Einstellung außer Kraft.
Die benutzerspezifischen $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d setzen die globale Einstellung außer Kraft


Beachten Sie, dass die Einfärbung der Ausgabe standardmäßig aktiviert sein könnte und in diesem Fall die terminal-colors.d-Verzeichnisse noch nicht zwangsläufig vorhanden sein müssen.
Beachten Sie, dass die Einfärbung der Ausgabe standardmäßig aktiviert sein könnte und in diesem Fall die terminal-colors.d-Verzeichnisse noch nicht zwangsläufig vorhanden sein müssen


Folgende logische Farbnamen werden von dmesg unterstützt:
Folgende logische Farbnamen werden von dmesg unterstützt:


{| class="wikitable sortable"  
{| class="wikitable sortable"
|-  
|-
! Aufgabe !! Befehl
! Aufgabe !! Befehl
|-  
|-
| subsys || Das Subsystem-Präfix der Meldung (z.&nbsp;B.&nbsp;»ACPI:«).
| subsys || Das Subsystem-Präfix der Meldung (z.&nbsp;B.&nbsp;»ACPI:«)
|-  
|-
| time || Der Zeitstempel der Meldung.
| time || Der Zeitstempel der Meldung
|-  
|-
| timebreak || zeigt den Zeitstempel der Meldung im gekürzten ctime-Format in der Ausgabe mit --reltime oder --human.
| timebreak || zeigt den Zeitstempel der Meldung im gekürzten ctime-Format in der Ausgabe mit --reltime oder --human
|-  
|-
| alert || zeigt den Text der Meldung mit der Protokollpriorität »alert« an.
| alert || zeigt den Text der Meldung mit der Protokollpriorität »alert« an
|-  
|-
| crit || zeigt den Text der Meldung mit der Protokollpriorität »critical« an.
| crit || zeigt den Text der Meldung mit der Protokollpriorität »critical« an
|-  
|-
| err || zeigt den Text der Meldung mit der Protokollpriorität »error« an.
| err || zeigt den Text der Meldung mit der Protokollpriorität »error« an
|-  
|-
| warn || zeigt den Text der Meldung mit der Protokollpriorität »warning« an.
| warn || zeigt den Text der Meldung mit der Protokollpriorität »warning« an
|-  
|-
| segfault || Der Text der Meldung, die über Speicherzugriffsfehler informiert.
| segfault || Der Text der Meldung, die über Speicherzugriffsfehler informiert
|}
|}
=== Parameter ===
 
=== Umgebungsvariablen ===
=== Rückgabewert ===
* dmesg kann fehlschlagen und einen Zugriffsrechteverweigerungsfehler melden
* Dies wird normalerweise durch die Kerneleinstellung dmesg_restrict hervorgerufen, siehe bitte syslog(2) für weitere Details
 
=== Exit-Status ===
=== Exit-Status ===
* dmesg kann fehlschlagen und einen Zugriffsrechteverweigerungsfehler melden.
* Dies wird normalerweise durch die Kerneleinstellung dmesg_restrict hervorgerufen, siehe bitte syslog(2) für weitere Details.


== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
== Sicherheit ==
<noinclude>
== Dokumentation ==
=== RFC ===
=== Man-Pages ===
=== Info-Pages ===
== Siehe auch ==
# terminal-colors.d(5)
# syslogd(8)


== Links ==
== Anhang ==
=== Projekt ===
=== Siehe auch ===
=== Weblinks ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
* terminal-colors.d(5)
* syslogd(8)


== Testfragen ==
==== Dokumentation ====
<div class="toccolours mw-collapsible mw-collapsed">
===== Man-Page =====
''Testfrage 1''
===== Info-Pages =====
<div class="mw-collapsible-content">'''Antwort1'''</div>
==== Links ====
</div>
===== Projekt =====
<div class="toccolours mw-collapsible mw-collapsed">
===== Weblinks =====
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


{{DEFAULTSORT:dmesg}}
{{DISPLAYTITLE:dmesg}}


[[Kategorie:util-linux]]
[[Kategorie:util-linux]]
Zeile 172: Zeile 153:
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Befehl]]


{{DEFAULTSORT:dmesg}}
</noinclude>

Aktuelle Version vom 12. November 2024, 18:46 Uhr

dmesg - zeigt und steuert den Kernel-Ringpuffer

Beschreibung

Untersuchung und Steuerung des Kernel-Ringpuffers

Installation

dmesg ist Teil des Pakets util-linux

Aufruf

dmesg [Optionen]
dmesg --clear
dmesg --read-clear [Optionen]
dmesg --console-level Stufe
dmesg --console-on
dmesg --console-off

Die Vorgabeaktion beinhaltet das Anzeigen aller Meldungen des Kernel-Ringpuffers

Optionen

Unix GNU Parameter Beschreibung
-C --clear leert den Ringpuffer
-c --read-clear löscht den Inhalt des Ringpuffers, nachdem dessen Inhalt ausgegeben wurde
-D ‑‑console‑off deaktiviert die Ausgabe der Meldungen in der Konsole
-d --show-delta zeigt den Zeitstempel und die zwischen den Meldungen vergangene Zeit an. Wenn Sie dies zusammen mit --notime verwenden, werden nur die Zeiträume ohne Zeitstempel angezeigt
-E --console-on aktiviert die Ausgabe der Meldungen in der Konsole
-e --reltime zeigt die lokale Zeit und den Zeitversatz im menschenlesbaren Format an. Denken Sie daran, dass die Umwandlung in die lokale Zeit ungenau sein kann. Weitere Details finden Sie in den Erläuterungen zu -T
-F --file Datei liest die Syslog-Nachrichten aus der angegeben Datei. Beachten Sie, dass -F keine Nachrichten im Kmsg-Format unterstützt. Es wird nur das alte Syslog-Format unterstützt
-f --facility Liste begrenzt die Ausgabe auf eine (durch Kommata getrennte) Liste der Einrichtungen. Zum Beispiel gibt dmesg --facility=Daemon ausschließlich Meldungen von Daemons (Systemdiensten) aus. Eine Liste aller möglichen Einrichtungen finden Sie in der Ausgabe des Befehls mit der Option --help
-H --human aktiviert die menschenlesbare Ausgabe. Siehe auch die Optionen --color, --reltime und --nopager
-J --json verwendet das JSON-Ausgabeformat. Die Zeit wird nur im Format »Sekunden.Mikrosekunden« ausgegeben, wobei die Prioritätsstufe der Protokollierung nicht ermittelt wird (mit --decode können Sie Einrichtung und Priorität voneinander trennen). Die anderen Optionen zur Steuerung des Ausgabe- oder Zeitformats werden stillschweigend ignoriert
-k --kernel gibt Kernelmeldungen aus
-L --color= [WANN] stellt die Ausgabe farbig dar. Das optionale Argument wann kann auto, never oder always sein. Falls wann nicht angegeben ist, ist auto die Voreinstellung. Die Farben können deaktiviert werden, für die aktuellen eingebauten Vorgabewerte schauen Sie sich die Ausgabe von --help an. Siehe auch den Abschnitt FARBEN weiter unten
-l --level Liste beschränkt die Ausgabe auf die (durch Kommata getrennte) Liste der Stufen. Zum Beispiel gibt dmesg --level=err,warn nur Fehlermeldungen und Warnungen aus. Rufen Sie dmesg --help auf, um eine Liste aller unterstützten Stufen zu sehen
-n ‑‑console‑level Stufe setzt die Stufe (die Protokollierstufe) für die Ausgabe der Meldungen in der Konsole. Stufe ist dabei als Nummer oder Abkürzung des Namens der Stufe anzugeben. Rufen Sie dmesg --help auf, um eine Liste der unterstützten Stufen anzeigen zu lassen. Zum Beispiel unterdrücken -n 1 oder -n emerg alle Meldungen außer Notfallmeldungen (»panic«). Sämtliche Nachrichtenstufen werden noch nach /proc/kmsg geschrieben, so dass Sie mit syslogd(8) steuern können, wo Kernelmeldungen erscheinen. Mit der Option -n gibt dmesg keine Meldungen aus und löscht den Ringpuffer nicht
--noescape Die nicht darstellbaren und potenziell unsicheren Zeichen (zum Beispiel beschädigte Multibyte-Sequenzen, Terminal-Steuerzeichen usw.) werden aus Sicherheitsgründen standardmäßig im Format \x<hex> maskiert. Diese Option deaktiviert dieses Funktionsmerkmal völlig. Es ist zum Beispiel zusammen mit --raw für Debugging-Zwecke nützlich. Seien Sie vorsichtig und verwenden Sie es nicht standardmäßig
-P --nopager leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter. Ein Textanzeigeprogramm ist in der Voreinstellung aktiviert, wenn die Option --human verwendet wird
-p --force-prefix Fügt Einrichtungs-, Stufen- oder Zeitstempelinformationen zu jeder Zeile einer mehrzeiligen Nachricht hinzu
-r --raw zeigt den unverarbeiteten Meldungspuffer an. Die Präfixe der Protokollierstufen werden nicht entfernt, aber alle nicht darstellbaren Zeichen sind noch maskiert (siehe auch --noescape). Beachten Sie, dass das reale unverarbeitete Format davon abhängt, wie dmesg Kernelmeldungen liest. Das Gerät /dev/kmsg verwendet ein anderes Format als syslog(2). Um Abwärtskompatibilität zu gewährleisten, gibt dmesg die Daten stets im syslog(2)-Format zurück. Es ist dennoch möglich, dass die echten Rohdaten, beispielsweise mit dem Befehl »dd if=/dev/kmsg iflag=nonblock« aus /dev/kmsg gelesen werden
-S --syslog erzwingt, dass dmesg die syslog(2)-Kernelschnittstelle zum Lesen der Kernelmeldungen verwendet. In der Voreinstellung wird seit Kernel 3.5.0 /dev/kmsg anstatt syslog(2) bevorzugt
-s --buffer-size Größe verwendet einen Puffer der angegebenen Größe zur Abfrage des Kernel-Ringpuffers. Die vorgegebene Größe ist 16392. (Die Vorgabegröße war in der Vergangenheit zunächst 4096, dann 8192 seit Kernel 1.3.54 und 16384 seit Kernel 2.1.113) Falls Sie den Kernelpuffer größer gewählt haben als die Vorgabe, kann diese Option zur Anzeige des gesamten Puffers verwendet werden
-T --ctime gibt menschenlesbare Zeitstempel aus. Der Zeitstempel könnte allerdings ungenau sein! Die für die Protokollierung verwendete Zeit wird nach SUSPEND- und RESUME-Vorgängen nicht erneut abgeglichen. Zeitstempel werden anhand der aktuellen Differenz zwischen Startzeit- und monotonen Uhren abgeglichen; das funktioniert nur für Meldungen, die nach dem letzten Aufwachen ausgegeben wurden
--since Zeit zeigt die Aufzeichnungen seit der angegebenen Zeit an. Sie können die Zeit sowohl absolut als auch in relativer Notation angeben (zum Beispiel »1 hour ago«). Rechnen Sie damit, dass der Zeitstempel ungenau sein könnte; siehe --ctime für weitere Details
--until Zeit zeigt die Aufzeichnungen bis zur angegebenen Zeit an. Sie können die Zeit sowohl absolut als auch in relativer Notation angeben (zum Beispiel »1 hour ago«). Rechnen Sie damit, dass der Zeitstempel ungenau sein könnte; siehe --ctime für weitere Details
-t --notime verhindert die Ausgabe von Zeitstempeln des Kernels
‑‑time‑format Format gibt Zeitstempel im angegebenen Format aus, welches ctime, reltime, delta oder iso sein kann. Die ersten drei Formate sind Aliase der Zeitformat-spezifischen Optionen. Das iso-Format ist eine dmesg-Implementierung des Zeitstempelformats ISO-8601. Dieses Format dient dazu, den Vergleich der Zeitstempel zweier Systeme und deren weitere Verarbeitung zu erleichtern. Die Definition des iso-Zeitstempels lautet: YYYY-MM-DD<T>HH:MM:SS,<Mikrosekunden><-+><Zeitzonenversatz zur Weltzeit>. Das iso-Format hat das gleiche Problem wie ctime: Die Zeit kann ungenau sein, wenn ein System in einen Energiesparmodus versetzt und wieder aufgeweckt wird
-u --userspace gibt Meldungen der Anwendungsebene aus
-w --follow wartet auf neue Meldungen. Dieses Funktionsmerkmal wird nur auf Systemen unterstützt, auf denen /dev/kmsg lesbar ist (seit Kernel 3.5.0)
-W --follow-new wartet und gibt nur neue Meldungen aus
-x --decode dekodiert die Einrichtungs- und Stufennummer (Priorität) in menschenlesbare Präfixe
-h --help zeigt einen Hilfetext an und beendet das Programm
-V --version zeigt die Versionsnummer an und beendet das Programm

Die Optionen --clear, --read-clear, --console-on, --console-off und --console-level schließen einander aus

Farben

Die farbige Darstellung der Ausgabe wird über die Funktionen in terminal-colors.d(5) gesteuert

  • Die implizierte Einfärbung kann deaktiviert werden, indem Sie folgende (leere) Datei anlegen:
/etc/terminal-colors.d/dmesg.disable

Dies gilt für den Befehl dmesg. Die farbige Darstellung bei allen Werkzeugen erreichen Sie mit

/etc/terminal-colors.d/disable

Die benutzerspezifischen $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d setzen die globale Einstellung außer Kraft

Beachten Sie, dass die Einfärbung der Ausgabe standardmäßig aktiviert sein könnte und in diesem Fall die terminal-colors.d-Verzeichnisse noch nicht zwangsläufig vorhanden sein müssen

Folgende logische Farbnamen werden von dmesg unterstützt:

Aufgabe Befehl
subsys Das Subsystem-Präfix der Meldung (z. B. »ACPI:«)
time Der Zeitstempel der Meldung
timebreak zeigt den Zeitstempel der Meldung im gekürzten ctime-Format in der Ausgabe mit --reltime oder --human
alert zeigt den Text der Meldung mit der Protokollpriorität »alert« an
crit zeigt den Text der Meldung mit der Protokollpriorität »critical« an
err zeigt den Text der Meldung mit der Protokollpriorität »error« an
warn zeigt den Text der Meldung mit der Protokollpriorität »warning« an
segfault Der Text der Meldung, die über Speicherzugriffsfehler informiert

Rückgabewert

  • dmesg kann fehlschlagen und einen Zugriffsrechteverweigerungsfehler melden
  • Dies wird normalerweise durch die Kerneleinstellung dmesg_restrict hervorgerufen, siehe bitte syslog(2) für weitere Details

Exit-Status

Konfiguration

Dateien

Anhang

Siehe auch

  • terminal-colors.d(5)
  • syslogd(8)

Dokumentation

Man-Page
Info-Pages

Links

Projekt
Weblinks