systemd Antes e depois das declarações

3

A definição dada no homem para a unidade systemd é um pouco incerta: link

If a unit foo.service contains a setting Before=bar.service and both units are being started, bar.service's start-up is delayed until foo.service is started up. [...] After= is the inverse of Before=, i.e. while After= ensures that the configured unit is started after the listed unit finished starting up, Before= ensures the opposite, that the configured unit is fully started up before the listed unit is started.

Digamos que eu tenha a.service e b.service . Eu quero que a.service inicie completamente antes de b.service porque b.service depende de a.service .

Depois de ler a página de manual acima mencionada, não encontrei nenhuma explicação conclusiva sobre se:

  • Você somente precisa especificar Before=b.service no arquivo a.service unit
  • Você somente precisa especificar After=a.service no arquivo b.service unit
  • Você precisa de ambos After=a.service no arquivo b.service unit e Before=b.service no arquivo a.service unit

Qual eu preciso para declarar dependências para arquivos unitários do systemd? Isso importa?

    
por Wimateeka 25.01.2018 / 20:48

1 resposta

2

Você só precisa de um After= ou Before= no seu par de unidades. Você pode preferir isso na man page de systemctl :

--after ... any After= dependency is automatically mirrored to create a Before= dependency.

Use esta opção com list-dependencies para verificar o que você acha que o systemd deveria estar fazendo. Por exemplo

$ systemctl list-dependencies --after timers.target
timers.target
* |-sysstat-collect.timer
* |-sysstat-summary.timer
* |-systemd-tmpfiles-clean.timer
* '-unbound-anchor.timer

$ systemctl list-dependencies --before sysstat-collect.timer
sysstat-collect.timer
* |-sysstat-collect.service
* |-shutdown.target
* '-timers.target

Se você está convertendo de upstart você pode obter algumas dicas de aqui , e você pode ler todos os blogs listados < a href="https://www.freedesktop.org/wiki/Software/systemd/"> aqui sob o cabeçalho O systemd da série de blogs de administradores .

    
por 25.01.2018 / 22:23