Ketika saya pasang usbhub (7 batang) udev menampilkan banyak pesan di konsol. Bisakah saya menyembunyikan pesan ini atau mengirimnya ke / dev / null?
Pada CentOS, saya tidak mendapatkan udev
pesan ketika saya mencolokkan thumbstick USB sederhana. Sebaliknya saya mendapatkan:
[sdb] Assuming drive cache: write through
beberapa kali.
Tetapi ini bukan udev
, atau syslog
menyebutkan ini kepada Anda di konsol. Anda dapat mengetahui hal ini dengan pasti, dengan mematikan syslogd
atau rsyslogd
(Harap pastikan ini bukan server produksi, yang saya harap bukan seperti itu dengan memasukkan hub USB dan semua itu :) dan memasukkan kembali perangkat USB.
Pesan masih muncul, sehingga seperti yang disebutkan Ulrich , ini berasal dari kernel, atau tepatnya modul USB, yang digunakan kernel.printk
untuk menampilkan pesan-pesan ini kepada Anda, tidak menggunakan layanan sistem sama sekali.
Kutipan dari dokumentasi linux sysctl/kernel.txt
:
Empat nilai dalam printk menunjukkan: console_loglevel, default_message_loglevel, minimum_console_loglevel dan default_console_loglevel.
Nilai-nilai ini mempengaruhi perilaku printk () saat mencetak atau mencatat pesan kesalahan. Lihat 'man 2 syslog' untuk info lebih lanjut tentang loglevel yang berbeda.
- console_loglevel: pesan dengan prioritas lebih tinggi daripada ini akan dicetak ke konsol
- default_message_level: pesan tanpa prioritas eksplisit akan dicetak dengan prioritas ini
- minimum_console_loglevel: nilai minimum (tertinggi) yang bisa disetel console_loglevel
- default_console_loglevel: nilai default untuk 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 */
Jadi, dengan menggunakan nilai yang disebutkan di atas untuk mencetak argumen, Anda bisa meminta kernel untuk tutup mulut tentang pesan informasi atau peringatan sederhana di konsol. Sebagai contoh,
echo "3 3 3 3" > /proc/sys/kernel/printk
membuat saya memasukkan thumbstick USB semua menjadi tenang. Apakah Anda ingin membuatnya tetap melalui reboot, tambahkan baris ke /etc/sysctl.conf
:
kernel.printk = 3 3 3 3
Ya, dengan mengubah saluran syslog yang berbeda, asalkan Anda memahami cara kerja syslog:
Dari manual 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.
Jadi sekarang Anda dapat mengedit /etc/udev/udev.conf
dan mengubah nilai ini.