Existe uma maneira de saber que a configuração atual em execução está desatualizada? Existe uma maneira de visualizar a configuração atual em execução e compará-la com o arquivo?
Seria valioso para a solução de problemas saber qual era a configuração em execução antes de executar o recarregamento. Também é valioso se o comando me disser se realmente atualizou a configuração.
Você pode verificar a unidade carregada por comando
systemctl show <unit>.service
. Até onde eu sei, não existe uma ferramenta para verificar as alterações nos arquivos da unidade.Além disso, você pode executar este comando bash
for var in $(systemctl | grep running | awk '{print $1}'); do systemctl status $var | grep "changed on disk" | grep ".service"; done
para mostrar quais arquivos foram alterados.Exemplo:
systemd
não fornece suporte pronto para uso para exibir arquivos de unidade alterados, mas você pode usar um script bash como este:Esta linha fará systemctl daemon-reload se precisar ser executado:
Isso funcionou para mim:
ou
Ele produzirá "NeedDaemonReload=yes" se precisar ser recarregado.
Se você usar o método grep, poderá alterar a última parte para
grep NeedDaemonReload=yes
ougrep NeedDaemonReload=no
fazer com que não produza nada quando não corresponder (mais fácil de usar para scripts).Você também pode querer executar isso com
CanStart