On Sun, Nov 5, 2017 at 8:36 AM, Sam Varshavchik <mrsam(a)courier-mta.com> wrote:
Samuel Sieb writes:
>
> What would that even mean? That service has no meaning by itself. Of
> course, NetworkManager will start the network interfaces even without it.
> The whole purpose of that service is to delay any other services that
> require the network to be started before running.
>
> See the output of:
> systemctl --before list-dependencies systemd-networkd-wait-online.service
>
> However, the one you really should use for ensuring a service has network
> available is network-online.target. That one covers more than just
> NetworkManager.
Except that's precisely what privoxy's service file does, yet I still ended
up with a broken boot because not just privoxy but also at least one other
service got started before all IP addresses were set up. Which was the
initial message that started this thread.
Then someone else claimed that the real target that should be used for this
is this NetworkManager's target.
That, you're claiming it's network-online.target. Others are claiming that
systemd-networkd-wait-online.service is the correct target, to ensure that
all IP addresses are configured.
It's both. systemd has "network.target", which is equivalent to the
LSB's "$network" facility but neither guarantee that the network is
up, only that the network management software has run or is running,
and "network-online.target", which guarantees that the network is up.
In order to use "network-online.target", you have to enable one of the
"wait-online" units.