[systemd-devel] How to exclusively toggle between two systemd instances of a single daemon?

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Wed Oct 8 06:39:41 PDT 2014


On Wed, Oct 08, 2014 at 06:30:51AM -0700, terrygalant.lists at fastest.cc wrote:
> Hi
> 
> I have 2 installed instances of a single daemon.
> 
> 1 is from distro-installed packages, installed into standard default OS locations with unit files in /usr/lib/systemd/system/.
> 
> The other is installed under /opt, with unit files currently in /opt/mydaemon/systemd/system/, which can be (un)symlinked as needed into /etc/systemd/system/multi-user.target.wants/ to disable or enable.
> 
> I want to be able to occasionally toggle between use of the 2.
> 
> Is the right systemd way to do manage this toggle to just name the 2 instances' unit files differently, put a Conflicts= in each for the other, and just use 'enable' for whichever I want active?

That would work.

You can also make a symlink from /etc/systemd/system/xxx.service to
either of the two files and manage it by hand, calling systemctl
daemon-reload afterwards. I think this should work.

> If other systemd units have a Requires= dependency on this daemon, how do I deal with the toggle?  Is there a "Require=this-instance-OR-that-instance" equivalent?
No.

Zbyszek


More information about the systemd-devel mailing list