Implicit Dependencies
The following dependencies are implicitly added:
• Services with Type=dbus set automatically acquire
dependencies of type Requires= and After= on dbus.socket.
• Socket activated services are automatically ordered after
their activating .socket units via an automatic After=
dependency. Services also pull in all .socket units listed in
Sockets= via automatic Wants= and After= dependencies.
Additional implicit dependencies may be added as result of
execution and resource control parameters as documented in
systemd.exec(5) and systemd.resource-control(5).
Default Dependencies
The following dependencies are added unless
DefaultDependencies=no is set:
• Service units will have dependencies of type Requires= and
After= on sysinit.target, a dependency of type After= on
basic.target as well as dependencies of type Conflicts= and
Before= on shutdown.target. These ensure that normal service
units pull in basic system initialization, and are terminated
cleanly prior to system shutdown. Only services involved with
early boot or late system shutdown should disable this
option.
• Instanced service units (i.e. service units with an "@" in
their name) are assigned by default a per-template slice unit
(see systemd.slice(5)), named after the template unit,
containing all instances of the specific template. This slice
is normally stopped at shutdown, together with all template
instances. If that is not desired, set DefaultDependencies=no
in the template unit, and either define your own per-template
slice unit file that also sets DefaultDependencies=no, or set
Slice=system.slice (or another suitable slice) in the
template unit. Also see systemd.resource-control(5).