[systemd-devel] Service with alternative configuration
Lennart Poettering
lennart at poettering.net
Tue Mar 19 09:29:54 UTC 2019
On Mo, 18.03.19 22:01, Marv Lelgemann (144dbspl at gmail.com) wrote:
> Am Montag, 11. März 2019 schrieb Lennart Poettering <lennart at poettering.net
> >:
> > On Do, 07.03.19 14:03, Marv Lelgemann (144dbspl at gmail.com) wrote:
> >
> >> I have a systemd service unit of type "dbus". I would like to have the
> >> option to restart (or stop and start) the service with additional command
> >> line arguments in "ExecStart".
> >
> > Do something like this:
> >
> > mkdir -p /etc/systemd/system/foo.service.d/
> > cat > /etc/systemd/system/foo.service.d/override.conf <<EOF
> > [Service]
> > ExecStart=
> > ExecStart=/path/to/my/command --with=a --new-commandline
> > EOF
> > systemctl daemon-reload
> > systemctl restart foo.service
> >
> > i.e. add a drop-in that first resets ExecStart= to the empty list, and
> > the writes the new cmdline to use into it.
>
> Yes, that's a persistent overlay. I was looking for a runtime
> reconfiguration, something to restart a service on an embedded system in
> debug mode or similar use cases. A template unit with instances
> service at default and service at debug would have been OK, but left me with a
> dbus name conflict. SetEnvironment worked for me.
You can also create the drop-in in /run instead:
mkdir -p /run/systemd/system/foo.service.d/
cat > /run/systemd/system/foo.service.d/override.conf <<EOF
…
systemd looks there too, and if you want to make changes that are
flushed out on reboot, that's the place to make your changes.
Lennart
--
Lennart Poettering, Berlin
More information about the systemd-devel
mailing list