<div dir="ltr"><span>Hi folks,</span><div><br></div><div>I am reading systemd documents, and I find passive target units a little bit confusing.</div><div><br></div><div>Take "network.target" for example:<br><br>"systemd-networkd.service" specifies "Wants=network.target" and "Before=network.target". That effectively makes starting "systemd-networkd.service" brings up both "systemd-networkd.service" and "network.target", and make sure that "network.target" is active after "systemd-networkd.service" being active. It also implies that the shutdown order is correct: "network.target" will be stopped before "systemd-networkd.service".   Everything is fine.<br><br></div><div>What if we use an active target unit to achieve all this? Can we specify a "WantedBy=network.target" in "systemd-network.target"? So that we can enable "systemd-network.service" (which makes a symbolic link in the "network.target.wants" directory) and start "network.target" to pull in "systemd-networkd.service". That also makes sure "network.target" is active after "systemd-networkd.service" because of the target unit default dependencies. And shutdown order will be correct too.<br><br></div><div>The only difference I can tell is the units to start. With a passive "network.target", we start "systemd-networkd.service". With an active "network.target", we start "network.target".<br><br></div><div>Is there any benefits of passive target units over active target units?<br><br></div><div>John<br></div></div>