DMESG(1)

BEZEICHNUNG
dmesg - den Kernel-Ringpuffer anzeigen und steuern

ÜBERSICHT

dmesg [Optionen]

dmesg --clear

dmesg --read-clear [Optionen]

dmesg --console-level Stufe

dmesg --console-on

dmesg --console-off

BESCHREIBUNG

dmesg wird zur Untersuchung und Steuerung des Kernel-Ringpuffers verwendet.

Die Vorgabeaktion beinhaltet das Anzeigen aller Meldungen des Kernel-Ringpuffers.

OPTIONEN

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

-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 angegebenen Datei. Beachten Sie, dass -F keine Nachrichten im Kmsg-Format unterstützt. Siehe -K als Alternative.

-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 kann nur im Format »Sekunden.Mikrosekunden« angegeben werden und die Prioritätsstufe der Protokollierung wird standardmäßig nicht ausgewertet (verwenden Sie --decode, um zwischen Einrichtung und Priorität zu teilen). Die anderen Optionen zur Steuerung des Ausgabe- oder Zeitformats werden stillschweigend ignoriert.

-K, --kmsg-file Datei
    liest die /dev/kmsg-Meldungen aus der angegebenen Datei. Die Datensätze werden wie üblich durch ein NULL-Byte getrennt.

-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

    gibt nur Fehlermeldungen und Warnungen aus. Rufen Sie dmesg --help auf, um eine Liste aller unterstützten Stufen zu sehen.

    Anhängen eines + an einen Stufennamen schließt alle höheren Stufen ein. Zum Beispiel gibt

    dmesg --level=err+

    die Stufen err, crit, alert und emerg aus.

    Voranstellen schließt alle niedrigeren Stufen ein.

-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. Unterstützt wird eine Granularität von unter einer Sekunde. 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. Unterstützt wird eine Granularität von unter einer Sekunde. 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, iso oder raw sein kann. Die ersten drei Formate sind Aliase der Zeitformat-spezifischen Optionen. Das raw-Format verwendet das standardmäßige Zeitstempelformat in Sekunden seit dem Systemstart. 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.

    --time-format kann mehrfach mit verschiedenen Werten für Format verwendet werden, um jedes angegebene Format auszugeben.

    delta folgt stets ctime oder raw, falls dies zusammen angegeben 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 Versionsinformationen an und beendet das Programm.

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

für den Befehl dmesg oder für alle Befehle mit

    /etc/terminal-colors.d/disable

Seit Version 2.41 wird auch die Umgebungsvariable $NO_COLOR unterstützt, um die farbige Darstellung der Ausgabe zu deaktivieren, sofern sie nicht explizit durch eine Befehlszeilenoption aktiviert wird.

Die benutzerspezifischen Dateien $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:

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.

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.

AUTOREN

dmesg wurde ursprünglich von geschrieben.

SIEHE AUCH

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

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das

VERFÜGBARKEIT

Der Befehl dmesg ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.