Usbhub(7スティック)を接続すると、udevはコンソールに多くのメッセージを表示します。これらのメッセージを非表示にしたり、/ dev/nullに送信したりできますか?
CentOSでは、単純なUSBサムスティックを接続してもudev
メッセージが表示されません。代わりに私は得ます:
[sdb] Assuming drive cache: write through
数回。
しかし、これはudev
ではなく、syslog
がコンソールであなたに言及しているわけでもありません。 syslogd
またはrsyslogd
を強制終了して、これを自分で確実に知ることができます(これが本番サーバーではないことを確認してください。USBハブなどを挿入した場合とは異なります)。USBデバイスを再度挿入します。
メッセージはまだポップアップしているため、 lrich のように、これはカーネルまたは正確にはUSBモジュールからのものであり、システムサービスを使用せずにkernel.printk
を使用してこれらのメッセージを表示しますまったく。
Linuxドキュメントsysctl/kernel.txt
からの抜粋:
Printkの4つの値は、それぞれconsole_loglevel、default_message_loglevel、minimum_console_loglevel、およびdefault_console_loglevelを示します。
これらの値は、エラーメッセージを印刷またはロギングするときのprintk()の動作に影響します。さまざまなログレベルの詳細については、「man 2 syslog」を参照してください。
- console_loglevel:これより高い優先度のメッセージがコンソールに出力されます
- default_message_level:明示的な優先順位のないメッセージは、この優先順位で出力されます
- minimum_console_loglevel:console_loglevelに設定できる最小(最高)値
- default_console_loglevel: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 */
したがって、printkの引数に上記の値を使用すると、カーネルに情報メッセージまたは単純な警告に関するコンソールを表示させることができます。例えば、
echo "3 3 3 3" > /proc/sys/kernel/printk
uSBサムスティックの挿入をすべて静かにしました。再起動しても固定しますか、/etc/sysctl.conf
に行を追加します:
kernel.printk = 3 3 3 3
はい、syslogの仕組みを理解していれば、別のsyslogチャネルに変更することで:
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.
したがって、/etc/udev/udev.conf
を編集してこの値を変更できます。