Quero definir um serviço simples para ser iniciado na inicialização, estando no servidor Ubuntu 16.10. Então eu criei um/etc/init.d/mydaemon
De alguma forma, eu errei entre o iniciante e o systemd: no começo, pensei que tinha que configurar um serviço inicial. Então, depois de converter meu arquivo em uma sintaxe inicial, executei update-rc.d mydaemon defaults
.
Eu descobri o meu erro e executei update-rc.d mydaemon remove
, converti para a sintaxe systemd e executei systemctl enable mydaemon
, mas obtive o erro:
mydaemon.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mydaemon
update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting.
O problema foi a localização do arquivo, no servidor Ubuntu em que ele espera
/etc/systemd/system
,/etc/init.d/
é para arquivos herdados.fonte
.service
arquivo, não em um script init do bash.Só para acrescentar sobre a resposta de @CharlesB - quando cheguei a este estado que eu era capaz de simplesmente mover o arquivo a partir
/etc/init.d/
de/etc/systemd/system/
e execute novamente o comando e ele funcionou corretamente:fonte
Eu tive o mesmo erro e o corrigi colocando as informações de início padrão, como segue:
Alterar de:
para:
: wq
root @ kali: /etc/init.d# systemctl enable greenbone-security-assistant
Sincronizando o estado do greenbone-security-assistant.service com o script de serviço SysV com / lib / systemd / systemd-sysv-install.
Executando: / lib / systemd / systemd-sysv-install enable greenbone-security-assistant
fonte