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.requiresapropriado -
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.