커널과 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
효과가 없습니다. 여전히 상태 메시지가 표시됩니다.
(필사적으로 다른 오류 원인을 배제하기 위해 마지막 세 가지 옵션을 추가했습니다.)
명령줄은 다음과 같습니다.
$ 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
그러나 동일한 시스템 버전과 옵션이 하나만 있는 동일한 구성을 사용하는 새 Debian Stretch/8에서는 quiet
로깅이 전혀 표시되지 않습니다. 새 시스템에 이를 지정하면 systemd.show_status=yes
다른 시스템에서 제거하고 싶었던 동작이 정확하게 발생했습니다.
- 처음에 언급한 커널 옵션이 예상대로 자체적으로 작동해야 합니까?
- 콘솔에 기록된 내용을 어떻게 식별할 수 있나요?