I'm building a bunch of services to install on my own (automatically created) servers. I'm migrating from upstart on Ubuntu 14.04, where services are enabled by default (we have to do extra work if we don't want then to start when installed), to Ubuntu 16.04 where we want to use systemd as the new native service framework.
The services are installed using deb packages that I'm creating myself. I've upgraded the deb creation by adding --with systemd
to rules
and adding a package-name.service
with a systemd unit specification.
The problem I found is that even if I add an [Install]
section with WantedBy=multi-user.target
, the service will not be started on the system.
Instead, the service gets installed and then systemctl status package-name
shows:
● package-name.service - My Service
Loaded: loaded (/lib/systemd/system/package-name.service; disabled; vendor preset: enabled)
Active: inactive (dead)
I don't have any systemd overrides in my rules
, which as I've understood from the Debian packaging with systemd page as well as the dh_systemd_enable man page I can use to not enable services if I choose not to.
Also from the looks of the status display it appears that dh-systemd
did enable the services (the vendor preset bit), but that was not enough. What am I missing?
Best Answer
Actually, you don't need to add anything in
override_dh_auto_install
.You need
--with systemd
(without the dash betweenwith
andsystemd
) in therules
and the packagedh-systemd
installed.