如何隐藏udev的消息?


9

当我插入usbhub(插入7条)时,udev在控制台中显示很多消息。我可以隐藏这些消息或将其发送到/ dev / null吗?

Answers:


8

在CentOS上,udev插入一个简单的USB指尖时没有收到消息。相反,我得到:

[sdb] Assuming drive cache: write through

一些时间。

但这不是udev,或不在syslog控制台上向您提及。您可以通过杀死syslogdrsyslogd(请确保这不是生产服务器,我希望它不是插入USB集线器之类的东西:)并重新插入USB设备,来确定自己是否知道这一点。

消息仍然弹出,因此正如Ulrich所说,这是来自内核,或者确切地说是USB模块,它用于kernel.printk向您显示这些消息,而不使用任何系统服务。

摘自linux文档sysctl/kernel.txt

printk中的四个值分别表示:console_loglevel,default_message_loglevel,minimum_console_loglevel和default_console_loglevel。

当打印或记录错误消息时,这些值会影响printk()的行为。有关不同日志级别的更多信息,请参见“ man 2 syslog”。

  • console_loglevel:优先级高于此级别的消息将被打印到控制台
  • default_message_level:没有明确优先级的消息将以该优先级打印
  • minimum_console_loglevel:可以将console_loglevel设置为的最小值(最大值)
  • default_console_loglevel:console_loglevel的默认值
    #define KERN_EMERG    "<0>"  /* system is unusable               */
    #define KERN_ALERT    "<1>"  /* action must be taken immediately */
    #define KERN_CRIT     "<2>"  /* critical conditions              */
    #define KERN_ERR      "<3>"  /* error conditions                 */
    #define KERN_WARNING  "<4>"  /* warning conditions               */
    #define KERN_NOTICE   "<5>"  /* normal but significant condition */
    #define KERN_INFO     "<6>"  /* informational                    */
    #define KERN_DEBUG    "<7>"  /* debug-level messages             */

因此,将上述值用作printk的参数,可以使内核关闭有关参考消息或控制台上的简单警告的信息。例如,

echo "3 3 3 3" > /proc/sys/kernel/printk

使我插入的USB指尖完全安静了。您是否要通过重新启动使其坚持下去,请在以下行添加一行/etc/sysctl.conf

kernel.printk = 3 3 3 3

5

是的,只要您了解syslog的工作原理,就可以通过更改为其他syslog通道进行操作:

从udev手册中:

   udev_log
          The logging priority which can be set to err ,info or the corre-
          sponding numerical syslog(3) value.  The default value is err.

因此,现在您可以编辑/etc/udev/udev.conf和更改此值。


好的,谢谢您的回答。我如何找出隐藏所有usb-udev消息所必须使用的Syslog值?
jsterr

我是否必须使用“设施等级”或“严重等级”的值?参见en.wikipedia.org/wiki/Syslog#Facility_Levels
jsterr 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.