32

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.

4 Answers 4

31

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

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

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

2
14

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.

3
  • this solution fixed my service Commented Aug 18, 2019 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. Commented Mar 3, 2020 at 10:23
  • Sure, the initial question is on a .service file, not a bash init script.
    – CharlesB
    Commented Mar 9, 2020 at 9:21
9

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
  • 3
    This should be a comment. Commented Sep 6, 2017 at 10:11
  • I think it's an easier to follow answer, so made it one.
    – Cory
    Commented Sep 6, 2017 at 11:32
1

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:

to:

# Default-Start: 2 3 4 5

: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

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.