Por que às vezes vejo mensagens de status do systemd apesar de inicializar com 'quiet'?

2

O Debian padroniza para quiet na linha de comando do kernel (pelo menos instalado a partir da mídia ao vivo que eu tenho usado. O que foi possivelmente uma má ideia).

O systemd responde a quiet , não imprimindo as mensagens padrão quando inicia cada serviço.

Então, por que eu vejo mensagens de status do systemd quando eu desligo?

Isto está no Debian Stretch.

    
por sourcejedi 11.11.2017 / 11:56

2 respostas

3

man systemd

systemd.show_status

Takes a boolean argument or the constant auto. Can be also specified without an argument, with the same effect as a positive boolean. If enabled, the systemd manager (PID 1) shows terse service status updates on the console during bootup. auto behaves like false until a unit fails or there is a significant delay in boot. Defaults to enabled, unless quiet is passed as kernel command line option, in which case it defaults to auto.

Quando uma unidade falha, o systemd ativa mensagens de status, apesar da opção quiet .

Se a opção quiet foi passada, mas foi substituída por tal condição, as mensagens de status serão reativadas quando o sistema terminar de inicializar (mesmo que seja apenas no modo de emergência).

Atualmente, o systemd sempre imprime mensagens de status durante a inicialização inicial e durante o desligamento. No entanto, uma falha na unidade pode fazer com que a opção quiet seja substituída durante o desligamento, mesmo que a falha da unidade tenha ocorrido antes de o desligamento ser iniciado.

Um segundo caso em que quiet é sobrescrito é quando uma unidade está demorando e o systemd imprime uma animação mostrando quanto tempo a unidade é permitida antes que ela atinja o tempo limite.

Os dois casos de substituição diferentes podem ser encontrados no código-fonte, procurando por manager_flip_auto_status(m, true) .

Não há uma chamada para manager_flip_auto_status(m, false) quando o sistema é desligado. Pelo menos não no systemd v235-135-g41dfa61d3.

Por exemplo, atualmente estou vendo mensagens de status na inicialização, devido ao systemd-backlight que tenta e falha ao definir uma luz de fundo do laptop em uma área de trabalho da asus. (Provavelmente alguma estranheza com o driver da plataforma; não há dispositivos em /sys/class/backlight quando o sistema terminou a inicialização, mas parece que o systemd encontra um durante o processo de inicialização).

    
por 11.12.2017 / 01:08
1

Porque systemd está funcionando conforme documentado. Uma pesquisa em man systemd para "quiet" revela que a opção do kernel afeta somente a inicialização, não o desligamento.

    
por 11.11.2017 / 18:24

Tags