Po podłączeniu usbhub (7 wtyków) udev wyświetla wiele komunikatów w konsoli. Czy mogę ukryć te wiadomości lub wysłać je do / dev / null?
W CentOS nie otrzymuję udev
wiadomoś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 syslog
wspominając o tym na konsoli. Możesz to wiedzieć na pewno, zabijając syslogd
lub 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.printk
pokazuje 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.conf
i zmieniać tę wartość.