Hi Andrei, Thank you for your reply! Just to confirm: there are about 10 passive system targets in systemd.special(5):
- getty-pre.target - cryptsetup-pre.target - local-fs-pre.target - network.target - network-pre.target - nss-lookup.target - nss-user-lookup.target - remote-fs-pre.target - rpcbind.target - time-sync.target Are they all related to early days initscripts? Thanks. John Andrei Borzenkov <[email protected]> 於 2017年10月18日 週三 00:58 寫道: > 16.10.2017 18:15, 林自均 пишет: > > Hi folks, > > > > I am reading systemd documents, and I find passive target units a little > > bit confusing. > > > > Take "network.target" for example: > > > > "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. > > > > 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. > > > > 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". > > > > Is there any benefits of passive target units over active target units? > > > > I think it's historical artefact from the very early days when systemd > had to rely on initscripts. initscript implementing networking did > provide $network a.k.a network.target, but of course did not hook itself > into native systemd units. As long as you are sure to use native units > only there is no practical difference. >
_______________________________________________ systemd-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/systemd-devel
