"Boot Sequence" 1 이 끝날 무렵 , Login Prompt 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
이미 존재 해야 하는 경우(확실히 가능성은 낮지만) 루트로 다음을 실행합니다.rsyslog
touch /var/log/boot.log
chgrp adm /var/log/boot.log
chmod 640 /var/log/boot.log
...여기서 chgrp
AND chmod
명령의 목적은 소유권과 권한을 /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). 그러나 한 페이지의 출력이 있을 수 있습니다. 어쩌면 systemd에 대해 더 많이 아는 사람은 inittab에 해당하는 새로운 기능을 알고 있으므로 이를 변경할 수 있습니다.