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

# Provides:          my-service-name
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: your description here

found in https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting

|improve this answer|||||

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.

|improve this answer|||||
  • this solution fixed my service – AmirHossein Rezaei Aug 18 '19 at 8:42
  • I think this solution does not work if the init script is a bash script. Instead of copying the file, parameters on the run levels must be added as comments as nick fox posted in their answer. – LaTechneuse Mar 3 at 10:23
  • Sure, the initial question is on a .service file, not a bash init script. – CharlesB Mar 9 at 9:21

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:

sudo mv /etc/init.d/mydaemon /etc/systemd/system/
sudo systemctl enable mydaemon
|improve this answer|||||
  • 1
    This should be a comment. – Gerald Schneider Sep 6 '17 at 10:11
  • I think it's an easier to follow answer, so made it one. – Cory Sep 6 '17 at 11:32

I had the same error and I fixed it putting the default start information, as follow:

vi /etc/init.d/greenbone-security-assistant

Change from:

# Default-Start:


# Default-Start: 2 3 4 5


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

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.