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


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.

  • this solution fixed my service Aug 18 '19 at 8:42
  • 1
    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. Mar 3 '20 at 10:23
  • Sure, the initial question is on a .service file, not a bash init script.
    – CharlesB
    Mar 9 '20 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
  • 2
    This should be a comment. 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

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.