diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml index eb7a2c4c28d8b..2927fcd2913e7 100644 --- a/man/systemd-gpt-auto-generator.xml +++ b/man/systemd-gpt-auto-generator.xml @@ -70,7 +70,7 @@ fstab5), the units this generator creates are overridden, but additional - automatic dependencies might be created. + implicit dependencies might be created. This generator will only look for root partitions on the same physical disk the EFI System Partition (ESP) is located on. diff --git a/man/systemd.automount.xml b/man/systemd.automount.xml index a43dc981bdf8d..e9e96456e3139 100644 --- a/man/systemd.automount.xml +++ b/man/systemd.automount.xml @@ -87,7 +87,9 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. If an automount unit is beneath another mount unit in the file system hierarchy, both a requirement and an ordering @@ -95,11 +97,15 @@ An implicit Before= dependency is created between an automount unit and the mount unit it activates. + - Automount units acquire automatic Before= and Conflicts= on - umount.target in order to be stopped during shutdown, unless - DefaultDependencies=no is set in the [Unit] section. + + Default Dependencies + + The following dependencies are added unless DefaultDependencies=no is set. + Automount units acquire automatic Before= and Conflicts= on + umount.target in order to be stopped during shutdown. diff --git a/man/systemd.device.xml b/man/systemd.device.xml index effed098dd89c..c60b9c035ef98 100644 --- a/man/systemd.device.xml +++ b/man/systemd.device.xml @@ -86,7 +86,7 @@ - Automatic Dependencies + Implicit Dependencies Many unit types automatically acquire dependencies on device units of devices they require. For example, @@ -97,6 +97,12 @@ block devices. + + Default Dependencies + + There are no default dependencies for device units. + + The udev Database diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index 707cab28aae8e..79d9dd55ae233 100644 --- a/man/systemd.exec.xml +++ b/man/systemd.exec.xml @@ -81,7 +81,7 @@ - Automatic Dependencies + Implicit Dependencies A few execution parameters result in additional, automatic dependencies to be added. @@ -102,6 +102,8 @@ of type After= on systemd-journald.socket. + + Options @@ -591,7 +593,7 @@ If the standard output (or error output, see below) of a unit is connected to the journal, syslog or the kernel log buffer, the unit will implicitly gain a dependency of type After= on - systemd-journald.socket (also see the automatic dependencies section above). + systemd-journald.socket (also see the "Implicit Dependencies" section above). This setting defaults to the value set with in diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml index 3d3a0a7cc7217..d327d23f8041e 100644 --- a/man/systemd.mount.xml +++ b/man/systemd.mount.xml @@ -109,7 +109,9 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. If a mount unit is beneath another mount unit in the file system hierarchy, both a requirement dependency and an ordering @@ -126,8 +128,19 @@ systemd-quotacheck.service and quotaon.service are added. - For mount units with DefaultDependencies=yes in the [Unit] section (the - default) a couple additional dependencies are added. Mount units referring to local file systems automatically gain + Additional implicit dependencies may be added as result of + execution and resource control parameters as documented in + systemd.exec5 + and + systemd.resource-control5. + + + + Default Dependencies + + The following dependencies are added unless DefaultDependencies=no is set. + + Mount units referring to local file systems automatically gain an After= dependency on local-fs-pre.target. Network mount units automatically acquire After= dependencies on remote-fs-pre.target, network.target and network-online.target. Towards the latter a @@ -137,12 +150,6 @@ string of the unit, which forces systemd to consider the mount unit a network mount. Mount units (regardless if local or network) also acquire automatic Before= and Conflicts= on umount.target in order to be stopped during shutdown. - - Additional implicit dependencies may be added as result of - execution and resource control parameters as documented in - systemd.exec5 - and - systemd.resource-control5. diff --git a/man/systemd.path.xml b/man/systemd.path.xml index 7200c8fe27671..17104f7f753f7 100644 --- a/man/systemd.path.xml +++ b/man/systemd.path.xml @@ -82,7 +82,9 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. If a path unit is beneath another mount unit in the file system hierarchy, both a requirement and an ordering dependency @@ -90,15 +92,22 @@ An implicit Before= dependency is added between a path unit and the unit it is supposed to activate. + + + + Default Dependencies + + The following dependencies are added unless DefaultDependencies=no is set. - Unless DefaultDependencies=false in the [Unit] section is used, path - units will implicitly have dependencies of type Before= on paths.target, + Path units will automatically have dependencies of type Before= on + paths.target, dependencies of type After= and Requires= on sysinit.target, and have dependencies of type Conflicts= and Before= on shutdown.target. These ensure that path units are terminated - cleanly prior to system shutdown. Only path units involved with early boot or late system shutdown should disable - this option. - + cleanly prior to system shutdown. + + Only path units involved with early boot or late system shutdown should disable + DefaultDependencies= option. diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml index 9b1f5dbbabeab..60bc7937a0970 100644 --- a/man/systemd.resource-control.xml +++ b/man/systemd.resource-control.xml @@ -93,12 +93,14 @@ - Automatic Dependencies + Implicit Dependencies Units with the Slice= setting set automatically acquire Requires= and After= dependencies on the specified slice unit. + + Unified and Legacy Control Group Hierarchies @@ -578,7 +580,7 @@ Special care should be taken when relying on the default slice assignment in templated service units that have DefaultDependencies=no set, see systemd.service5, section - "Automatic Dependencies" for details. + "Default Dependencies" for details. diff --git a/man/systemd.scope.xml b/man/systemd.scope.xml index 36f24d46a1219..8d8599737acb8 100644 --- a/man/systemd.scope.xml +++ b/man/systemd.scope.xml @@ -75,22 +75,27 @@ - Automatic Dependencies + Implicit Dependencies - Unless DefaultDependencies=false - is used, scope units will implicitly have dependencies of + Implicit dependencies may be added as result of + resource control parameters as documented in + systemd.resource-control5. + + + + Default Dependencies + + The following dependencies are added unless DefaultDependencies=no is set. + + Scope units will automatically have dependencies of type Conflicts= and Before= on shutdown.target. These ensure that scope units are removed prior to system - shutdown. Only scope units involved with early boot or - late system shutdown should disable this option. - - - Additional implicit dependencies may be added as result of - resource control parameters as documented in - systemd.resource-control5. + shutdown. + Only scope units involved with early boot or + late system shutdown should disable DefaultDependencies= option. diff --git a/man/systemd.service.xml b/man/systemd.service.xml index c6fa0edea0a89..85f8a9a384544 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -89,7 +89,9 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. Services with Type=dbus set automatically acquire dependencies of type Requires= and @@ -103,8 +105,19 @@ listed in Sockets= via automatic Wants= and After= dependencies. - Unless DefaultDependencies= in the [Unit] is set to - , service units will implicitly have dependencies of type Requires= and + Additional implicit dependencies may be added as result of + execution and resource control parameters as documented in + systemd.exec5 + and + systemd.resource-control5. + + + + 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 @@ -120,12 +133,6 @@ DefaultDependencies=no, or set Slice=system.slice (or another suitable slice) in the template unit. Also see systemd.resource-control5. - - Additional implicit dependencies may be added as result of - execution and resource control parameters as documented in - systemd.exec5 - and - systemd.resource-control5. diff --git a/man/systemd.slice.xml b/man/systemd.slice.xml index 3ff3cc5188b72..37c1c878afe6d 100644 --- a/man/systemd.slice.xml +++ b/man/systemd.slice.xml @@ -103,17 +103,26 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. Slice units automatically gain dependencies of type After= and Requires= on their immediate parent slice unit. + - Unless DefaultDependencies=false is used in the [Unit] section, slice - units will implicitly have dependencies of type Conflicts= and Before= on - shutdown.target. These ensure that slice units are removed prior to system shutdown. Only - slice units involved with early boot or late system shutdown should disable this option. - + + Default Dependencies + + The following dependencies are added unless DefaultDependencies=no is set. + + Slice units will automatically have dependencies of type Conflicts= and + Before= on + shutdown.target. These ensure that slice units are removed prior to system shutdown. + + Only slice units involved with late system shutdown should disable + DefaultDependencies= option. diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml index 1d20a8f7f7582..24743588a8c5f 100644 --- a/man/systemd.socket.xml +++ b/man/systemd.socket.xml @@ -97,16 +97,7 @@ foo@.service must exist from which services are instantiated for each incoming connection. - Unless DefaultDependencies= in the [Unit] section is set to - , socket units will implicitly have dependencies of type Requires= and - After= on sysinit.target as well as dependencies of type - Conflicts= and Before= on shutdown.target. These ensure - that socket units pull in basic system initialization, and are terminated cleanly prior to system shutdown. Only - sockets involved with early boot or late system shutdown should disable this option. - - Socket units will have a Before= - dependency on the service which they trigger added implicitly. No - implicit WantedBy= or + No implicit WantedBy= or RequiredBy= dependency from the socket to the service is added. This means that the service may be started without the socket, in which case it must be able to open sockets @@ -130,7 +121,9 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. Socket units automatically gain a Before= dependency on the service units they activate. @@ -145,8 +138,20 @@ After= dependency on the device unit encapsulating the specified network interface. - If DefaultDependencies=yes is set (the - default), socket units automatically gain a + Additional implicit dependencies may be added as result of + execution and resource control parameters as documented in + systemd.exec5 + and + systemd.resource-control5. + + + + Default Dependencies + + The following dependencies are added unless + DefaultDependencies=no is set. + + Socket units automatically gain a Before= dependency on sockets.target. They also gain a pair of After= and Requires= @@ -156,11 +161,8 @@ dependencies ensure that the socket unit is started before normal services at boot, and is stopped on shutdown. - Additional implicit dependencies may be added as result of - execution and resource control parameters as documented in - systemd.exec5 - and - systemd.resource-control5. + Only sockets involved with early boot or late system shutdown + should disable DefaultDependencies= option. @@ -358,7 +360,7 @@ specified network interfaces. This controls the SO_BINDTODEVICE socket option (see socket7 - for details). If this option is used, an automatic dependency + for details). If this option is used, an implicit dependency from this socket unit on the network interface device unit (systemd.device5 is created. Note that setting this parameter might result in diff --git a/man/systemd.swap.xml b/man/systemd.swap.xml index 184abff260578..bac8f7630c5d3 100644 --- a/man/systemd.swap.xml +++ b/man/systemd.swap.xml @@ -87,18 +87,15 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. All swap units automatically get the BindsTo= and After= dependencies on the device units or the mount units of the files they are activated from. - Swap units with DefaultDependencies= set to its default value in the - [Unit] section enabled implicitly acquire a Conflicts= and a - Before= dependency on umount.target so that they are deactivated at - shutdown as well as a Before=swap.target dependency. - Additional implicit dependencies may be added as result of execution and resource control parameters as documented in systemd.exec5 @@ -106,6 +103,16 @@ systemd.resource-control5. + + Default Dependencies + + The following dependencies are added unless DefaultDependencies=no is set. + + Swap units automatically acquire a Conflicts= and a + Before= dependency on umount.target so that they are deactivated at + shutdown as well as a Before=swap.target dependency. + + <filename>fstab</filename> diff --git a/man/systemd.target.xml b/man/systemd.target.xml index dbe7ff014bc91..5dbb997a045d7 100644 --- a/man/systemd.target.xml +++ b/man/systemd.target.xml @@ -80,22 +80,27 @@ - Automatic Dependencies + Implicit Dependencies - Unless DefaultDependencies= is set to - in either of related units or an explicit ordering - dependency is already defined, target units will implicitly complement all + There are no implicit dependencies for target units. + + + + Default Dependencies + + The following dependencies are added unless + DefaultDependencies=no is set. + + Target units will automatically complement all configured dependencies of type Wants= or Requires= with dependencies of type After=. Note that Wants= or Requires= must be defined in the target unit itself — if you for example define Wants=some.target in - some.service, the implicit ordering will not be added. - - All target units automatically gain Conflicts= - dependency against shutdown.target unless DefaultDependencies= - is set to . + some.service, the automatic ordering will not be added. + Target units automatically gain Conflicts= + dependency against shutdown.target. diff --git a/man/systemd.timer.xml b/man/systemd.timer.xml index 26a47a1e5ab12..de32a31847f83 100644 --- a/man/systemd.timer.xml +++ b/man/systemd.timer.xml @@ -82,19 +82,30 @@ - Automatic Dependencies + Implicit Dependencies + + The following dependencies are implicitly added. Timer units automatically gain a Before= dependency on the service they are supposed to activate. + + + + Default Dependencies - Unless DefaultDependencies= in the [Unit] section is set to - , all timer units will implicitly have dependencies of type Requires= and + The following dependencies are added unless DefaultDependencies=no is set. + + Timer units will automatically have dependencies of type Requires= and After= on sysinit.target, a dependency of type Before= on timers.target, as well as Conflicts= and Before= on - shutdown.target to ensure that they are stopped cleanly prior to system shutdown. Timer units + shutdown.target to ensure that they are stopped cleanly prior to system shutdown. + + Timer units with at least one OnCalendar= directive will have an additional After= dependency on time-sync.target to avoid being started before the system clock has been - correctly set. Only timer units involved with early boot or late system shutdown should disable the + correctly set. + + Only timer units involved with early boot or late system shutdown should disable the DefaultDependencies= option. diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 32399ef993320..69000aab31f0a 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -268,24 +268,41 @@ - Automatic Dependencies - - A number of unit dependencies are automatically established, - depending on unit configuration. On top of that, for units with - DefaultDependencies=yes (the default) a couple - of additional dependencies are added. The precise effect of - DefaultDependencies=yes depends on the unit - type (see below). - - If DefaultDependencies=yes is set, units - that are referenced by other units of type - .target via a Wants= or - Requires= dependency might automatically gain - an Before= dependency too. See - systemd.target5 + Implicit Dependencies + + A number of unit dependencies are implicitly established, + depending on unit type and unit configuration. These implicit + dependencies can make unit configuration file cleaner. For the + implicit dependencies in each unit type, please refer to + section "Implicit Dependencies" in respective man pages. + + For example, service units with Type=dbus + automatically acquire dependencies of type Requires= + and After= on dbus.socket. See + systemd.service5 for details. + + Default Dependencies + + Default dependencies are similar to implicit dependencies, + but can be turned on and off by setting + DefaultDependencies= to yes + (the default) and no, while implicit dependencies + are always in effect. See section "Default Dependencies" in respective + man pages for the effect of enabling + DefaultDependencies= in each unit types. + + For example, target units will complement all configured + dependencies of type type Wants= or + Requires= with dependencies of type + After=. See + systemd.target5 + for details. Note that this behavior can be turned off by setting + DefaultDependencies=no. + + Unit File Load Path