¿Cómo puedo ocultar mensajes de udev?


9

Cuando conecto un usbhub (7 palos) udev muestra muchos mensajes en la consola. ¿Puedo ocultar estos mensajes o enviarlos a / dev / null?

Respuestas:


8

En CentOS, no recibo udevmensajes cuando conecto una simple memoria USB. En cambio obtengo:

[sdb] Assuming drive cache: write through

un par de veces.

Pero esto no es udev, o syslogmencionar esto en la consola. Puede saberlo con seguridad usted mismo, matando syslogdo rsyslogd(Asegúrese de que este no sea un servidor de producción, lo que espero que no sea al insertar concentradores USB y todo eso :) y volver a insertar el dispositivo USB.

Los mensajes siguen apareciendo, por lo que, como mencionó Ulrich , esto proviene del núcleo, o del módulo USB para ser exactos, que se usa kernel.printkpara mostrarle estos mensajes, sin usar ningún servicio del sistema.

Un extracto de la documentación de Linux sysctl/kernel.txt:

Los cuatro valores en printk denotan: console_loglevel, default_message_loglevel, minimum_console_loglevel y default_console_loglevel respectivamente.

Estos valores influyen en el comportamiento de printk () al imprimir o registrar mensajes de error. Consulte 'man 2 syslog' para obtener más información sobre los diferentes niveles de registro.

  • console_loglevel: los mensajes con una prioridad superior a esta se imprimirán en la consola
  • default_message_level: los mensajes sin una prioridad explícita se imprimirán con esta prioridad
  • minimum_console_loglevel: valor mínimo (más alto) en el que se puede configurar console_loglevel
  • default_console_loglevel: valor predeterminado para 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             */

Entonces, utilizando los valores mencionados anteriormente para los argumentos de printk, puede hacer que el núcleo se cierre sobre mensajes informativos o advertencias simples en la consola. Por ejemplo,

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

hizo que mis inserciones de la memoria USB se quedaran silenciosas. ¿Desea que se mantenga durante un reinicio? Agregue una línea a /etc/sysctl.conf:

kernel.printk = 3 3 3 3

5

Sí, al cambiar a un canal syslog diferente, siempre que comprenda cómo funciona syslog:

Del manual de 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.

Entonces ahora podría editar /etc/udev/udev.confy cambiar este valor.


ok gracias por contestar ¿Cómo puedo averiguar qué valor de Syslog tengo que usar para ocultar todos los mensajes usb-udev?
jsterr

¿Tengo que usar los valores de "Nivel de instalación" o de "Nivel de gravedad"? Ver en.wikipedia.org/wiki/Syslog#Facility_Levels
jsterr
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.