我有一台机器运行基于 Debian Squeeze 的定制版 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
(并且它没有被注释掉)。
我尝试 grep 查找可能设置了 printk 的其他任何内容,但找不到任何有用的东西。(这可能只是意味着我没有在正确的地方或正确的东西中查找。)
$ 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
在一些启动脚本中重写,但一定有更好的方法。)
答案1
我发现了问题。 /etc/rc.local
有以下一行:
dmesg -n 8
删除此项后日志记录恢复正常。