X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.special.xml;h=863a029fe3bd74213de0eec931353e2164360092;hb=489124365d1d391864898b9869dd668eea5b2e28;hp=4321f546987b34fcd629929b7a1f550749707215;hpb=013d8a39a6178179080bcfee9122b29cf9d29259;p=elogind.git
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
index 4321f5469..863a029fe 100644
--- a/man/systemd.special.xml
+++ b/man/systemd.special.xml
@@ -57,28 +57,31 @@
default.target,
display-manager.service,
emergency.target,
- exit.service,
- final.service,
+ exit.target,
+ final.target,
getty.target,
graphical.target,
- hibernate.target,
- http-daemon.target,
halt.target,
+ hibernate.target,
+ hybrid-sleep.target,
+ initrd-fs.target,
kbrequest.target,
kexec.target,
local-fs.target,
local-fs-pre.target,
- mail-transfer-agent.target,
multi-user.target,
network.target,
+ network-online.target,
nss-lookup.target,
nss-user-lookup.target,
+ paths.target,
poweroff.target,
printer.target,
reboot.target,
remote-fs.target,
remote-fs-pre.target,
rescue.target,
+ initrd-root-fs.target,
rpcbind.target,
runlevel2.target,
runlevel3.target,
@@ -93,11 +96,15 @@
suspend.target,
swap.target,
sysinit.target,
- syslog.service,
syslog.socket,
- syslog.target,
+ system-update.target,
time-sync.target,
- umount.target
+ timers.target,
+ umount.target,
+ -.slice,
+ system.slice,
+ user.slice,
+ machine.slice
@@ -116,32 +123,23 @@
basic.targetA special target unit
- covering early boot-up.
+ covering basic boot-up.
systemd automatically
adds dependencies of the types
- Requires and After for this
- target unit to all SysV
- service units configured for
- runlevel 1 to 5.
- Usually this should pull-in
- all sockets, mount points,
- swap devices and other basic
+ Requires=
+ and After=
+ for this target unit to all
+ services (except for those
+ with
+ DefaultDependencies=no).
+
+ Usually this should
+ pull-in all mount points, swap
+ devices, sockets, timers, and
+ path units and other basic
initialization necessary for
- the general purpose
- daemons. Most normal daemons
- should have dependencies of
- type After and Requires on
- this unit.
-
-
-
- bluetooth.target
-
- This target is started
- automatically as soon as a
- bluetooth controller is
- plugged in or becomes
- available at boot.
+ general purpose
+ daemons.
@@ -169,7 +167,7 @@
dbus.serviceA special unit for the
- D-Bus system bus. As soon as
+ D-Bus bus daemon. As soon as
this service is fully started
up systemd will connect to it
and register its
@@ -182,7 +180,7 @@
A special unit for the
D-Bus system bus socket. All
units with
- Type=dbus
+ Type=dbus
automatically gain a
dependency on this
unit.
@@ -198,6 +196,7 @@
multi-user.target
or
graphical.target.
+
The default unit systemd
starts at bootup can be
overridden with the
@@ -214,15 +213,6 @@
gdm.service
or a similar display manager
service.
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with a LSB header
- referring to the
- $x-display-manager
- facility, for compatibility
- with Debian.
@@ -256,8 +246,10 @@
getty.targetA special target unit
- that pulls in all local TTY
- getty instances.
+ that pulls in statically
+ configured local TTY
+ getty
+ instances.
@@ -270,11 +262,17 @@
multi-user.target.
Units that are needed
- for graphical login shall add
- Wants dependencies for their
- unit to this unit (or
+ for graphical logins shall add
+ Wants=
+ dependencies for their unit to
+ this unit (or
multi-user.target)
- during installation.
+ during installation. This is
+ best configured via
+ WantedBy=graphical.target
+ in the unit's
+ [Install]
+ section.
@@ -287,32 +285,48 @@
- http-daemon.target
+ hybrid-sleep.target
- A target for pulling in
- an HTTP server if there is
- any.
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with a LSB header
- referring to the
- $httpd
- facility.
+ A special target unit
+ for hibernating and suspending the
+ system at the same time. This pulls in
+ sleep.target.halt.targetA special target unit
- for shutting down and halting the system.
+ for shutting down and halting
+ the system. Note that this
+ target is distinct from
+ poweroff.target
+ in that it generally really
+ just halts the system rather
+ than powering it down.
Applications wanting to
halt the system should start
this unit.
+
+ initrd-fs.target
+
+ systemd-fstab-generator3
+ automatically adds
+ dependencies of type
+ Before= to
+ sysroot-usr.mount
+ and all mount points found in
+ /etc/fstab
+ that have the
+ and
+
+ mount options set.
+
+
+ kbrequest.target
@@ -338,64 +352,21 @@
local-fs.target
- systemd automatically
+ systemd-fstab-generator3
+ automatically adds
+ dependencies of type
+ Before= to
+ all mount units that refer to
+ local mount points for this
+ target unit. In addition, it
adds dependencies of type
- After to all mount units that
- refer to local mount points
- for this target unit. In
- addition, systemd adds
- dependencies of type Wants to
+ Wants= to
this target unit for those
mounts listed in
/etc/fstab
that have the
- and
-
- mount options set.
-
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- $local_fs
- facility.
-
-
-
- local-fs-pre.target
-
- This target unit is
- automatically ordered before
- all local mount points marked
- with
- (see above). It can be used to
- execute certain units before
- all local mounts.
-
-
-
- mail-transfer-agent.target
-
- The mail transfer agent
- (MTA) service. Usually this
- should pull-in all units
- necessary for
- sending/receiving mails on the
- local host.
-
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- $mail-transfer-agent
- or
- $mail-transport-agent
- facilities, for compatibility
- with Debian.
+ mount
+ option set.
@@ -409,57 +380,99 @@
Units that are needed
for a multi-user system shall
- add Wants dependencies to
- this unit for their unit during
- installation.
-
-
-
- network.target
-
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- $network
- facility.
+ add Wants=
+ dependencies for their unit to
+ this unit during
+ installation. This is best
+ configured via
+ WantedBy=multi-user.target
+ in the unit's
+ [Install]
+ section.
- nss-lookup.target
+ network-online.target
- A target that should be
- used as synchronization point
- for all host/network name
- service lookups. Note that
- this is independent of
- user/group name lookups for
- which
- nss-user-lookup.target
- should be used. systemd
- automatically adds
- dependencies of type After for
- this target unit to all SysV
- init script service units with
- an LSB header referring to the
- $named
- facility.
-
+ Units that strictly
+ require a configured network
+ connection should pull in
+ network-online.target
+ (via a
+ Wants= type
+ dependency) and order
+ themselves after it. This
+ target unit is intended to
+ pull in a service that delays
+ further execution until the
+ network is sufficiently set
+ up. What precisely this
+ requires is left to the
+ implementation of the network
+ managing service.
+
+ Note the distinction
+ between this unit and
+ network.target. This
+ unit is an active unit
+ (i.e. pulled in by the
+ consumer rather than the
+ provider of this
+ functionality) and pulls in a
+ service which possibly adds
+ substantial delays to further
+ execution. In contrast,
+ network.target
+ is a passive unit (i.e. pulled
+ in by the provider of the
+ functionality, rather than the
+ consumer) that usually does
+ not delay execution
+ much. Usually,
+ network.target
+ is part of the boot of most
+ systems, while
+ network-online.target
+ is not, except when at least
+ one unit requires it. Also see
+ Running
+ Services After the Network is
+ up for more
+ information.
+
+ All mount units for
+ remote network file systems
+ automatically pull in this
+ unit, and order themselves
+ after it. Note that networking
+ daemons that simply provide
+ functionality to other hosts
+ generally do not need to pull
+ this in.
+
- nss-user-lookup.target
+ paths.target
- A target that should be
- used as synchronization point
- for all user/group name
- service lookups. Note that
- this is independent of
- host/network name lookups for
- which
- nss-lookup.target
- should be used.
+ A special target unit
+ that sets up all path units
+ (see
+ systemd.path5
+ for details) that shall be
+ active after boot.
+
+ It is recommended that
+ path units installed by
+ applications get pulled in via
+ Wants=
+ dependencies from this
+ unit. This is best configured
+ via a
+ WantedBy=paths.target
+ in the path unit's
+ [Install]
+ section.
@@ -477,16 +490,6 @@
unit, for compatibility with SysV.
-
- printer.target
-
- This target is started
- automatically as soon as a
- printer is plugged in or
- becomes available at
- boot.
-
- reboot.target
@@ -512,26 +515,14 @@
systemd automatically
adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
$remote_fs
facility.
-
- remote-fs-pre.target
-
- This target unit is
- automatically ordered before
- all remote mount points marked
- with
- (see above). It can be used to
- execute certain units before
- all remote mounts.
-
- rescue.target
@@ -545,70 +536,36 @@
- rpcbind.target
+ initrd-root-fs.target
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- $rpcbind
- facility.
+ systemd-fstab-generator3
+ automatically adds
+ dependencies of type
+ Before= to
+ the
+ sysroot.mount
+ unit, which is generated from
+ the kernel command line.
+ runlevel2.target
-
- This is a target that is
- called whenever the SysV
- compatibility code asks for
- runlevel 2. It is a good idea
- to make this an alias for
- (i.e. symlink to)
- multi-user.target.
-
-
- runlevel3.target
-
- This is a target that is
- called whenever the SysV
- compatibility code asks for
- runlevel 3. It is a good idea
- to make this an alias for
- (i.e. symlink to)
- multi-user.target
- or
- graphical.target.
-
-
- runlevel4.target
-
- This is a target that is
- called whenever the SysV
- compatibility code asks for
- runlevel 4. It is a good idea
- to make this an alias for
- (i.e. symlink to)
- multi-user.target
- or
- graphical.target.
-
-
- runlevel5.target
- This is a target that is
- called whenever the SysV
+ These are targets that
+ are called whenever the SysV
compatibility code asks for
- runlevel 5. It is a good idea
- to make this an alias for
+ runlevel 2, 3, 4, 5,
+ respectively. It is a good
+ idea to make this an alias for
(i.e. symlink to)
multi-user.target
- or
- graphical.target.
+ (for runlevel 2) or
+ graphical.target
+ (the others).
@@ -620,20 +577,12 @@
Services that shall be
terminated on system shutdown
- shall add Conflicts
+ shall add Conflicts=
dependencies to this unit for
their service unit, which is
implicitly done when
DefaultDependencies=yes
is set (the default).
-
- systemd automatically
- adds dependencies of type
- Conflicts to this target unit
- for all SysV init script
- service units that shall be
- terminated in SysV runlevels 0
- or 6.
@@ -652,46 +601,36 @@
A special target unit
that is pulled in by
- suspend.target
- and
+ suspend.target,
hibernate.target
+ and
+ hybrid-sleep.target
and may be used to hook units
into the sleep state
logic.
-
- smartcard.target
-
- This target is started
- automatically as soon as a
- smartcard controller is
- plugged in or becomes
- available at boot.
-
- sockets.targetA special target unit
- that sets up all service
- sockets.
+ that sets up all socket
+ units.(see
+ systemd.socket5
+ for details) that shall be
+ active after boot.
Services that can be
socket-activated shall add
- Wants dependencies to this
- unit for their socket unit
- during installation.
-
-
-
- sound.target
-
- This target is started
- automatically as soon as a
- sound card is plugged in or
- becomes available at
- boot.
+ Wants=
+ dependencies to this unit for
+ their socket unit during
+ installation. This is best
+ configured via a
+ WantedBy=sockets.target
+ in the socket unit's
+ [Install]
+ section.
@@ -717,64 +656,62 @@
A special target unit
covering early boot-up scripts.
- systemd automatically
- adds dependencies of the types
- Wants and After for all
- SysV service units configured
- for runlevels that are not 0
- to 6 to this target unit.
- This covers the special
- boot-up runlevels some
- distributions have, such as S
- or b.
-
-
-
- syslog.service
-
- The syslog service if
- any. Implementations should
- create a symlink from the
- actual syslog implementation
- to this generic name for
- activating it.syslog.socket
- The socket unit where
+ The socket unit
syslog implementations should
listen on. All userspace log
messages will be made
- available on this
- socket.
+ available on this socket. For
+ more information about syslog
+ integration, please consult
+ the Syslog
+ Interface
+ document.
- syslog.target
+ system-update.target
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- $syslog
- facility.
+ A special target unit
+ that is used for off-line
+ system updates.
+ systemd-system-update-generator8
+ will redirect the boot process
+ to this target if
+ /system-update
+ exists. For more information
+ see the System
+ Updates
+ Specification.
- time-sync.target
+ timers.target
- systemd automatically
- adds dependencies of type
- After for this target unit to
- all SysV init script service
- units with an LSB header
- referring to the
- $time
- facility.
+ A special target unit
+ that sets up all timer
+ units (see
+ systemd.timer5
+ for details) that shall be
+ active after boot.
+
+ It is recommended that
+ timer units installed by
+ applications get pulled in via
+ Wants=
+ dependencies from this
+ unit. This is best configured
+ via
+ WantedBy=timers.target
+ in the timer unit's
+ [Install]
+ section.
@@ -795,6 +732,251 @@
is set (the default).
+
+
+
+
+
+ Special System Units for Devices
+
+ Some target units are automatically pulled in as
+ devices of certain kinds show up in the system. These
+ may be used to automatically activate various services
+ based on the specific type of the available
+ hardware.
+
+
+
+ bluetooth.target
+
+ This target is started
+ automatically as soon as a
+ Bluetooth controller is
+ plugged in or becomes
+ available at boot.
+
+ This may be used to pull
+ in Bluetooth management
+ daemons dynamically when
+ Bluetooth hardware is
+ found.
+
+
+
+ printer.target
+
+ This target is started
+ automatically as soon as a
+ printer is plugged in or
+ becomes available at
+ boot.
+
+ This may be used to pull
+ in printer management
+ daemons dynamically when
+ printer hardware is
+ found.
+
+
+
+ smartcard.target
+
+ This target is started
+ automatically as soon as a
+ smartcard controller is
+ plugged in or becomes
+ available at boot.
+
+ This may be used to pull
+ in smartcard management
+ daemons dynamically when
+ smartcard hardware is
+ found.
+
+
+
+ sound.target
+
+ This target is started
+ automatically as soon as a
+ sound card is plugged in or
+ becomes available at
+ boot.
+
+ This may be used to pull
+ in audio management daemons
+ dynamically when audio
+ hardware is found.
+
+
+
+
+
+
+ Special Passive System Units
+
+ A number of special system targets are defined
+ that can be used to properly order boot-up of optional
+ services. These targets are generally not part of the
+ initial boot transaction, unless they are explicitly
+ pulled in by one of the implementing services. Note
+ specifically, that these passive
+ target units are generally not pulled in by the
+ consumer of a service, but by the provider of the
+ service. This means: a consuming service should order
+ itself after these targets (as appropriate), but not
+ pull it in. A providing service should order itself
+ before these targets (as appropriate) and pull it in
+ (via a Wants= type
+ dependency).
+
+ Note that these passive units cannot be started
+ manually, i.e. systemctl start
+ time-sync.target will fail with an
+ error. They can only be pulled in by dependency. This
+ is enforced since they exist for ordering purposes
+ only and thus are not useful as only unit within a
+ transaction.
+
+
+
+ local-fs-pre.target
+
+ This target unit is
+ automatically ordered before
+ all local mount points marked
+ with
+ (see above). It can be used to
+ execute certain units before
+ all local mounts.
+
+
+
+ network.target
+
+ This unit is supposed to
+ indicate when network
+ functionality is available,
+ but it is only very weakly
+ defined what that is supposed
+ to mean, with one exception:
+ at shutdown, a unit that is
+ ordered after
+ network.target
+ will be stopped before the
+ network -- to whatever level
+ it might be set up then -- is
+ shut down. Also see Running
+ Services After the Network is
+ up for more
+ information. Also see
+ network-online.target
+ described above.
+
+ systemd automatically
+ adds dependencies of type
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ $network
+ facility.
+
+
+
+
+ nss-lookup.target
+
+ A target that should be
+ used as synchronization point
+ for all host/network name
+ service lookups. Note that
+ this is independent of
+ user/group name lookups for
+ which
+ nss-user-lookup.target
+ should be used. systemd
+ automatically adds
+ dependencies of type
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ $named
+ facility.
+
+
+
+ nss-user-lookup.target
+
+ A target that should be
+ used as synchronization point
+ for all user/group name
+ service lookups. Note that
+ this is independent of
+ host/network name lookups for
+ which
+ nss-lookup.target
+ should be used.
+
+
+
+ remote-fs-pre.target
+
+ This target unit is
+ automatically ordered before
+ all remote mount point units
+ (see above). It can be used to
+ run certain units before the
+ remote mounts are
+ established. Note that this
+ unit is generally not part of
+ the initial transaction,
+ unless the unit that wants to
+ be ordered before all remote
+ mounts pulls it in via a
+ Wants= type
+ dependency. If the unit wants
+ to be pulled in by the first
+ remote mount showing up, it
+ should use
+ network-online.target
+ (see above).
+
+ Again, this target unit
+ is not
+ suitable for pulling in other
+ units, it is only useful for
+ ordering.
+
+
+
+ rpcbind.target
+
+ systemd automatically
+ adds dependencies of type
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ $portmap
+ facility.
+
+
+
+ time-sync.target
+
+ systemd automatically
+ adds dependencies of type
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ $time
+ facility.
+
+
@@ -806,14 +988,20 @@
similar definitions as their system counterparts:
default.target,
shutdown.target,
- sockets.target
+ sockets.target,
+ timers.target,
+ paths.target,
+ bluetooth.target,
+ printer.target,
+ smartcard.target,
+ sound.target.
In addition the following special unit is
understood only when systemd runs as service instance:
- exit.service
+ exit.targetA special service unit
for shutting down the
@@ -823,8 +1011,8 @@
terminate the user service
manager should start this
unit. If systemd receives
- SIGTERM or SIGINT when running
- as user service daemon it will
+ SIGTERM or SIGINT when running
+ as user service daemon, it will
start this unit.Normally, this pulls in
@@ -838,6 +1026,63 @@
+
+ Special Slice Units
+
+ There are four .slice units
+ which form the basis of the hierarchy for assignment
+ of resources for services, users, and virtual machines
+ or containers.
+
+
+
+ -.slice
+
+ The root slice is the
+ root of the hierarchy. It
+ usually does not contain units
+ directly, but may be used to
+ set defaults for the whole
+ tree.
+
+
+
+
+ system.slice
+
+ By default, all services
+ services started by
+ systemd are
+ found in this slice.
+
+
+
+
+ user.slice
+
+ By default, all user
+ processes and services started
+ on behalf of the user,
+ including the per-user systemd
+ instance are found in this
+ slice.
+
+
+
+
+ machine.slice
+
+ By defalt, all virtual
+ machines and containers
+ registered with
+ systemd-machined
+ are found in this slice.
+
+
+
+
+
+
See Also
@@ -846,7 +1091,9 @@
systemd.service5,
systemd.socket5,
systemd.target5,
- bootup7
+ systemd.slice5,
+ bootup7,
+ systemd-fstab-generator8