mirror of
https://github.com/systemd/systemd.git
synced 2024-12-23 21:35:11 +03:00
1166 lines
65 KiB
XML
1166 lines
65 KiB
XML
<?xml version='1.0'?> <!--*-nxml-*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
|
|
<!--
|
|
This file is part of systemd.
|
|
|
|
Copyright 2010 Lennart Poettering
|
|
|
|
systemd is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU Lesser General Public License as published by
|
|
the Free Software Foundation; either version 2.1 of the License, or
|
|
(at your option) any later version.
|
|
|
|
systemd is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public License
|
|
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
-->
|
|
|
|
<refentry id="systemd.special">
|
|
|
|
<refentryinfo>
|
|
<title>systemd.special</title>
|
|
<productname>systemd</productname>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<contrib>Developer</contrib>
|
|
<firstname>Lennart</firstname>
|
|
<surname>Poettering</surname>
|
|
<email>lennart@poettering.net</email>
|
|
</author>
|
|
</authorgroup>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>systemd.special</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>systemd.special</refname>
|
|
<refpurpose>Special systemd units</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<para><filename>basic.target</filename>,
|
|
<filename>bluetooth.target</filename>,
|
|
<filename>ctrl-alt-del.target</filename>,
|
|
<filename>cryptsetup.target</filename>,
|
|
<filename>cryptsetup-pre.target</filename>,
|
|
<filename>dbus.service</filename>,
|
|
<filename>dbus.socket</filename>,
|
|
<filename>default.target</filename>,
|
|
<filename>display-manager.service</filename>,
|
|
<filename>emergency.target</filename>,
|
|
<filename>exit.target</filename>,
|
|
<filename>final.target</filename>,
|
|
<filename>getty.target</filename>,
|
|
<filename>graphical.target</filename>,
|
|
<filename>halt.target</filename>,
|
|
<filename>hibernate.target</filename>,
|
|
<filename>hybrid-sleep.target</filename>,
|
|
<filename>initrd-fs.target</filename>,
|
|
<filename>kbrequest.target</filename>,
|
|
<filename>kexec.target</filename>,
|
|
<filename>local-fs.target</filename>,
|
|
<filename>local-fs-pre.target</filename>,
|
|
<filename>multi-user.target</filename>,
|
|
<filename>network.target</filename>,
|
|
<filename>network-online.target</filename>,
|
|
<filename>network-pre.target</filename>,
|
|
<filename>nss-lookup.target</filename>,
|
|
<filename>nss-user-lookup.target</filename>,
|
|
<filename>paths.target</filename>,
|
|
<filename>poweroff.target</filename>,
|
|
<filename>printer.target</filename>,
|
|
<filename>reboot.target</filename>,
|
|
<filename>remote-fs.target</filename>,
|
|
<filename>remote-fs-pre.target</filename>,
|
|
<filename>rescue.target</filename>,
|
|
<filename>initrd-root-fs.target</filename>,
|
|
<filename>rpcbind.target</filename>,
|
|
<filename>runlevel2.target</filename>,
|
|
<filename>runlevel3.target</filename>,
|
|
<filename>runlevel4.target</filename>,
|
|
<filename>runlevel5.target</filename>,
|
|
<filename>shutdown.target</filename>,
|
|
<filename>sigpwr.target</filename>,
|
|
<filename>sleep.target</filename>,
|
|
<filename>smartcard.target</filename>,
|
|
<filename>sockets.target</filename>,
|
|
<filename>sound.target</filename>,
|
|
<filename>suspend.target</filename>,
|
|
<filename>swap.target</filename>,
|
|
<filename>sysinit.target</filename>,
|
|
<filename>syslog.socket</filename>,
|
|
<filename>system-update.target</filename>,
|
|
<filename>time-sync.target</filename>,
|
|
<filename>timers.target</filename>,
|
|
<filename>umount.target</filename>,
|
|
<filename>-.slice</filename>,
|
|
<filename>system.slice</filename>,
|
|
<filename>user.slice</filename>,
|
|
<filename>machine.slice</filename></para>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>A few units are treated specially by
|
|
systemd. They have special internal semantics and
|
|
cannot be renamed.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Special System Units</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><filename>basic.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
covering basic boot-up.</para>
|
|
<para>systemd automatically
|
|
adds dependencies of the types
|
|
<varname>Requires=</varname>
|
|
and <varname>After=</varname>
|
|
for this target unit to all
|
|
services (except for those
|
|
with
|
|
<varname>DefaultDependencies=no</varname>).</para>
|
|
|
|
<para>Usually this should
|
|
pull-in all mount points, swap
|
|
devices, sockets, timers, and
|
|
path units and other basic
|
|
initialization necessary for
|
|
general purpose
|
|
daemons.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>ctrl-alt-del.target</filename></term>
|
|
<listitem>
|
|
<para>systemd starts this
|
|
target whenever
|
|
Control+Alt+Del is pressed on
|
|
the console. Usually this
|
|
should be aliased (symlinked)
|
|
to
|
|
<filename>reboot.target</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>cryptsetup.target</filename></term>
|
|
<listitem>
|
|
<para>A target that pulls in
|
|
setup services for all
|
|
encrypted block
|
|
devices.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>dbus.service</filename></term>
|
|
<listitem>
|
|
<para>A special unit for the
|
|
D-Bus bus daemon. As soon as
|
|
this service is fully started
|
|
up systemd will connect to it
|
|
and register its
|
|
service.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>dbus.socket</filename></term>
|
|
<listitem>
|
|
<para>A special unit for the
|
|
D-Bus system bus socket. All
|
|
units with
|
|
<varname>Type=dbus</varname>
|
|
automatically gain a
|
|
dependency on this
|
|
unit.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>default.target</filename></term>
|
|
<listitem>
|
|
<para>The default unit systemd
|
|
starts at bootup. Usually this
|
|
should be aliased (symlinked)
|
|
to
|
|
<filename>multi-user.target</filename>
|
|
or
|
|
<filename>graphical.target</filename>.</para>
|
|
|
|
<para>The default unit systemd
|
|
starts at bootup can be
|
|
overridden with the
|
|
<varname>systemd.unit=</varname>
|
|
kernel command line option.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>display-manager.service</filename></term>
|
|
<listitem>
|
|
<para>The display manager
|
|
service. Usually this should
|
|
be aliased (symlinked) to
|
|
<filename>gdm.service</filename>
|
|
or a similar display manager
|
|
service.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>emergency.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that starts an emergency
|
|
shell on the main
|
|
console. This unit is supposed
|
|
to be used with the kernel
|
|
command line option
|
|
<varname>systemd.unit=</varname>
|
|
and has otherwise little use.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>final.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that is used during the
|
|
shutdown logic and may be used
|
|
to pull in late services after
|
|
all normal services are
|
|
already terminated and all
|
|
mounts unmounted.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>getty.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that pulls in statically
|
|
configured local TTY
|
|
<filename>getty</filename>
|
|
instances.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>graphical.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for setting up a graphical
|
|
login screen. This pulls in
|
|
<filename>multi-user.target</filename>.</para>
|
|
|
|
<para>Units that are needed
|
|
for graphical logins shall add
|
|
<varname>Wants=</varname>
|
|
dependencies for their unit to
|
|
this unit (or
|
|
<filename>multi-user.target</filename>)
|
|
during installation. This is
|
|
best configured via
|
|
<varname>WantedBy=graphical.target</varname>
|
|
in the unit's
|
|
<literal>[Install]</literal>
|
|
section.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>hibernate.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for hibernating the
|
|
system. This pulls in
|
|
<filename>sleep.target</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>hybrid-sleep.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for hibernating and suspending the
|
|
system at the same time. This pulls in
|
|
<filename>sleep.target</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>halt.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for shutting down and halting
|
|
the system. Note that this
|
|
target is distinct from
|
|
<filename>poweroff.target</filename>
|
|
in that it generally really
|
|
just halts the system rather
|
|
than powering it down.</para>
|
|
|
|
<para>Applications wanting to
|
|
halt the system should start
|
|
this unit.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>initrd-fs.target</filename></term>
|
|
<listitem>
|
|
<para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
|
automatically adds
|
|
dependencies of type
|
|
<varname>Before=</varname> to
|
|
<filename>sysroot-usr.mount</filename>
|
|
and all mount points found in
|
|
<filename>/etc/fstab</filename>
|
|
that have the
|
|
<option>auto</option> and
|
|
<option>x-initrd.mount</option>
|
|
mount options set.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>kbrequest.target</filename></term>
|
|
<listitem>
|
|
<para>systemd starts this
|
|
target whenever Alt+ArrowUp is
|
|
pressed on the console. This
|
|
is a good candidate to be
|
|
aliased (symlinked) to
|
|
<filename>rescue.target</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>kexec.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for shutting down and rebooting the system via kexec.</para>
|
|
|
|
<para>Applications wanting to
|
|
reboot the system with kexec should start
|
|
this unit.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>local-fs.target</filename></term>
|
|
<listitem>
|
|
<para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
|
automatically adds
|
|
dependencies of type
|
|
<varname>Before=</varname> to
|
|
all mount units that refer to
|
|
local mount points for this
|
|
target unit. In addition, it
|
|
adds dependencies of type
|
|
<varname>Wants=</varname> to
|
|
this target unit for those
|
|
mounts listed in
|
|
<filename>/etc/fstab</filename>
|
|
that have the
|
|
<option>auto</option> mount
|
|
option set.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>multi-user.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for setting up a multi-user
|
|
system (non-graphical). This
|
|
is pulled in by
|
|
<filename>graphical.target</filename>.</para>
|
|
|
|
<para>Units that are needed
|
|
for a multi-user system shall
|
|
add <varname>Wants=</varname>
|
|
dependencies for their unit to
|
|
this unit during
|
|
installation. This is best
|
|
configured via
|
|
<varname>WantedBy=multi-user.target</varname>
|
|
in the unit's
|
|
<literal>[Install]</literal>
|
|
section.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>network-online.target</filename></term>
|
|
<listitem>
|
|
<para>Units that strictly
|
|
require a configured network
|
|
connection should pull in
|
|
<filename>network-online.target</filename>
|
|
(via a
|
|
<varname>Wants=</varname> 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.</para>
|
|
|
|
<para>Note the distinction
|
|
between this unit and
|
|
<filename>network.target</filename>. 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,
|
|
<filename>network.target</filename>
|
|
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,
|
|
<filename>network.target</filename>
|
|
is part of the boot of most
|
|
systems, while
|
|
<filename>network-online.target</filename>
|
|
is not, except when at least
|
|
one unit requires it. Also see
|
|
<ulink
|
|
url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
|
|
Services After the Network is
|
|
up</ulink> for more
|
|
information.</para>
|
|
|
|
<para>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.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>paths.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that sets up all path units
|
|
(see
|
|
<citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
for details) that shall be
|
|
active after boot.</para>
|
|
|
|
<para>It is recommended that
|
|
path units installed by
|
|
applications get pulled in via
|
|
<varname>Wants=</varname>
|
|
dependencies from this
|
|
unit. This is best configured
|
|
via a
|
|
<varname>WantedBy=paths.target</varname>
|
|
in the path unit's
|
|
<literal>[Install]</literal>
|
|
section.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>poweroff.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for shutting down and powering off the system.</para>
|
|
|
|
<para>Applications wanting to
|
|
power off the system should start
|
|
this unit.</para>
|
|
|
|
<para><filename>runlevel0.target</filename>
|
|
is an alias for this target
|
|
unit, for compatibility with SysV.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>reboot.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for shutting down and rebooting the system.</para>
|
|
|
|
<para>Applications wanting to
|
|
reboot the system should start
|
|
this unit.</para>
|
|
|
|
<para><filename>runlevel6.target</filename>
|
|
is an alias for this target
|
|
unit, for compatibility with SysV.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>remote-fs.target</filename></term>
|
|
<listitem>
|
|
<para>Similar to
|
|
<filename>local-fs.target</filename>,
|
|
but for remote mount
|
|
points.</para>
|
|
|
|
<para>systemd automatically
|
|
adds dependencies of type
|
|
<varname>After=</varname> for
|
|
this target unit to all SysV
|
|
init script service units with
|
|
an LSB header referring to the
|
|
<literal>$remote_fs</literal>
|
|
facility.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>rescue.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for setting up the base system
|
|
and a rescue shell.</para>
|
|
|
|
<para><filename>runlevel1.target</filename>
|
|
is an alias for this target
|
|
unit, for compatibility with SysV.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>initrd-root-fs.target</filename></term>
|
|
<listitem>
|
|
<para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
|
automatically adds
|
|
dependencies of type
|
|
<varname>Before=</varname> to
|
|
the
|
|
<filename>sysroot.mount</filename>
|
|
unit, which is generated from
|
|
the kernel command line.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>runlevel2.target</filename></term>
|
|
<term><filename>runlevel3.target</filename></term>
|
|
<term><filename>runlevel4.target</filename></term>
|
|
<term><filename>runlevel5.target</filename></term>
|
|
<listitem>
|
|
<para>These are targets that
|
|
are called whenever the SysV
|
|
compatibility code asks for
|
|
runlevel 2, 3, 4, 5,
|
|
respectively. It is a good
|
|
idea to make this an alias for
|
|
(i.e. symlink to)
|
|
<filename>multi-user.target</filename>
|
|
(for runlevel 2) or
|
|
<filename>graphical.target</filename>
|
|
(the others).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>shutdown.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that terminates the services
|
|
on system shutdown.</para>
|
|
|
|
<para>Services that shall be
|
|
terminated on system shutdown
|
|
shall add <varname>Conflicts=</varname>
|
|
dependencies to this unit for
|
|
their service unit, which is
|
|
implicitly done when
|
|
<varname>DefaultDependencies=yes</varname>
|
|
is set (the default).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>sigpwr.target</filename></term>
|
|
<listitem>
|
|
<para>A special target that is
|
|
started when systemd receives
|
|
the SIGPWR process signal,
|
|
which is normally sent by the
|
|
kernel or UPS daemons when
|
|
power fails.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>sleep.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that is pulled in by
|
|
<filename>suspend.target</filename>,
|
|
<filename>hibernate.target</filename>
|
|
and
|
|
<filename>hybrid-sleep.target</filename>
|
|
and may be used to hook units
|
|
into the sleep state
|
|
logic.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>sockets.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that sets up all socket
|
|
units.(see
|
|
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
for details) that shall be
|
|
active after boot.</para>
|
|
|
|
<para>Services that can be
|
|
socket-activated shall add
|
|
<varname>Wants=</varname>
|
|
dependencies to this unit for
|
|
their socket unit during
|
|
installation. This is best
|
|
configured via a
|
|
<varname>WantedBy=sockets.target</varname>
|
|
in the socket unit's
|
|
<literal>[Install]</literal>
|
|
section.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>suspend.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
for suspending the
|
|
system. This pulls in
|
|
<filename>sleep.target</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>swap.target</filename></term>
|
|
<listitem>
|
|
<para>Similar to
|
|
<filename>local-fs.target</filename>, but for swap
|
|
partitions and swap
|
|
files.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>sysinit.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
covering early boot-up scripts.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>syslog.socket</filename></term>
|
|
<listitem>
|
|
<para>The socket unit
|
|
syslog implementations should
|
|
listen on. All userspace log
|
|
messages will be made
|
|
available on this socket. For
|
|
more information about syslog
|
|
integration, please consult
|
|
the <ulink
|
|
url="http://www.freedesktop.org/wiki/Software/systemd/syslog">Syslog
|
|
Interface</ulink>
|
|
document.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>system-update.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that is used for off-line
|
|
system updates.
|
|
<citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
will redirect the boot process
|
|
to this target if
|
|
<filename>/system-update</filename>
|
|
exists. For more information
|
|
see the <ulink
|
|
url="http://freedesktop.org/wiki/Software/systemd/SystemUpdates">System
|
|
Updates
|
|
Specification</ulink>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>timers.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that sets up all timer
|
|
units (see
|
|
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
for details) that shall be
|
|
active after boot.</para>
|
|
|
|
<para>It is recommended that
|
|
timer units installed by
|
|
applications get pulled in via
|
|
<varname>Wants=</varname>
|
|
dependencies from this
|
|
unit. This is best configured
|
|
via
|
|
<varname>WantedBy=timers.target</varname>
|
|
in the timer unit's
|
|
<literal>[Install]</literal>
|
|
section.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>umount.target</filename></term>
|
|
<listitem>
|
|
<para>A special target unit
|
|
that umounts all mount and
|
|
automount points on system
|
|
shutdown.</para>
|
|
|
|
<para>Mounts that shall be
|
|
unmounted on system shutdown
|
|
shall add Conflicts
|
|
dependencies to this unit for
|
|
their mount unit, which is
|
|
implicitly done when
|
|
<varname>DefaultDependencies=yes</varname>
|
|
is set (the default).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Special System Units for Devices</title>
|
|
|
|
<para>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.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><filename>bluetooth.target</filename></term>
|
|
<listitem>
|
|
<para>This target is started
|
|
automatically as soon as a
|
|
Bluetooth controller is
|
|
plugged in or becomes
|
|
available at boot.</para>
|
|
|
|
<para>This may be used to pull
|
|
in Bluetooth management
|
|
daemons dynamically when
|
|
Bluetooth hardware is
|
|
found.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>printer.target</filename></term>
|
|
<listitem>
|
|
<para>This target is started
|
|
automatically as soon as a
|
|
printer is plugged in or
|
|
becomes available at
|
|
boot.</para>
|
|
|
|
<para>This may be used to pull
|
|
in printer management
|
|
daemons dynamically when
|
|
printer hardware is
|
|
found.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>smartcard.target</filename></term>
|
|
<listitem>
|
|
<para>This target is started
|
|
automatically as soon as a
|
|
smartcard controller is
|
|
plugged in or becomes
|
|
available at boot.</para>
|
|
|
|
<para>This may be used to pull
|
|
in smartcard management
|
|
daemons dynamically when
|
|
smartcard hardware is
|
|
found.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>sound.target</filename></term>
|
|
<listitem>
|
|
<para>This target is started
|
|
automatically as soon as a
|
|
sound card is plugged in or
|
|
becomes available at
|
|
boot.</para>
|
|
|
|
<para>This may be used to pull
|
|
in audio management daemons
|
|
dynamically when audio
|
|
hardware is found.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Special Passive System Units </title>
|
|
|
|
<para>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 <emphasis>passive</emphasis>
|
|
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 <varname>Wants=</varname> type
|
|
dependency).</para>
|
|
|
|
<para>Note that these passive units cannot be started
|
|
manually, i.e. <literal>systemctl start
|
|
time-sync.target</literal> 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.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><filename>cryptsetup-pre.target</filename></term>
|
|
<listitem>
|
|
<para>This passive target unit
|
|
may be pulled in by services
|
|
that want to run before any
|
|
encrypted block device is set
|
|
up. All encrypted block
|
|
devices are set up after this
|
|
target has been reached. Since
|
|
the shutdown order is
|
|
implicitly the reverse
|
|
start-up order between units
|
|
this target is particularly
|
|
useful to ensure that a
|
|
service is shut down only
|
|
after all encrypted block
|
|
devices are fully
|
|
stopped.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>local-fs-pre.target</filename></term>
|
|
<listitem>
|
|
<para>This target unit is
|
|
automatically ordered before
|
|
all local mount points marked
|
|
with <option>auto</option>
|
|
(see above). It can be used to
|
|
execute certain units before
|
|
all local mounts.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>network.target</filename></term>
|
|
<listitem>
|
|
<para>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
|
|
<filename>network.target</filename>
|
|
will be stopped before the
|
|
network -- to whatever level
|
|
it might be set up then -- is
|
|
shut down. It is hence useful
|
|
when writing service files
|
|
that require network access on
|
|
shutdown, which should order
|
|
themselves after this target,
|
|
but not pull it in. Also see
|
|
<ulink
|
|
url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
|
|
Services After the Network is
|
|
up</ulink> for more
|
|
information. Also see
|
|
<filename>network-online.target</filename>
|
|
described above.</para>
|
|
|
|
<para>systemd automatically
|
|
adds dependencies of type
|
|
<varname>After=</varname> for
|
|
this target unit to all SysV
|
|
init script service units with
|
|
an LSB header referring to the
|
|
<literal>$network</literal>
|
|
facility.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>network-pre.target</filename></term>
|
|
<listitem>
|
|
<para>This passive target unit
|
|
may be pulled in by services
|
|
that want to run before any
|
|
network is set up, for example
|
|
for the purpose of setting up a
|
|
firewall. All network
|
|
management software orders
|
|
itself after this target, but
|
|
does not pull it in.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>nss-lookup.target</filename></term>
|
|
<listitem>
|
|
<para>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
|
|
<filename>nss-user-lookup.target</filename>
|
|
should be used. All services
|
|
for which the availability of
|
|
full host/network name
|
|
resolution is essential should
|
|
be ordered after this target,
|
|
but not pull it in. systemd
|
|
automatically adds
|
|
dependencies of type
|
|
<varname>After=</varname> for
|
|
this target unit to all SysV
|
|
init script service units with
|
|
an LSB header referring to the
|
|
<literal>$named</literal>
|
|
facility.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>nss-user-lookup.target</filename></term>
|
|
<listitem>
|
|
<para>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
|
|
<filename>nss-lookup.target</filename>
|
|
should be used. All services
|
|
for which the availability of
|
|
the full user/group database is
|
|
essential should be ordered
|
|
after this target, but not
|
|
pull it in. Note that system
|
|
users are always resolvable,
|
|
and hence do not require any
|
|
special ordering against this
|
|
target.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>remote-fs-pre.target</filename></term>
|
|
<listitem>
|
|
<para>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
|
|
<varname>Wants=</varname> type
|
|
dependency. If the unit wants
|
|
to be pulled in by the first
|
|
remote mount showing up, it
|
|
should use
|
|
<filename>network-online.target</filename>
|
|
(see above).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>rpcbind.target</filename></term>
|
|
<listitem>
|
|
<para>The portmapper/rpcbind
|
|
pulls in this target and
|
|
orders itself before it, to
|
|
indicate its
|
|
availability. systemd
|
|
automatically adds
|
|
dependencies of type
|
|
<varname>After=</varname> for
|
|
this target unit to all SysV
|
|
init script service units with
|
|
an LSB header referring to the
|
|
<literal>$portmap</literal>
|
|
facility.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><filename>time-sync.target</filename></term>
|
|
<listitem>
|
|
<para>Services responsible for
|
|
synchronizing the system clock
|
|
from a remote source (such as
|
|
NTP client implementations)
|
|
should pull in this target and
|
|
order themselves before
|
|
it. All services where correct
|
|
time is essential should be
|
|
ordered after this unit, but
|
|
not pull it in. systemd
|
|
automatically adds
|
|
dependencies of type
|
|
<varname>After=</varname> for
|
|
this target unit to all SysV
|
|
init script service units with
|
|
an LSB header referring to the
|
|
<literal>$time</literal>
|
|
facility. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Special User Units</title>
|
|
|
|
<para>When systemd runs as a user instance, the
|
|
following special units are available, which have
|
|
similar definitions as their system counterparts:
|
|
<filename>default.target</filename>,
|
|
<filename>shutdown.target</filename>,
|
|
<filename>sockets.target</filename>,
|
|
<filename>timers.target</filename>,
|
|
<filename>paths.target</filename>,
|
|
<filename>bluetooth.target</filename>,
|
|
<filename>printer.target</filename>,
|
|
<filename>smartcard.target</filename>,
|
|
<filename>sound.target</filename>.</para>
|
|
|
|
<para>In addition, the following special unit is
|
|
understood only when systemd runs as service instance:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><filename>exit.target</filename></term>
|
|
<listitem>
|
|
<para>A special service unit
|
|
for shutting down the
|
|
user service manager.</para>
|
|
|
|
<para>Applications wanting to
|
|
terminate the user service
|
|
manager should start this
|
|
unit. If systemd receives
|
|
<constant>SIGTERM</constant> or <constant>SIGINT</constant> when running
|
|
as user service daemon, it will
|
|
start this unit.</para>
|
|
|
|
<para>Normally, this pulls in
|
|
<filename>shutdown.target</filename>
|
|
which in turn should be
|
|
conflicted by all units that
|
|
want to be shut down on
|
|
user service manager exit.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Special Slice Units</title>
|
|
|
|
<para>There are four <literal>.slice</literal> units
|
|
which form the basis of the hierarchy for assignment
|
|
of resources for services, users, and virtual machines
|
|
or containers.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><filename>-.slice</filename></term>
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><filename>system.slice</filename></term>
|
|
<listitem>
|
|
<para>By default, all services
|
|
services started by
|
|
<command>systemd</command> are
|
|
found in this slice.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><filename>user.slice</filename></term>
|
|
<listitem>
|
|
<para>By default, all user
|
|
processes and services started
|
|
on behalf of the user,
|
|
including the per-user systemd
|
|
instance are found in this
|
|
slice.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><filename>machine.slice</filename></term>
|
|
<listitem>
|
|
<para>By default, all virtual
|
|
machines and containers
|
|
registered with
|
|
<command>systemd-machined</command>
|
|
are found in this slice.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|