docs: add a note about selectively overriding default dependencies

This documents that explicit `Before=`/`After=` dependencies can be
used to selectively override implicit ordering coming from default
dependencies. That allows for more granular control compared to the
already documented `DefaultDependencies=no` option.

The alternative approach came up in a discussion around the ordering
of `boot-complete.target`, so this also adds an explicit suggestion
in that direction to the "Automatic Boot Assessment" documentation.

Ref: https://lists.freedesktop.org/archives/systemd-devel/2022-September/048330.html
This commit is contained in:
Luca BRUNO
2022-09-20 13:57:26 +02:00
committed by Zbigniew Jędrzejewski-Szmek
parent 55b5daf9b2
commit 72ceee435d
2 changed files with 12 additions and 4 deletions
+8
View File
@@ -197,6 +197,14 @@ are a couple of recommendations.
wrap them in a unit and order them after `boot-complete.target`, pulling it
in.
Such unit would be typically wanted (or required) by one of the
[`bootup`](https://www.freedesktop.org/software/systemd/man/bootup.html) targets,
for example `multi-user.target`. To avoid potential loops due to conflicting
[default dependencies](https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Default%20Dependencies)
ordering, it is recommended to also add an explicit dependency (e.g.
`After=multi-user.target`) to the unit. This overrides the implicit ordering
and allows `boot-complete.target` to start after the given bootup target.
## FAQ
1. *I have a service which — when it fails — should immediately cause a