何らかの理由で認識されたUSBデバイスを接続するたびに、多くのメッセージが端末にダンプされます。 (機器ID、バッファリングモードなどを教えてください。)
これが起こらないようにするにはどうすればよいですか?
修正する:
何人かの人々が私にいくつかの質問をしました。したがって、関連性がある可能性があるこれまでに私が収集した情報をまとめてみましょう。
現在見ている仮想端末が何であれ、散らばっているテキストが表示されます。各行には、システムの稼働時間のように見える数字が前に付けられます。
この
quiet
パラメータはすでにカーネルコマンドラインにあります。現在
printk
に設定されています6 4 1 7
。私が知っている限り、
syslog
パッケージはインストールされませんでした。 (またはrsyslog
。)もちろん/etc
。initでなければなりません
systemd
。/etc/sysctl.d
空いた。/etc/sysctl.conf
コメントのみが含まれます。
答え1
起動方法:
quiet loglevel=3
情報のため:
quiet [KNL] Disable most log messages
loglevel= All Kernel Messages with a loglevel smaller than the
console loglevel will be printed to the console. It can
also be changed with klogd or other programs. The
loglevels are defined as follows:
0 (KERN_EMERG) system is unusable
1 (KERN_ALERT) action must be taken immediately
2 (KERN_CRIT) critical conditions
3 (KERN_ERR) error conditions
4 (KERN_WARNING) warning conditions
5 (KERN_NOTICE) normal but significant condition
6 (KERN_INFO) informational
7 (KERN_DEBUG) debug-level messages
確認を開始した後(最初に報告された数字で3を見たい):
$ sysctl kernel.printk
kernel.printk = 3 4 1 4
kernel.printk
詳細については、次を参照してください。kernel.printk 値の説明。
printk
後で起動プロセス中に上書きされる可能性があり、通常はsysctl
一度処理されるか(配布および起動プロセスに従って)処理され/etc/sysctl.conf
ます。/etc/sysctl.d/*
その後、ロギングデーモンによっては追加の調整が必要になる場合があります。なぜなら、systemd
それを確認することもできるからです/etc/systemd/journald.conf
。
答え2
メッセージの前に数字が来ると、Linuxカーネルによって生成されます。 (この数字はシステムが起動してからの秒数を示します。)これらのメッセージを停止するには、このパラメータquiet
をカーネルコマンドラインに追加します。 /bootパーティションのファイルを編集するか、ブートローダによって提供される設定ツール(GRUBなど)を使用してこれを実行できます。また、システムの起動時にメッセージは表示されません。
答え3
もしカーネルに対するMiroslav Koskarの提案はloglevel
役に立ちません(IMOでは3の代わりに2または1を使用することもできます)。/etc/syslog.conf
(またはrsyslog.conf
)に/dev/console
。おそらくカーネルがこれを直接実行しないと、これが発生する可能性があります。
行が次の場合:
*.warn /dev/console
または*.warn
に変更またはコメントアウトします。詳細については、システムログのマニュアルを参照してください。*.crit
*.emerg
loglevel
うまくいかず、明らかにsyslogdがないので(悪い考え、btw)、printk設定が6 4 1 7であることは問題かもしれません。最初のものはコンソールログレベルです。これを変更する必要があります。次の2つの方法のいずれかでrootとしてこれを実行できます。
sysctl kernel.printk="2 4 1 7"
- or -
echo "2 4 1 7" > /proc/sys/kernel/printk
sysctl kernel.printk
その後、それを使用または検査できますcat /proc/sys/kernel/printk
。 USBメッセージは重要なメッセージである可能性が低く(ログレベル2)、優先順位なしでどのモジュールでも送信されると、4つのprintk値(この場合は4)の2番目のデフォルト値が使用されます。
これがうまくいく場合は、ファイルを追加して/etc/sysctl.d/
次の行を追加する必要があります。
kernel.printk = 2 4 1 7
そこには引用は必要ないと思います。ディレクトリが存在しない場合は、ディレクトリに行を追加し、必要に応じて作成します/etc/sysctl.conf
。詳細についてはを参照してくださいman sysctl.conf
。
答え4
結局、起動スクリプトの1つに次のコマンドを追加することでこの問題を解決できました。
klogconsole -l 3
システムがシャットダウンしているようです。 (少なくともコマンドを実行した後は可能です。)