Como posso ocultar mensagens do udev?

9

Quando eu conecto um usbhub (7 sticks), o udev exibe muitas mensagens no console. Posso ocultar essas mensagens ou enviá-las para / dev / null?

    
por jsterr 08.08.2012 / 08:54

2 respostas

7

No CentOS, eu não recebo udev mensagens quando eu conecto um simples thumbstick USB. Em vez disso eu fico:

[sdb] Assuming drive cache: write through

algumas vezes.

Mas isso não é udev , ou syslog mencionando isso para você no console. Você poderia ter certeza disso, matando syslogd ou rsyslogd (Por favor, certifique-se de que este não é um servidor de produção, o que eu espero que não seja com a inserção de hubs USB e tudo isso :) e reinserindo o Dispositivo USB.

As mensagens ainda aparecem, assim como Ulrich mencionado, isso vem do kernel ou do Módulo USB para ser exato, que usa kernel.printk para mostrar essas mensagens, sem usar nenhum serviço do sistema.

Um trecho da documentação do Linux sysctl/kernel.txt :

The four values in printk denote: console_loglevel, default_message_loglevel, minimum_console_loglevel and default_console_loglevel respectively.

These values influence printk() behavior when printing or logging error messages. See 'man 2 syslog' for more info on the different loglevels.

  • console_loglevel: messages with a higher priority than this will be printed to the console
  • default_message_level: messages without an explicit priority will be printed with this priority
  • minimum_console_loglevel: minimum (highest) value to which console_loglevel can be set
  • default_console_loglevel: default value for 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             */

Portanto, usando os valores mencionados acima para argumentos no printk, você pode fazer com que o kernel se cale sobre mensagens informativas ou avisos simples no console. Por exemplo,

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

fez minhas inserções do thumbstick USB ficarem todas quietas. Você quer fazer isso por meio de uma reinicialização, adicione uma linha a /etc/sysctl.conf :

kernel.printk = 3 3 3 3
    
por 15.08.2012 / 08:16
5

Sim, alterando para um canal de syslog diferente, desde que você entenda como o syslog funciona:

Do manual do 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.

Agora você pode editar /etc/udev/udev.conf e alterar esse valor.

    
por 08.08.2012 / 09:22

Tags