udevメッセージを隠す方法は?

udevメッセージを隠す方法は?

usbhub(7) を接続すると、udev はコンソールに多くのメッセージを表示します。このメッセージを非表示にしたり/dev/nullに送信したりできますか?

ベストアンサー1

udevCentOSでシンプルなUSBスティックを接続すると、メッセージは表示されません。代わりに、私は次のようになります。

[sdb] Assuming drive cache: write through

しばらく。

しかし、そうではないか、udevコンソールsyslogで言及されているものです。これを確認するには、USBデバイスをシャットダウンするsyslogdrsyslogd(本番サーバーでないことを確認してUSBハブなどに接続していないことを確認してください)、USBデバイスを再接続するだけです。

メッセージが続きますが、ウリヒkernel.printk前述のように、これはシステムサービスをまったく使用せずにこれらのメッセージを表示するために使用されるカーネルまたはむしろUSBモジュールで発生します。

Linuxドキュメントからの抜粋sysctl/kernel.txt

printk の 4 つの値は、console_loglevel、default_message_loglevel、最小_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

おすすめ記事