不要なコンソールテキスト

不要なコンソールテキスト

何らかの理由で認識された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

システムがシャットダウンしているようです。 (少なくともコマンドを実行した後は可能です。)

関連情報