Debian Stretch로 업그레이드하고 부팅 로그를 갖고 싶었기 때문에 bootlogd 서비스를 설치해야 한다는 것을 알았습니다. 문제는 상태가 "차단됨"이고 다음을 수행할 때입니다.
sudo systemctl unmask bootlogd.service
오류는 표시되지 않지만 나중에 실행하면 다음과 같습니다.
sudo systemctl enable bootlogd.service
다음 오류가 발생합니다.
Synchronizing state of bootlogd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable bootlogd
Failed to enable unit: Unit file /lib/systemd/system/bootlogd.service is masked.
시작 로그를 얻기 위해 이 서비스를 활성화하는 방법.
답변1
[...] 시작 로그를 얻는 방법.
journalctl -b
표시되는 메시지는 rsyslog에 의해 /var/log/ 아래의 다양한 로그 파일에도 복사됩니다.
기본적으로 Debian은 영구 로깅을 위해 rsyslog를 사용하도록 설정되어 있습니다. 이 기본값에 따라 journalctl
임시로 저장된 가장 최근 메시지만 표시됩니다 journald
.
일반적으로 로그에 대한 영구 로깅을 활성화하는 것이 좋습니다(원하는 경우 rsyslog를 계속 실행할 수 있습니다). 검색 기능을 사용할 수 있으면 journalctl
특히 더 많은 소프트웨어가 시스템 로그에 기록되기 때문에 매우 유용합니다. 예를 들어 마지막 부팅을 요청하는 로그를 사용할 수 있습니다 journalctl -b -1
. 다음과 같이 영구 로깅을 활성화할 수 있습니다.
mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald
--https://gist.github.com/JPvRiel/b7c185833da32631fa6ce65b40836887
bootlogd.service를 활성화해도 도움이 되지 않습니다
+ echo "(Booted up using systemd which doesn't write logs to system console. Please check 'journalctl -b' instead.)" > /var/log/boot
-- 데비안 버그 보고서 로그#791907, 첨부파일0001-bootlogd-mention-it-won-do-anything-under-systemd.patch
전체 이야기는 위에 나와 있지 않습니다. Systemd는 콘솔에 메시지를 쓰지 않습니다.데비안의 기본 구성에서quiet
, 여기서 시스템은 커널 명령줄의 옵션을 사용하여 시작됩니다. 또한 서비스가 시작되지 않으면 콘솔 메시지가 열립니다. 나는 이것에 대해 몇 가지 세부 사항을 썼습니다.여기.
발생한 systemctl 오류 메시지/동작은 불행한 것으로 간주될 수 있습니다. 적용된 패치에 대해 후속 조치를 취한 것을 기억하는 사람이 있다면
systemd 패키지가 제대로 작동하려면 bootlogd.service 마스크를 제거해야 합니다.
그러면 systemctl 오류 메시지가 사라지고 /var/log/boot
이전에 참조한 메시지만 사용하여 시작 시 생성되어야 합니다 :-). 그러나 나는 이에 반대한다고 조언합니다. 사용된 콘솔 리디렉션 기능 bootlogd
도 사용할 것으로 예상되어 plymouth
충돌이 발생합니다. 이 갈등이 어디로 이어질지 모르겠습니다. plymouth
디스크 암호화 비밀번호를 묻는 메시지와 같은 특정 상황에서 신뢰할 수 있으므로 그대로 두겠습니다 .
그런데 plymouth가 생성되어 /var/log/boot.log
시작 중에 콘솔에 기록된 모든 내용을 표시해야 합니다. 적어도 이것은 Fedora와 Ubuntu에서 사용되는 파일입니다. 분명히 일부 우분투 버전에서는 완전히 신뢰할 수 없는 것 같습니다..
그런데, 여러분이 보는 오류 메시지를 생성하는 이상한 내장 마스크도 사용된 메커니즘입니다.systemd가 내부적으로 다시 구현하는 sysVinit 부팅 스크립트를 실행하지 않으려면.