Wie kann ich Nachrichten von udev ausblenden?

9

Wenn ich einen USB-Hub anschließe (7 Sticks), zeigt udev viele Nachrichten in der Konsole an. Kann ich diese Nachrichten ausblenden oder an / dev / null senden?

jsterr
quelle

Antworten:

8

Unter CentOS erhalte ich keine udevNachrichten, wenn ich einen einfachen USB-Stick anschließe. Stattdessen bekomme ich:

[sdb] Assuming drive cache: write through

ein paar Mal.

Dies ist jedoch nicht der Fall udevoder wird syslogIhnen auf der Konsole gegenüber erwähnt. Sie könnten dies sicher selbst wissen, indem Sie töten syslogdoder rsyslogd(Bitte stellen Sie sicher, dass dies kein Produktionsserver ist, was ich hoffe, dass dies nicht der Fall ist, wenn Sie USB-Hubs und all das einstecken :) und das USB-Gerät erneut einstecken.

Die Nachrichten werden immer noch angezeigt. Wie Ulrich bereits erwähnte, kommt dies vom Kernel oder genauer gesagt vom USB-Modul, das kernel.printkIhnen diese Nachrichten anzeigt und überhaupt keine Systemdienste verwendet.

Ein Auszug aus der Linux-Dokumentation sysctl/kernel.txt:

Die vier Werte in printk bezeichnen: console_loglevel, default_message_loglevel, minimal_console_loglevel bzw. default_console_loglevel.

Diese Werte beeinflussen das Verhalten von printk () beim Drucken oder Protokollieren von Fehlermeldungen. Weitere Informationen zu den verschiedenen Googlevels finden Sie unter 'man 2 syslog'.

  • console_loglevel: Nachrichten mit einer höheren Priorität werden auf der Konsole gedruckt
  • default_message_level: Nachrichten ohne explizite Priorität werden mit dieser Priorität gedruckt
  • Minimum_console_loglevel: Minimaler (höchster) Wert, auf den console_loglevel festgelegt werden kann
  • default_console_loglevel: Standardwert für 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             */

Wenn Sie also die oben genannten Werte für Argumente für printk verwenden, können Sie den Kernel dazu bringen, über Informationsmeldungen oder einfache Warnungen auf der Konsole den Mund zu halten. Zum Beispiel,

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

Ich habe meine Einfügungen des USB-Daumensticks ganz leise gemacht. Möchten Sie, dass es bei einem Neustart bleibt, fügen Sie eine Zeile hinzu zu /etc/sysctl.conf:

kernel.printk = 3 3 3 3
reiche
quelle
5

Ja, wenn Sie zu einem anderen Syslog-Kanal wechseln, vorausgesetzt, Sie verstehen, wie Syslog funktioniert:

Aus dem udev-Handbuch:

   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.

Jetzt können Sie /etc/udev/udev.confdiesen Wert bearbeiten und ändern.

Gänseblümchen
quelle
Okay, danke für die Antwort. Wie kann ich herausfinden, welchen Syslog-Wert ich verwenden muss, damit alle USB-Udev-Nachrichten ausgeblendet sind?
Jsterr
Muss ich die Werte "Facility Level" oder "Severity Level" verwenden? Siehe en.wikipedia.org/wiki/Syslog#Facility_Levels
jsterr