Odpowiedzi:
W CentOS nie otrzymuję udevwiadomości, gdy podłączę prostą pamięć USB. Zamiast tego otrzymuję:
[sdb] Assuming drive cache: write through
kilka razy.
Ale to nie jest udev, ani nie syslogwspominając o tym na konsoli. Możesz to wiedzieć na pewno, zabijając syslogdlub rsyslogd(Upewnij się, że to nie jest serwer produkcyjny, co mam nadzieję, że nie jest tak po włożeniu koncentratorów USB i tak dalej :) i ponownym włożeniu urządzenia USB.
Wiadomości wciąż się wyskakują, tak jak wspomniał Ulrich , pochodzą one z jądra, a dokładniej z modułu USB, który kernel.printkpokazuje te komunikaty, nie korzystając w ogóle z żadnych usług systemowych.
Fragment dokumentacji systemu Linux sysctl/kernel.txt:
Cztery wartości w printk oznaczają odpowiednio: console_loglevel, default_message_loglevel, minimum_console_loglevel i default_console_loglevel.
Wartości te wpływają na zachowanie printk () podczas drukowania lub rejestrowania komunikatów o błędach. Zobacz „syslog man 2”, aby uzyskać więcej informacji na temat różnych loglevels.
- console_loglevel: wiadomości o wyższym priorytecie niż ten zostaną wydrukowane na konsoli
- default_message_level: wiadomości bez wyraźnego priorytetu będą drukowane z tym priorytetem
- minimum_console_loglevel: minimalna (najwyższa) wartość, na którą można ustawić console_loglevel
- default_console_loglevel: wartość domyślna dla 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 */
Tak więc używając wyżej wymienionych wartości argumentów do printk, możesz sprawić, aby jądro się zamknęło na temat komunikatów informacyjnych lub prostych ostrzeżeń na konsoli. Na przykład,
echo "3 3 3 3" > /proc/sys/kernel/printk
sprawiłem, że moje wkładki USB były wyciszone. Czy chcesz, aby przechodził przez restart, dodaj linię do /etc/sysctl.conf:
kernel.printk = 3 3 3 3
Tak, przechodząc na inny kanał syslog, pod warunkiem, że rozumiesz, jak działa syslog:
Z instrukcji 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.
Teraz możesz edytować /etc/udev/udev.confi zmieniać tę wartość.