Unidade Systemd ativar vs ativar

2

Alguém pode me esclarecer a diferença entre "enable" e "activate" para a unidade systemd. É dito, se a unidade tiver a seção [Install] do que enable deve ser chamada, caso contrário, apenas ativar é suficiente.

Como isso é tratado no processo de inicialização? Systemd automagicamente toma a decisão certa?

    
por Constantine 09.08.2016 / 12:43

2 respostas

2

Para start (ativar) um serviço, você executará o comando systemctl start my_service.service , isso iniciará o serviço imediatamente na sessão atual.

Para enable de um serviço na inicialização, você executará systemctl enable my_service.service .

Enable one or more units or unit instances. This will create a set of symlinks, as encoded in the "[Install]" sections of the indicated unit files. After the symlinks have been created, the system manager configuration is reloaded (in a way equivalent to daemon-reload), in order to ensure the changes are taken into account immediately

Os scripts /usr/lib/systemd/system/ contém init , quando você digita systemctl enable para iniciar um serviço na inicialização, ele será vinculado a /etc/systemd/system/ .

#systemctl enable my_service.service
ln -s '/usr/lib/systemd/system/my_service.service' '/etc/systemd/system/multi-user.target.wants/my_service.service'
    
por 09.08.2016 / 14:29
2

systemctl enable configura o sistema para iniciar o serviço na próxima reinicialização (com avisos sobre os estados alvo corretos, etc.).

systemctl start inicia (ativa) o serviço imediatamente.

Portanto, se você quiser que um serviço seja iniciado agora e em todas as reinicializações, será preciso que ambos enable e start o serviço.

    
por 09.08.2016 / 13:02