데비안은 기본적으로 quiet
커널 명령줄을 사용합니다(적어도 제가 사용했던 라이브 미디어에서 설치할 때는. 아마도 나쁜 생각일 것입니다).
quiet
systemd는 각 서비스를 시작할 때 표준 메시지를 인쇄하지 않고 응답합니다.
그렇다면 종료할 때 시스템 상태 메시지가 표시되는 이유는 무엇입니까?
이것은 Debian Stretch에 있습니다.
답변1
man systemd
systemd.show_status
부울 매개변수 또는 상수를 사용합니다
auto
. 매개변수 없이 지정할 수도 있으며 이는 양수 부울 값과 동일한 효과를 갖습니다. 활성화된 경우 systemd 관리자(PID 1)는 시작 중에 콘솔에 간결한 서비스 상태 업데이트를 표시합니다.auto
장치에 오류가 발생하거나 시작 시 상당한 지연이 발생할 때까지 동작은 false와 유사합니다. Quiet이 커널 명령줄 옵션으로 전달되지 않는 한 기본값은 활성화됩니다. 이 경우 기본값은 입니다auto
.
systemd는 이 옵션에도 불구하고 장치가 실패할 때 상태 메시지를 활성화합니다 quiet
.
이 quiet
옵션이 전달되었지만 그러한 조건으로 인해 재정의된 경우 시스템 부팅이 완료되면 상태 메시지가 다시 비활성화됩니다(비상 모드로만 진입하더라도).
현재 systemd는 초기 시작 및 종료 중에만 상태 메시지를 인쇄합니다. 그러나 quiet
종료가 시작되기 전에 장치 오류가 발생하더라도 장치 오류로 인해 종료 중에 이 옵션을 덮어쓸 수 있습니다.
재정의되는 두 번째 경우 quiet
는 장치에 시간이 걸리는 경우입니다. systemd는 시간 초과되기 전에 장치가 허용되는 시간을 보여주는 애니메이션을 인쇄합니다.
소스 코드를 살펴보면 manager_flip_auto_status(m, true)
.
- https://github.com/systemd/systemd/blob/41dfa61d35c51a584437481d20541d5c3ccfa93d/src/core/manager.c#L200
- https://github.com/systemd/systemd/blob/41dfa61d35c51a584437481d20541d5c3ccfa93d/src/core/job.c#L734
가지다아니요manager_flip_auto_status(m, false)
시스템이 종료될 때 호출됩니다. 적어도 systemd v235-135-g41dfa61d3에는 없습니다.
예를 들어, 현재 systemd-backlight가 Asus 데스크탑에서 노트북 백라이트를 설정하려고 시도했지만 실패하여 시작 시 상태 메시지가 표시됩니다. (플랫폼 드라이버에 뭔가 이상한 점이 있을 수 있습니다. 시스템이 장치 없이 부팅을 마쳤 /sys/class/backlight
지만 시스템이 부팅 중에 장치를 찾은 것 같습니다.)
답변2
systemd
기록 작업을 하기 때문이죠 . "quiet" 을 검색하면 man systemd
커널 옵션이 종료가 아닌 시작에만 영향을 미친다는 것을 알 수 있습니다.