noble (1) dmesg.1.gz

Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       dmesg - カーネルの (ログ用) リングバッファの表示や制御を行う

書式

       dmesg [options]

       dmesg --clear
       dmesg --read-clear [options]
       dmesg --console-level level
       dmesg --console-on
       dmesg --console-off

説明

       dmesg は、カーネルのリングバッファを調べたり、制御したりするために使用する。

       デフォルトの動作は、カーネルのリングバッファにあるすべてのメッセージを表示することである。

オプション

       --clear, --read-clear, --console-on, --console-off, --console-level は、どれか一つしか使えない。

       -C, --clear
              リングバッファをクリアする。

       -c, --read-clear
              まずリングバッファの内容を表示し、その後でクリアする。

       -D, --console-off
              コンソールへのメッセージ出力を抑止する (訳注: ただし emergency レベルのメッセージだけは表示する)。

       -d, --show-delta
              タイムスタンプ (訳注: ブートからの経過秒数をマイクロ秒まで表示) とともに、前のメッセージ出力から経
              過した時間の増分 (time delta) を表示する。--notime  と一緒に使用した場合は、タイムスタンプは省略し
              て、時間の増分だけを表示する。

       -E, --console-on
              コンソールへのメッセージ出力を有効にする。

       -e, --reltime
              ローカルタイムと時間の増分を人間に読みやすいフォーマットで表示する。  ローカルタイムへの変換は不正
              確かもしれないことを、ご承知いただきたい (詳しくは -T を参照)。

       -F, --file file
              指定されたファイル file から syslog のメッセージを読み込む。-F は、kmsg フォーマットのメッセージを
              サポートしていないことに気をつけていただきたい。  サポートしているのは、昔ながらの  syslog  フォー
              マットだけである。

       -f, --facility list
              出力を指定されたファシリティの (コンマで区切った) リストに限定する。たとえば、

                     dmesg --facility=daemon

              は、システムデーモンのメッセージのみを表示する。  どんなファシリティがサポートされているかについて
              は、--help の出力をご覧いただきたい。

       -H, --human
              人間に読みやすい出力にする。--color, --reltime, --nopager も参照。

       -k, --kernel
              カーネルメッセージを表示する (訳注: つまり、ファシリティが kern のメッセージのみを表示する)。

       -L, --color[=when]
              出力をカラー表示にする。指定が任意の引き数 when には、auto, never, always が使える。引き数 when が
              省略された場合は、デフォルトの auto が使用される。カラー表示は無効にすることもできる。  プログラム
              に埋め込まれた現在のデフォルトが有効か無効かを知るには、 --help の出力を見ればよい。下記の「カラー
              表示」セクションもご覧いただきたい。

       -l, --level list
              出力を指定されたレベル (訳注: 重大度、緊急度) の (コンマで区切った) リストに限定する。たとえば、

                     dmesg --level=err,warn

              は、error    と    warning    メッセージのみを表示する。どんなレベルがサポートされているかについて
              は、--help の出力をご覧いただきたい。

       -n, --console-level level
              コンソールに出力されるログメッセージのレベル  (重大度)  を  level  に設定する。level  に指定するの
              は、数値のレベルか、レベルの名称の短縮形である。    どんなレベルがサポートされているかについては、
              --help の出力をご覧いただきたい。

              [訳注]  現在使用中のコンソール   (X  上の端末エミュレータではない)  に自動的に表示されるメッセージ
                      が、指定したレベル以上の重大度を持つものになる。  数値による指定の場合は、その数値を含まな
                      い、それより重大な (つまり、数値が小さい) レベルのメッセージが表示され、名称による指定の場
                      合は、 その名称を含む、それ以上の重大度のメッセージが表示されるようになる。 レベルの数値に
                      ついては、syslog(2) を参照。

              たとえば、-n  1-n emerg を指定すると、emergency (panic) 以外のすべてのメッセージが、コンソール
              に表示されなくなる。とは言え、 すべてのレベルのメッセージが /proc/kmsg  に書き込まれることに変わり
              はないので、  カーネルメッセージをどこに出力するかは、やはり syslogd(8) 使って、きちんとコントロー
              ルすることができる。なお、 -n オプションを使用したとき、dmesg がカーネルのリングバッファを表示した
              り、クリアしたりすることはない (訳注: この -n オプションは、コンソールに自動的に表示されるメッセー
              ジのレベルを設定するだけである)。

       --noescape
              非表示文字や問題を起こしかねない文字   (たとえば、破損したマルチバイトシーケンスや、端末制御文字な
              ど)   は、デフォルトではセキュリティ上の理由から   \x<hex>  の形式でエスケープされるようになってい
              る。このオプションはその機能を完全に無効にする。 このオプションは、たとえば --raw と併せて、デバッ
              グのために使用できる。 使用には気を付けること。デフォルトで使うようにしてはいけない。

       -P, --nopager
              出力をパイプでページャーに渡さない。--human の出力では、ページャーはデフォルトで使用される。

       -p, --force-prefix
              複数行メッセージの各行にファシリティ、レベル、タイムスタンプの情報を付け加える。

       -r, --raw
              メッセージバッファを未加工 (raw) のまま表示する。 すなわち、ログレベルを表す接頭辞を取り除かない。
              ただし、すべての非表示文字がエスケープされることには変わりがない (--noescape も参照)。

              注意してほしいが、実際の未加工フォーマットは、dmesg(1)  がカーネルメッセージを読み出す方法によって
              違ってくる  (訳注:  すぐ下の  -S  オプションや  -F  オプションの説明も参照)。デバイス /dev/kmsg と
              syslog(2)  では、違ったフォーマットを使っているのである。  ただし、後方互換のため、dmesg  は、常に
              syslog(2) のフォーマットでデータを返すようになっている。/dev/kmsg にある本当の未加工データは、たと
              えば、'dd if=/dev/kmsg iflag=nonblock' といったコマンドを使えば、読むことができる。

       -S, --syslog
              カーネルメッセージを読み出すのに、dmesgsyslog(2)   のカーネルインターフェースを使うようにす
              る。kernel 3.5.0 以来、syslog(2) ではなく、/dev/kmsg を使用するのがデフォルトである。

       -s, --buffer-size size
              カーネルのリングバッファへの問い合わせに、サイズ  size  のバッファを使用する。デフォルトでは 16392
              である。(デフォルトのカーネル・シスログバッファのサイズは、最初は  4096  だったが、1.3.54   以後は
              8192 になり、2.1.113 以来 16384 になった。) カーネルバッファをデフォルトより大きく設定している場合
              に、バッファを全部見るには、 このオプションを使えばよい。

       -T, --ctime
              人間に読みやすいタイムスタンプを表示する。

              「このタイムスタンプは不正確なことがある!」のをご承知いただきたい。  ログに使用する、タイムスタン
              プの元になる情報  (the time source) は、システムのサスペンド/レジューム後に、更新が行われない。 更
              新が行われないので、タイムスタンプは、ブートタイムと単調増加クロック (monotonic clocks) との間の現
              在の増分 (delta) によって時間合わせがなされているのだが、そうした時間合わせが、 最後のレジューム以
              後に表示されるメッセージ同士の間でしかうまく働かないのである。

              [訳注]  つまり、サスペンド/レジューム直後のタイムスタンプについては、 時間合わせがうまく行かない。
                      言葉を変えると、カーネル・リングバッファのタイムスタンプでは、  ブートタイムと実稼働時間の
                      みが使用されており、サスペンド中の時間は加算されない。 それ故、サスペンド後の dmesg の日時
                      表示は信用できないということである。

       -t, --notime
              カーネルが出力するタイムスタンプを表示しない。

       --time-format format
              指定されたフォーマット  format  を使って、タイムスタンプを表示する。format  には、ctime,  reltime,
              delta,  iso   が使える。   最初の三つは、それぞれのタイムフォーマットを指定するオプション   (訳注:
              --ctime   など)  のエイリアスであり、iso  フォーマットは、ISO-8601  のタイムスタンプフォーマットの
              demsg における実装である。 この最後のフォーマットの目的は、 二つのシステム間でのタイムスタンプの比
              較のような解析作業を容易にすることだ。                    iso                   タイムスタンプは、
              YYYY-MM-DD<T>HH:MM:SS,<microseconds><-+><timezone offset from UTC> という形式になる。

              iso  フォーマットにも  ctime  と同じ問題がある。  すなわち、システムがサスペンド、レジュームした場
              合、日時は不正確かもしれないのである。

       -u, --userspace
              ユーザ空間のメッセージを表示する。

       -w, --follow
              新しいメッセージが出力されるのを待つ。この機能は、/dev/kmsg を読むことのできるシステムでのみサポー
              トされている (カーネル 3.5.0 以降)。

       -W, --follow-new
              待機する。そして、新しいメッセージのみを表示する。

       -x, --decode
              ファシリティとレベル (重大度) の番号を人間に分かりやすい接頭辞に変換する。

       -V, --version
              バージョン情報を表示して終了する。

       -h, --help
              ヘルプを表示して終了する。

カラー表示

       自動的なカラー表示は、/etc/terminal-colors.d/dmesg.disable という空ファイルを作ることで無効にできる。  カ
       ラー表示の設定についてもっと詳しいことを知りたかったら、terminal-colors.d(5) をご覧になるとよい。

       dmesg は、以下の論理カラー名をサポートしている。

       subsys メッセージのサブシステム接頭辞 (たとえば、"ACPI")。

       time   メッセージのタイムスタンプ。

       timebreak
              --reltime--human における出力メッセージの、短い ctime フォーマットで表現したタイムスタンプ。

       alert  ログの重大度が alert のメッセージのテキスト部分。

       crit   ログの重大度が critical のメッセージのテキスト部分。

       err    ログの重大度が error のメッセージのテキスト部分。

       warn   ログの重大度が warning のメッセージのテキスト部分。

       segfault
              セグメンテーションフォールトを知らせるメッセージのテキスト部分。

終了ステータス

       dmesg が「操作が許可されていない」旨のエラーを出して、実行に失敗することがある。 これが起きるのは、たいて
       い、カーネルの設定 dmesg_restrict のせいである。詳しくは、syslog(2) をご覧いただきたい。

作者

       Karel Zak <kzak@redhat.com>

       dmesg を最初に書いたのは、Theodore Ts'o <tytso@athena.mit.edu> だった。

関連項目

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

入手方法

       この      dmesg      コマンドは、util-linux      パッケージの一部であり、Linux       Kernel       Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/> から入手できる。