dmesgは/var/log/dmesg
からコンテンツを読み取るコマンドです。 less /var/log/dmesg
と比較して良い点は、人間が読める時間出力に-Tフラグを使用できることです。
次に、/var/log/dmesg.0
を見て、コンピュータがどのようにクラッシュしたかを確認します。ファイルには、前のセッションからのログが含まれています。しかし、dmesgコマンドの-Tフラグを使用したいと思います。または同等のもの。
どのように考えていますか?
私はグラフィカルツールを気にしませんが、最高のCLIソリューションです。
基本的な誤解を解消するために、dmesg
は/var/log/dmesg
からの読み取りを行いません。カーネルリングバッファーから直接読み取り、最新のNメッセージを提供します。ブートプロセスの終わりに向かって、dmesg
が呼び出され、ブートメッセージが/var/log/dmesg
に書き込まれます(そのファイルの古いバージョンは通常の方法でローテーションされます)。
Syslogを実行すると(syslogd
、rsyslogd
、syslog-ng
など)、カーネルバッファーから読み取り、/var/log/kern.log
などのファイルに書き込みます。 (これはDebian用です。他のシステムは異なります)。システムがクラッシュする前にディスクに書き込み、ディスクバッファーをフラッシュできたとすると、カーネルの死にかけている悲鳴がここにあります。
私のDebianシステムでは、/var/log/kern.log
ファイルに人間が読み取れるタイムスタンプが含まれています。
OPには少し遅れますが...
私はFedoraを使用していますが、システムがjournalctl
を使用している場合は、次のようにして、以前のシャットダウン/クラッシュ(dmesg -T
形式)からカーネルメッセージ(dmesgログ)を簡単に取得できます。
オプション:
注:-o short
と-o short-iso
もあり、日付のみが表示され、日時はそれぞれiso形式で表示されます。
コマンド:
journalctl -o short-precise -k
journalctl -o short-precise -k -b -1
journalctl -o short-precise -k -b -2
出力例:
Feb 18 21:41:26.917400 localhost.localdomain kernel: usb 2-4: USB disconnect, device number 12
Feb 18 21:41:26.917678 localhost.localdomain kernel: usb 2-4.1: USB disconnect, device number 13
Feb 18 21:41:27.246264 localhost.localdomain kernel: usb 2-4: new high-speed USB device number 22 using xhci_hcd
Feb 18 21:41:27.419395 localhost.localdomain kernel: usb 2-4: New USB device found, idVendor=05e3, idProduct=0610
Feb 18 21:41:27.419581 localhost.localdomain kernel: usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 18 21:41:27.419739 localhost.localdomain kernel: usb 2-4: Product: USB2.0 Hub
Feb 18 21:41:27.419903 localhost.localdomain kernel: usb 2-4: Manufacturer: GenesysLogic
振り返ることができるブーツの量は、次のように表示できます。
journalctl --list-boot
journalctl --list-boot
の出力は次のようになります。
-6 cc4333602fbd4bbabb0df2df9dd1f0d4 Sun 2016-11-13 08:32:58 JST—Thu 2016-11-17 07:53:59 JST
-5 85dc0d63e6a14b1b9a72424439f2bab4 Fri 2016-11-18 22:46:28 JST—Sat 2016-12-24 02:38:18 JST
-4 8abb8267e06b4c26a2466562f3422394 Sat 2016-12-24 08:10:28 JST—Sun 2017-02-12 12:31:20 JST
-3 a040f5e79a754b2a9055ac2598d430e8 Sun 2017-02-12 12:31:36 JST—Sat 2017-02-18 21:31:04 JST
-2 6c29e3b6f6a14f549f06749f9710e1f2 Sat 2017-02-18 21:31:15 JST—Sat 2017-02-18 22:36:08 JST
-1 42fd465eacd345f7b595069c7a5a14d0 Sat 2017-02-18 22:51:22 JST—Sat 2017-02-18 23:08:30 JST
0 26ea10b064ce4559808509dc7f162f07 Sat 2017-02-18 23:09:25 JST—Sun 2017-02-19 00:57:35 JST
Debianでは、dmesg
ログは次のように保存されます。
/var/log/dmesg
(ライブおよび非圧縮)/var/log/dmesg.0
(最後のセッションおよび非圧縮)/var/log/dmesg.1.gz
(最後から2番目の圧縮)/var/log/dmesg.2.gz
(前下半期および圧縮)/var/log/dmesg.3.gz
(最後から3番目で圧縮)/var/log/dmesg.4.gz
(最後から4番目、圧縮済み)許可がある場合は、cat
、more
またはless
を使用してプレーンなものを読み取り、zcat
、zmore
またはzless
圧縮されたもの