Linux

從控制台隱藏 linux 核心消息

  • May 12, 2014

我有一台執行基於 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.confkernel.printk = 3 4 1 3(並且沒有被註釋掉)。

我嘗試尋找任何可能設置 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一些引導腳本,但必須有更好的方法。)

我發現了問題。 /etc/rc.local有以下行:

dmesg -n 8

刪除此日誌將恢復正常。

引用自:https://serverfault.com/questions/593598