カーネルとsystemdがブート(サービス)ステータスメッセージをttyに記録しないようにしたいと思います。
Debian Stretch/8 VM の出力例:
これシステムマニュアルページロギングを制御できるいくつかのパラメータについて説明します。
- システムカーネルパラメータ
systemd.show_status
- カーネルカーネルパラメータ
quiet
(システムでも確認)
マニュアルページから:
systemd.show_status=
ブール引数または定数 auto を使用します。その場合、systemd管理者(PID 1)は、起動中にコンソールに簡潔なサービス状態の更新を表示します。 autoは、サービスが失敗するか開始が大幅に遅れるまでfalseのように動作します。 Quietがカーネルコマンドラインオプションに渡されない限り、デフォルトはyesです。この場合、デフォルトは auto です。
(強調します。)
私が強調したものと正反対が私が望むようです。うまくいきませんが。
カーネルパラメータを試しましたが、成功しませんでした。
# the man page was unclear whether false, 0 or no is correct
systemd.show_status=false
systemd.show_status=0
systemd.show_status=no
# the man page says the above config defaults to the value of the kernel parameter "quiet"
quiet
# log "less"
systemd.log_level=err
# explicitly say where to log to
systemd.log_target=journal-or-kmsg
# explicitly say where to log/output to even though the default should be "journal"
systemd.default_standard_output=journal
効果はありません。それでもステータスメッセージが表示されます。
(必死に他のエラー原因を排除するために最後の3つのオプションを追加しました。)
コマンドラインは次のとおりです。
$ cat /proc/cmdline
... quiet systemd.show_status=false systemd.log_level=err systemd.log_target=journal-or-kmsg systemd.default_standard_output=journal
Systemdのバージョンは232-7で、オペレーティングシステムは2016年後半のRaspbian(Debian 7ベース)で、sytemdを含むいくつかのパッケージがDebian Stretch / 8に部分的にアップグレードされました。
Linux raspberrypi 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l GNU/Linux
ただし、同じシステムバージョンと1つのオプションを持つ同じ設定を使用する新しいDebian Stretch / 8では、quiet
ロギングはまったく表示されません。新しいシステムにこれを割り当てると、systemd.show_status=yes
他のシステムから削除したい動作が正しく発生しました。
- 最初に述べたカーネルオプションは期待どおりに独自に機能する必要がありますか?
- コンソールに記録された内容をどのように識別できますか?