「Boot Sequence」1の終わりに、ログインプロンプト2が表示される直前に一連の長い診断メッセージがすばやく通過することがわかります。
AFAICT、すべてではありませんが、ほとんどのこの一時出力を構成する行は、以下の文字列で始まります。
[ OK ]
[FAILED]
...OK
緑、3はFAILED
赤です。
メッセージが短すぎて点滅して読み取れませんでした。
私の質問は次のとおりです
これらのメッセージを読みやすくする方法はありますか?
心に浮かぶ可能な解決策は次のとおりです(好み順)。
- このメッセージを送信する(または単にリダイレクト)文字通り4いくつかの永続ログファイル。
- ページングメカニズムを有効にする(
Press any key to continue...
)。 - このメッセージを印刷したら、一時停止(設定可能な長さ)を挿入します。
- 特定のキー(またはキーの組み合わせ)を有効にして画面出力を一時停止します5。
編集:これまでに受けたコメントに基づいて、次の結論を下す必要があります。文字通り上記(1)の内容は、可能な限り強調しようとしたにもかかわらず、理解されていないか、真剣に受け入れられない。可能であればフラッシュにします...
編集2:提案まあコメントで提供された内容は私に有望に見えますが、まだ機能していません。これが私がしたことです:
まず、最後に以下を追加しました/etc/rsyslog.conf
。
# Save boot messages also to boot.log
local7.* /var/log/boot.log
...そして再起動してください。一般的な診断メッセージが表示されますが、/var/log/boot.log
ファイルは生成されません。
次に、イベントに書き込むためにイベントが/var/log/boot.log
既に存在する必要がある場合(確かに可能性は低いですが)、rootとして次を実行します。rsyslog
touch /var/log/boot.log
chgrp adm /var/log/boot.log
chmod 640 /var/log/boot.log
...ここで、chgrp
ANDchmod
コマンドの目的は、所有権と権限を/var/log/boot.log
その下にある他のすべてのログファイルのものと一致させることです/var/log
。その後、再起動してメッセージなどを見ました。/var/log/boot.log
再起動後もファイルは空です。
/var/log/boot.log
(権限をに変更しても同じ結果は出ません666
。)
私の問題と関連があると思われる項目を見つけるために、以下のgrep
出力journalctl --boot
とファイルを編集しましたが、何も見つかりませんでした。 (まったく慣れていないため、検索が非常に不可能であったことを確信しています。)/var/log
rsyslog
rsyslog
これまでに私が行ったことは、必要なロギングを有効にするのに十分ではなかったようです。私は今私が逃したものを探しています。しかし、まだこれに関する多くの文書が見つかりませんでした。例えば、それが何であるかを説明したり、謙虚ではなかったrsyslog.conf(5)
(少なくとも追加の情報を提供せずに一度言及するのに十分丁寧に)。rsyslogd(8)
local7
rsyslog.conf(5)
編集3
リリース情報:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.3 (jessie)
Release: 8.3
Codename: jessie
$ uname -a
Linux myhost 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux
編集4
関連する可能性があるその他の情報:
$ cat /lib/systemd/system/rsyslog.service
[Unit]
Description=System Logging Service
Requires=syslog.socket
Documentation=man:rsyslogd(8)
Documentation=http://www.rsyslog.com/doc/
[Service]
Type=notify
ExecStart=/usr/sbin/rsyslogd -n
StandardOutput=null
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=syslog.service
$ cat /proc/$(pgrep rsyslogd)/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 128529 128529 processes
Max open files 1024 4096 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 128529 128529 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
$ sudo ls /proc/$(pgrep rsyslogd)/fd | wc -l
10
1は私のコンピュータを(再び)起動したときに起こるものです。
2、 FWIWはmulti-user.target
私のデフォルトです。
3残りのテキストは黒の背景に白です。後続のログインプロンプトでも同様です。
4私は見つけたまったく受け入れられない起動プロセス中に表示されるこれらのメッセージの正確なテキストを表示できないソリューションです。私はいつもこれらの診断メッセージが何を意味するのかよくわからないので、元のメッセージが伝える基本情報を解釈し、他の多くのメッセージに伝播し、他のメッセージに含まれるすべての方法を識別することは不可能です。など(オンライン検索のみ可能)正確な表現元のメッセージの内容の問題に対する解決策を見つけることができますか? )元のメッセージを含め、これまで試してみましたがjournalctl -b
失敗したすべてdmesg
文字通り。たとえば、スタートアップを実行すると赤色しか表示されませんが、FAILED
がjournalctl --boot | grep FAILED | wc -l
返されます。このうち私が探しているものはありません。0
journalctl --boot | grep -i FAILED | wc -l
1086
5私のシステムでは、これらのキーまたはキーの組み合わせを1秒未満押し続けても、この短い間隔がいつ始まるかについての事前警告はありません。これらのキーストロークが発生する間隔を設定できない場合は、キー押下ベースのソリューションは実用的ではないため、最後の手段としてのみ使用してください。また、FWIW、メッセージが点滅している間、またはキーを押してみましたが、違いはありませんでした。Scroll
LockPause/
Break
ベストアンサー1
カーネルコマンドライン引数(と同様console=tty0 console=ttyS0,115200n8
)を設定してシリアルコンソールに送信することができ、シリアルポートでリッスンするデバイスは単にテキストストリームであるため、簡単に記録できます。
systemdがこの内容を記録しない場合は、愚かになります。 Openrcは/var/log/rc.logでこれを行います。また、systemdでない場合は、tty1にgetty / Xorgを入れずに何も防止するようにinittabを変更できます(たとえば、openSUSE以前にsystemdが行ったように)。それとも別のttyにコピーしてください(これを行うのはinittabではなくsyslogのようです...そして多くのLinuxインストーラがtty9 +でこれを行うのを見ることができます)。もう一度切り替えると、後ろにスクロールしません(shift + pgup)。ただし、1ページの出力がある可能性があります。おそらくsystemdについてもっと知っている人はinittabに対応する新機能を知っているので、それを変更できます。