「カーネリングバッファ」、「ユーザーレベル」、「ログレベル」などの用語が一緒に現れる場合がよくあります。例えば
/var/log/dmesg にはカーネルリングバッファ情報が含まれています。
/var/log/kern.logには、すべてのログレベルのカーネルメッセージのみが含まれています。
/var/log/user.logには、すべてのユーザーレベルのログに関する情報が含まれています。
すべてログについてですか?彼らはどのように関連しており、違うのですか?
「レベル」で複数レベルの階層を想像できますか?
「ユーザーレベル」は「ユーザースペース」に関連していますか?
答え1
はい、ロギングに関するすべてです。いいえ。実行レベルや「保護リング」とは何の関係もありません。
カーネルはログをリングバッファに保持します。これを行う主な理由は、syslogデーモンが起動してログを収集できるようになるまで、システム起動からログを保存することです。そうしないと、syslogデーモンが起動するまでログは記録されません。このリングバッファの内容は、このコマンドを使用していつでも表示でき、その内容はsyslogデーモンの起動時にも保存されますdmesg
。/var/log/dmesg
カーネルから出ていないすべてのログは、生成と同時にsyslogデーモンに送信されるため、どのバッファにも保存されません。カーネルログも作成されるとsyslogデーモンによって選択されますが、リングバッファに保存され続けます(不要な場合があります)。
ログレベルは次のとおりです。システムログ(3)マンページ次のように:
- LOG_EMERG:システムは使用できません。
- ログ通知:すぐに対策を講じる必要があります。
- LOG_CRIT:深刻な状態
- ログエラー: エラー状態
- ログ_警告: 警告条件
- LOG_NOTICE:正常だが重要な状態
- ログ情報:情報メッセージ
- ログのデバッグ:デバッグレベルメッセージ
各デザインレベルは、以前のレベルよりも「重要ではありません」。特定のレベルを記録するログファイルは、より重要なすべてのレベルも記録します。
/var/log/kern.log
たとえば、課との差は/var/log/mail.log
レベルとは関係なく、施設やカテゴリに関連しています。これらのカテゴリはマンページにも文書化されています。
答え2
質問の最初の部分に答えるにはdmesg
:
/var/log/dmesg
カーネルがブートローダフェーズを通過した後に生成されたログデータを保存するために、ブート時にカーネルによって生成されるメモリバッファである「カーネリングバッファ」の内容を保存します。
リングバッファは、サイズが常に一定で、新しいメッセージが入ってくると最も古いメッセージが削除される特別なバッファです。カーネルリングバッファに保存されているテキストは、Unixを初めて起動したときに画面上で点滅することがわかります。これはコンソールモードシステム(スプラッシュ画面なし、Plymouth)と同じです。カーネルログはメモリバッファに保存されているため、システムがsyslog
デーモンが引き継がれる可能性があるポイントまで起動するまで、起動ログを保持できます。
dmesg
util-linux
Linux では、kernel.org からリリースされたシステムメンテナンスツールの必須パッケージの一部です。dmesg(1)
マニュアルページによると、
dmesgはカーネルリングバッファをチェックまたは制御するために使用されます。
望むより:http://www.computerhope.com/unix/dmesg.htm
"systemd"初期化では、このコマンドを使用してカーネルリングバッファを印刷できます。
# journalctl --dmesg or journalctl -k
@don_crisstiを修正していただきありがとうございます。
たとえば、このコマンドを実行すると、dmesg | grep -i ethernet
カーネルリングバッファは文字列 "ethernet"を解析します。
これが少なくともあなたの質問の最初の部分に役立つことを願っています。