O que você está sugerindo é essencialmente como systemctl enable
funciona: ele aparece na seção [Install]
do arquivo de serviço e adiciona um link simbólico ao diretório .target.wants
apropriado indicado por WantedBy=
. De acordo com a página systemd.unit
man , existem algumas outras diretivas que você precisa para olhar para duplicar como systemctl
faz isso:
-
Alias=
cria um symlink no mesmo diretório que a unidade -
RequiredBy=
cria um symlink no diretório.target.requires
apropriado -
Also=
instala unidades relacionadas (veja cada uma delas para instalações vinculadas) -
DefaultInstance=
adiciona um symlink com um nome padrão para unidades instanciadas (por exemplo,multi-user.target.wants/[email protected]
- >[email protected]
)
No entanto, a menos que seu sistema de arquivos montado seja para uma arquitetura completamente diferente, você provavelmente não precisará criá-los manualmente. systemctl
funciona muito bem para instalar / desinstalar arquivos unitários, mesmo se systemd
não estiver em execução, portanto, você não deve ter problemas usando systemctl enable
e disable
(use chroot
para executar na raiz do diretório correta) ; Obviamente, você não precisa executar daemon-reload
, já que não há processo daemon! Eu uso esse método no final de uma instalação do Gentoo para adicionar unidades de inicialização como systemd-networkd
e amigos, e isso funcionou sem problemas para mim.