Cuando conecto un usbhub (7 palos) udev muestra muchos mensajes en la consola. ¿Puedo ocultar estos mensajes o enviarlos a / dev / null?
En CentOS, no recibo udev
mensajes 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 syslog
mencionar esto en la consola. Puede saberlo con seguridad usted mismo, matando syslogd
o 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.printk
para 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
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.conf
y cambiar este valor.