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/> から入手できる。