Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
dmesg steht für display message und ist ein Programm, welches die Kernel-Meldungen (genau: die Meldungen des Kernel-Ringpuffers) auf den Bildschirm ausgeben kann.
Das Programm wird im "normalen" Betrieb von Linux eher selten verwendet, ist aber immer dann nützlich, wenn Fehler im System gesucht werden, z.B. warum neue Hardware nicht korrekt erkannt oder eingebunden wird.
Die allgemeine Syntax von dmesg lautet:
dmesg OPTIONEN
Da die Ausgabe des Aufrufs von dmesg aber sehr lang ist (u.a., weil darin sämtliche Meldungen des Bootvorgangs enthalten sind), wird das Programm oft in Kombination mit einer Pipe und einem Pager wie more, less oder tail eingesetzt oder, wenn gezielt nach Meldungen gesucht wird, in Kombination mit grep.
Aber auch dmesg kennt einige Optionen, welche u.a. auch die Ausgabe filtern bzw. einschränken können:
Optionen von dmesg | |
Option | Beschreibung |
-d | Zeigt nicht nur den Zeitstempel einer Meldung an, sondern auch, wie viele Millisekunden seit der vorherigen Meldung vergangen sind |
-T | Zeigt den Zeitstempel nicht als Unix-Timecode an, sondern in einem für Menschen besser lesbaren Format: [Mo Mär 11 10:43:24 2013] |
-t | Ausgabe der Meldungen erfolgt ohne Zeitstempel |
-f F , --facility F | Zeigt nur Meldung der "facility" (=Quelle) F an. Mögliche Quellen sind: kern (kernel messages), user (random user-level messages), mail (mail system), daemon (system daemons), auth (security/authorization messages), syslog (messages generated internally by syslogd), lpr (line printer subsystem) und news (network news subsystem) |
-l L , --level L | Zeigt nur Meldungen des "levels" (=Stufe) L an. Mögliche Stufen sind: emerg (system is unusable), alert (action must be taken immediately), crit (critical conditions), err (error conditions), warn (warning conditions), notice (normal but significant condition), info (informational), debug (debug-level messages) |
-h | Zeigt die vollständige Hilfe zu dmesg an. |
dmesg kennt noch eine Reihe weitere Optionen, welche über die Option -h
aufgerufen oder in der Manpage nachgelesen werden können.
Im folgenden Beispiel werden nur Meldungen aus der Quelle user
gezeigt:
dmesg -f user
[ 18.573126] init: failsafe main process (798) killed by TERM signal
Die gleiche Ausgabe, aber mit besser lesbarer Zeitangabe:
dmesg -f user -T
[Mo Mär 11 18:04:23 2013] init: failsafe main process (798) killed by TERM signal
Der folgende Befehl zeigt nur Meldungen der Stufe debug
:
dmesg -l debug
... [ 17.350136] Registered led device: phy0-led [ 17.350163] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain [ 17.354005] ieee80211 phy0: Selected rate control algorithm 'iwl-4965-rs' [ 17.625767] snd_hda_intel 0000:00:1b.0: irq 48 for MSI/MSI-X [ 19.002576] tg3 0000:04:00.0: irq 49 for MSI/MSI-X [ 23.503001] wlan0: authenticate with 00:12:bf:71:86:8d [ 23.503084] wlan0: send auth to 00:12:bf:71:86:8d (try 1/3) [ 23.505021] wlan0: authenticated [ 23.516043] wlan0: associate with 00:12:bf:71:86:8d (try 1/3) [ 23.529425] wlan0: RX AssocResp from 00:12:bf:71:86:8d (capab=0x431 status=0
Im nächsten Beispiel wird dmesg in Kombination mit tail genutzt, so dass nur die letzten zehn Meldungen angezeigt werden:
dmesg | tail
[ 19.002576] tg3 0000:04:00.0: irq 49 for MSI/MSI-X [ 19.032556] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 19.033293] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 23.503001] wlan0: authenticate with 00:12:bf:71:86:8d [ 23.503084] wlan0: send auth to 00:12:bf:71:86:8d (try 1/3) [ 23.505021] wlan0: authenticated [ 23.516043] wlan0: associate with 00:12:bf:71:86:8d (try 1/3) [ 23.529425] wlan0: RX AssocResp from 00:12:bf:71:86:8d (capab=0x431 status=0 aid=2) [ 23.553340] wlan0: associated [ 23.553607] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Um Änderungen "live" mitverfolgen zu können, kombiniert man dmesg und tail noch mit watch:
watch 'dmesg | tail'
Unter neueren Distributionen ist auch Folgendes möglich
dmesg -w
Beendet wird die Ausgabe mit Strg + C .
Diese Revision wurde am 19. September 2016 15:10 von blubbi321 erstellt.