I want to define a simple service to be started at boot, being on Ubuntu server 16.10. So I have created a /etc/init.d/mydaemon
I somehow messed up between upstart and systemd: at first I thought I had to setup an upstart service. So after converting my file to an upstart syntax, I ran update-rc.d mydaemon defaults
.
I figured out my error and ran update-rc.d mydaemon remove
, converted to systemd syntax, and ran systemctl enable mydaemon
, but get the error:
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.
I had the same error when porting a sysv script from a redhat box to ubuntu. I needed to add some headers to the script
found in https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting
The problem was the location of the file, on Ubuntu server it expects it in
/etc/systemd/system
,/etc/init.d/
is for legacy files.Just to add on to the answer from @CharlesB - when I got into this state I was able to simply move the file from
/etc/init.d/
to/etc/systemd/system/
and rerun the command and it worked properly:I had the same error and I fixed it putting the default start information, as follow:
Change from:
to:
:wq
root@kali:/etc/init.d# systemctl enable greenbone-security-assistant
Synchronizing state of greenbone-security-assistant.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable greenbone-security-assistant