助け合いフォーラム

LPIC

LPIC Lv1-101(Ver5.0)
問題ID : 35636
問題を開く
/var/log/dmesgの内容がリセットされる正しいタイミングはどれか。

正解

再起動時

解説

/var/log/dmesgは、システム起動時点のカーネルメッセージ(リングバッファの内容)が保存されるログファイルです。システムの起動障害を調査する際に役立ちます。
/var/log/dmesgは、起動のたびに新しい内容で置き換えられます。なお、このファイルはシステムによっては存在しない場合もあります。

したがって、正解は
・再起動時
です。

カーネルのリングバッファは、カーネルのログメッセージを一時的に保存する固定サイズのデータ領域であり、マシンの再起動やシャットダウンによってリセットされます。また、運用中に一杯になると古い情報から上書きされていきます。
リングバッファの現在の内容は、dmesgコマンドで確認できます。
システム起動直後は、/var/log/dmesgファイルとdmesgコマンドが表示する情報は同じ内容です。しかし、時間の経過とともにリングバッファ内の古い情報が上書きされる可能性があるため、dmesgコマンドでは起動時の情報を常に確認できるわけではありません。一方、/var/log/dmesgの内容は稼働中に変化しないので、いつでも起動時のカーネルメッセージが確認できます。

その他の選択肢については、以下のとおりです。

・dmesg --clear実行時
dmesg --clearコマンドはカーネルのリングバッファをクリアしますが、これにより/var/log/dmesgファイルの内容が変更されることはありませんので、誤りです。
リングバッファとログファイルは別個のものであり、一方を手動でクリアしても、もう一方には影響を与えません。

・ログイン時
/var/log/dmesgの内容は通常、システムの起動時に更新されます。既に起動しているシステムでログインやログアウトを行っても、/var/log/dmesgの変化は生じませんので、誤りです。

・ユーザによるカーネルメッセージ取得時
ユーザが/var/log/dmesgファイルの内容を表示したり、dmesgコマンドを実行したりしても、これによって/var/log/dmesgや現在のリングバッファの内容が失われることはありませんので、誤りです。

上に戻る

どっちが本当なのか

公開日 2023/11/24

スピードマスターと同時に学習を進めております。
スピードマスターの問題のなかに
/var/log/dmesgがリセットされるタイミングとして適切なものはどれか
A 再起動かリブート
B一定時間経過
Cdmesg —clear
となり正解はcとなっています。
なぜ微妙なニュアンスの違いで正解が変わるのでしょうか

2023/11/25 21:34

なぜ微妙なニュアンスの違いで正解が変わるのでしょうか

スピードマスターのことはスピードマスターの発行元に聞くしかないんじゃないでしょうか?
とりあえず実機確認したらこんなことになりましたけど。

[root@centos7 ~]# ls -l /var/log/dmesg
-rw-r--r--. 1 root root 35484 11月 25 07:30 /var/log/dmesg
[root@centos7 ~]# wc -l /var/log/dmesg
567 /var/log/dmesg
[root@centos7 ~]# dmesg | wc -l
575
[root@centos7 ~]# dmesg --clear
[root@centos7 ~]# wc -l /var/log/dmesg
567 /var/log/dmesg
[root@centos7 ~]# dmesg | wc -l
0

ちなみに、Red Hat 8系やUbuntuの22とか新しい環境では /var/log/dmesg 自体存在しないっぽいですね。


コメント

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?