DebianSqueezeに基づくLinuxカーネル3.2.12-rtのカスタムビルドを実行しているマシンがあります。
カーネルメッセージがコンソールに出力されます。私はそれをしたくありません。私は知っていますなぜそれはそれをしています:
# cat /proc/sys/kernel/printk
8 4 1 3
しかし、その最初の値がどのように8に設定されているのかわかりません。そして、それを実行しているものはすべて停止させたいのです。
カーネル構成を調べました。 CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
があり、組み込みのコマンドラインはありません。
ブートコマンドラインを調べました。 quiet
があります。 quiet loglevel=4
に変更してみましたが、うまくいきませんでした。
/etc/sysctl.conf
にはkernel.printk = 3 4 1 3
があります(コメントアウトされていません)。
Printkを設定した可能性のある他の何かをgrepしようとしましたが、有用なものは見つかりませんでした。 (それは、私が適切な場所や適切なものを探していなかったことを意味するかもしれません。)
$ grep console /etc/rsyslog.conf
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
# you must invoke `xconsole' with the `-file' option:
# $ xconsole -file /dev/xconsole [...]
*.notice;*.warn |/dev/xconsole
他にどこを見られますか? (確かに、ブートスクリプトで/proc/sys/kernel/printk
を書き直すことはできますが、もっと良い方法が必要です。)
私は問題を見つけました。 /etc/rc.local
次の行がありました:
dmesg -n 8
これを削除すると、ログが通常に戻りました。