dmesg - gibt den Kernel-Ringpuffer aus oder steuert ihn.
SYNOPSIS
dmesg [Optionen]
dmesg --clear
dmesg --read-clear [Optionen]
dmesg --console-level level
dmesg --console-on
dmesg --console-off
DESCRIPTION
dmesg wird verwendet, um den Kernel-Ringpuffer anzuzeigen oder zu steuern.
Die Standardaktion besteht darin, alle Nachrichten aus dem Kernel-Ringpuffer anzuzeigen.
OPTIONEN
Die Optionen --clear, --read-clear, --console-on, --console-off und --console-level sind gegenseitig exklusiv.
-C, --clear
Leert den Ringpuffer.
-c, --read-clear
Leert den Ringpuffer, nachdem zuerst dessen Inhalt ausgegeben wurde.
-D, --console-off
Deaktiviert die Ausgabe von Nachrichten an die Konsole.
-d, --show-delta
Zeigt den Zeitstempel und die Zeitdifferenz zwischen den Nachrichten an. Wenn zusammen mit --notime verwendet, wird nur die Zeitdifferenz ohne den Zeitstempel ausgegeben.
-E, --console-on
Aktiviert die Ausgabe von Nachrichten an die Konsole.
-e, --reltime
Zeigt die lokale Zeit und die Zeitdifferenz in einem für Menschen lesbaren Format an. Beachten Sie, dass die Umrechnung in die lokale Zeit ungenau sein kann (siehe -T für weitere Informationen).
-F, --file datei
Liest die Syslog-Nachrichten aus der angegebenen Datei. Beachten Sie, dass -F keine Nachrichten im kmsg-Format unterstützt. Verwenden Sie stattdessen -K.
-f, --facility liste
Beschränkt die Ausgabe auf die angegebene (durch Komma getrennte) Liste von Einrichtungen. Zum Beispiel:
dmesg --facility=daemon
gibt nur Nachrichten von System-Daemons aus. Für alle unterstützten Einrichtungen siehe die Ausgabe von --help.
-H, --human
Aktiviert die menschenlesbare Ausgabe. Siehe auch --color, --reltime und --nopager.
-J, --json
Verwendet das JSON-Ausgabeformat. Das Zeitstempelformat ist nur im Format "Sekunde.Mikrosekunde", die Protokollpriorität wird standardmäßig nicht dekodiert (verwenden Sie --decode, um sie in Einrichtung und Priorität aufzuteilen), die anderen Optionen zur Steuerung des Ausgabeformats oder des Zeitstempelformats werden stillschweigend ignoriert.
-K, --kmsg-file datei
Liest die /dev/kmsg-Nachrichten aus der angegebenen Datei. Verschiedene Datensätze sind voneinander durch ein NULL-Byte getrennt.
-k, --kernel
Gibt Kernel-Nachrichten aus.
-L, --color[=wenn]
Färbt die Ausgabe ein. Das optionale Argument "wenn" kann auto, never oder always sein. Wenn das Argument "wenn" weggelassen wird, ist der Standardwert auto. Die Farben können deaktiviert werden; für die aktuelle Standardeinstellung siehe die Ausgabe von --help. Siehe auch den Abschnitt COLORS unten.
-l, --level liste
Beschränkt die Ausgabe auf die angegebene (durch Komma getrennte) Liste von Ebenen. Zum Beispiel:
dmesg --level=err,warn
gibt nur Fehlermeldungen und Warnmeldungen aus. Für alle unterstützten Ebenen siehe die Ausgabe von --help.
Durch das Anhängen eines Pluszeichens + an einen Ebenennamen werden auch alle höheren Ebenen eingeschlossen. Zum Beispiel:
dmesg --level=err+
gibt die Logstufen err, crit, alert und emerg aus.
Das Anhängen bewirkt, dass alle niedrigeren Stufen eingeschlossen werden.
-n, --console-level level
Legt die Stufe fest, ab der Nachrichten auf der Konsole ausgegeben werden. Die Stufe ist eine
Stufennummer oder eine Abkürzung des Stufennamens. Für alle unterstützten Stufen siehe die
Ausgabe von --help.
Zum Beispiel verhindert -n 1 oder -n emerg alle Nachrichten, mit Ausnahme von
Notfallnachrichten (panic), die auf der Konsole angezeigt werden. Alle Stufen von Nachrichten
werden weiterhin in /proc/kmsg geschrieben, sodass syslogd(8) weiterhin verwendet werden kann,
um genau zu steuern, wo Kernel-Nachrichten angezeigt werden. Wenn die Option -n verwendet wird,
gibt dmesg die Kernel-Ringpuffer nicht aus oder löscht sie nicht.
--noescape
Die unlesbaren und potenziell unsicheren Zeichen (z. B. fehlerhafte Multibyte-Sequenzen,
Terminalsteuerzeichen usw.) werden standardmäßig aus Sicherheitsgründen im Format \x<hex>
maskiert. Diese Option deaktiviert diese Funktion. Sie kann beispielsweise zum Debuggen zusammen
mit --raw verwendet werden. Seien Sie vorsichtig und verwenden Sie sie nicht standardmäßig.
-P, --nopager
Die Ausgabe nicht an einen Pager weiterleiten. Ein Pager ist standardmäßig für --human
aktiviert.
-p, --force-prefix
Fügt jeder Zeile einer mehrzeiligen Nachricht Informationen zur Einrichtung, Stufe oder zum
Zeitstempel hinzu.
-r, --raw
Gibt den rohen Nachrichtenpuffer aus, d. h. die Logstufenpräfixe werden nicht entfernt, aber alle
unlesbaren Zeichen werden weiterhin maskiert (siehe auch --noescape).
Beachten Sie, dass das tatsächliche Rohformat von der Methode abhängt, wie dmesg Kernel-
Nachrichten liest. Das Gerät /dev/kmsg verwendet ein anderes Format als syslog(2). Um die
Abwärtskompatibilität zu gewährleisten, gibt dmesg die Daten immer im Format syslog(2) zurück.
Es ist möglich, die rohen Daten von /dev/kmsg zu lesen, z. B. mit dem Befehl 'dd if=/dev/kmsg
iflag=nonblock'.
-S, --syslog
Erzwingt, dass dmesg die Kernel-Schnittstelle syslog(2) verwendet, um Kernel-Nachrichten zu
lesen. Standardmäßig wird ab Kernel 3.5.0 /dev/kmsg anstelle von syslog(2) verwendet.
-s, --buffer-size size
Verwendet einen Puffer der Größe, um den Kernel-Ringpuffer abzufragen. Standardmäßig ist dies
16392. (Die Standardgröße des Kernel-Syslog-Puffers betrug zunächst 4096, 8192 ab 1.3.54 und
16384 ab 2.1.113.) Wenn Sie den Kernel-Puffer auf eine größere Größe als die Standardgröße
festgelegt haben, kann diese Option verwendet werden, um den gesamten Puffer anzuzeigen.
-T, --ctime
Gibt lesbare Zeitstempel aus.
Beachten Sie, dass der Zeitstempel ungenau sein kann! Die für die Protokolle verwendete
Zeitquelle wird nach dem System-SUSPEND/RESUME nicht aktualisiert. Die Zeitstempel werden
entsprechend der aktuellen Differenz zwischen der Bootzeit und den monotonen Uhren angepasst,
dies funktioniert jedoch nur für Nachrichten, die nach dem letzten Wiederaufnehmen ausgegeben
werden.
--since time
Zeigt Protokolle ab dem angegebenen Zeitpunkt an. Es wird eine Subsekundengenauigkeit unterstützt.
Der Zeitpunkt kann entweder absolut oder relativ angegeben werden (z. B. „vor 1 Stunde“). Beachten
Sie, dass der Zeitstempel ungenau sein kann, und siehe --ctime für weitere Details.
--until time
Zeigt Protokolle bis zum angegebenen Zeitpunkt an. Es wird eine Subsekundengenauigkeit unterstützt.
Der Zeitpunkt kann entweder absolut oder relativ angegeben werden (z. B. „vor 1 Stunde“). Beachten
Sie, dass der Zeitstempel ungenau sein kann, und siehe --ctime für weitere Details.
-t, --notime
Gibt die Kernel-Zeitstempel nicht aus.
--time-format format
Gibt die Zeitstempel mit dem angegebenen Format aus, das ctime, reltime, delta, iso oder raw sein kann. Die
ersten drei Formate sind Aliase für die formatspezifischen Optionen. Das Format „raw“ verwendet das
Standard-Zeitstempelformat, das die Sekunden seit dem Systemstart anzeigt. Das Format „iso“ ist eine dmesg-Implementierung
des ISO-8601-Zeitstempelformats. Der Zweck dieses Formats ist es, den Vergleich von
Zeitstempeln zwischen zwei Systemen und jede andere Analyse zu vereinfachen. Die Definition des ISO-Zeitstempels ist: JJJJ-MM-TT
Das ISO-Format hat das gleiche Problem wie ctime: Die Zeit kann ungenau sein, wenn ein System suspendiert und wiederhergestellt wird.
--time-format kann mehrmals mit unterschiedlichen Werten für format verwendet werden, um jedes
angegebene Format auszugeben.
Delta wird immer zusammen mit ctime oder raw ausgegeben, wenn diese angegeben sind.
-u, --userspace
Gibt Benutzermeldungen aus.
-w, --follow
Wartet auf neue Meldungen. Diese Funktion wird nur auf Systemen mit einem lesbaren /dev/kmsg unterstützt (seit Kernel 3.5.0).
-W, --follow-new
Wartet und gibt nur neue Meldungen aus.
-x, --decode
Decodiert die Facility- und Levelnummern (Prioritäten) in menschenlesbare Präfixe.
-h, --help
Zeigt den Hilfetext an und beendet das Programm.
-V, --version
Zeigt die Version an und beendet das Programm.
FARBEN
Die Farbdarstellung der Ausgabe wird durch die Funktionalität von terminal-colors.d(5) implementiert. Die implizite Farbgebung kann durch eine leere Datei
/etc/terminal-colors.d/dmesg.disable
für den Befehl dmesg oder für alle Tools durch
/etc/terminal-colors.d/disable
deaktiviert werden.
Seit Version 2.41 wird auch die Umgebungsvariable $NO_COLOR unterstützt, um die Farbdarstellung der Ausgabe zu deaktivieren, es sei denn, sie wird durch eine Befehlszeilenoption explizit aktiviert.
Das benutzerspezifische $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d überschreibt die globale Einstellung.
Beachten Sie, dass die Farbdarstellung der Ausgabe standardmäßig aktiviert sein kann, und in diesem Fall müssen die Verzeichnisse terminal-colors.d noch nicht vorhanden sein.
Die durch dmesg unterstützten logischen Farbnamen sind:
subsys
Das Präfix des Subsystems der Meldung (z. B. „ACPI:“).
time
Der Zeitstempel der Meldung.
timebreak
Der Zeitstempel der Meldung in kurzem ctime-Format in der Ausgabe von --reltime oder --human.
alert
Der Text der Meldung mit der Alert-Protokollpriorität.
crit
Der Text der Meldung mit der kritischen Protokollpriorität.
err
Der Text der Meldung mit der Fehlerprotokollpriorität.
warn
Der Text der Meldung mit der Warnungsprotokollpriorität.
segfault
Der Text der Meldung, die über einen Segmentierungsfehler informiert.
RÜCKGABESTATUS
dmesg kann fehlschlagen und einen Fehler „Berechtigung verweigert“ melden. Dies wird normalerweise durch die dmesg_restrict-Kernel-Einstellung verursacht. Weitere Informationen finden Sie in syslog(2).
AUTOREN
Karel Zak <_>
dmesg wurde ursprünglich von Theodore Ts’o <_> geschrieben.
SIEHE AUCH
terminal-colors.d(5), syslogd(8)
FEHLERMELDUNGEN
Für Fehlermeldungen verwenden Sie den Issue-Tracker [https://github.com/util-linux/util-linux/issues].
VERFÜGBARKEIT
Der Befehl dmesg ist Teil des Pakets util-linux, das von Linux Kernel Archive heruntergeladen werden kann [https://www.kernel.org/pub/linux/utils/util-linux/].