2010-05-17 00:45:11 +04:00
<?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 General Public License as published by
the Free Software Foundation; either version 2 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
General Public License for more details.
You should have received a copy of the GNU General Public License
along with systemd; If not, see <http: / / w w w . g n u . o r g / l i c e n s e s /> .
-->
<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 >
2010-05-18 00:45:52 +04:00
<para > <filename > basic.target</filename> ,
<filename > ctrl-alt-del.target</filename> ,
2010-07-10 02:22:38 +04:00
<filename > dbus.service</filename> ,
2010-05-18 00:45:52 +04:00
<filename > default.target</filename> ,
2010-05-25 00:29:59 +04:00
<filename > display-manager.service</filename> ,
2010-07-13 01:49:20 +04:00
<filename > emergency.target</filename> ,
2010-05-25 00:31:38 +04:00
<filename > exit.service</filename> ,
2010-05-18 00:45:52 +04:00
<filename > graphical.target</filename> ,
<filename > halt.target</filename> ,
<filename > kbrequest.target</filename> ,
<filename > local-fs.target</filename> ,
2011-10-11 05:33:53 +04:00
<filename > local-fs-pre.target</filename> ,
2010-05-25 00:30:54 +04:00
<filename > mail-transfer-agent.target</filename> ,
2010-05-18 00:45:52 +04:00
<filename > multi-user.target</filename> ,
<filename > network.target</filename> ,
<filename > nss-lookup.target</filename> ,
<filename > poweroff.target</filename> ,
<filename > reboot.target</filename> ,
<filename > remote-fs.target</filename> ,
2011-10-11 05:33:53 +04:00
<filename > remote-fs-pre.target</filename> ,
2010-05-18 00:45:52 +04:00
<filename > rescue.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 > sockets.target</filename> ,
<filename > swap.target</filename> ,
2010-06-04 20:43:40 +04:00
<filename > sysinit.target</filename> ,
2010-07-03 21:54:00 +04:00
<filename > syslog.target</filename> ,
2010-05-18 00:45:52 +04:00
<filename > systemd-initctl.service</filename> ,
<filename > systemd-initctl.socket</filename> ,
2011-08-31 00:42:49 +04:00
<filename > systemd-stdout-syslog-bridge.service</filename> ,
<filename > systemd-stdout-syslog-bridge.socket</filename> ,
2011-08-07 03:04:38 +04:00
<filename > time-sync.target</filename> ,
2010-07-12 04:56:17 +04:00
<filename > umount.target</filename> </para>
2010-05-17 00:45:11 +04:00
</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 >
2010-05-17 21:37:21 +04:00
<varlistentry >
<term > <filename > basic.target</filename> </term>
<listitem >
<para > A special target unit
covering early boot-up.</para>
<para > 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.</para>
2010-06-25 02:04:29 +04:00
<para > Usually this should pull-in
all sockets, mount points,
2010-06-04 20:43:40 +04:00
swap devices and other basic
initialization necessary for
the general purpose
2010-06-25 02:04:29 +04:00
daemons. Most normal daemons
2010-06-04 20:43:40 +04:00
should have dependencies of
type After and Requires on
this unit.</para>
2010-05-17 21:37:21 +04:00
</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>
2010-05-25 00:31:50 +04:00
<varlistentry >
2010-07-10 02:22:38 +04:00
<term > <filename > dbus.service</filename> </term>
2010-05-25 00:31:50 +04:00
<listitem >
<para > A special unit for the
D-Bus system bus. As soon as
this service is fully started
up systemd will connect to it
and register its
service.</para>
</listitem>
</varlistentry>
2010-05-17 21:37:21 +04:00
<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
2011-04-23 23:55:24 +04:00
overridden with the
2011-03-29 01:39:18 +04:00
<varname > systemd.unit=</varname>
2010-05-17 21:37:21 +04:00
kernel command line option.</para>
</listitem>
</varlistentry>
2010-05-25 00:29:59 +04:00
<varlistentry >
<term > <filename > display-manager.service</filename> </term>
<listitem >
<para > The display manager
service. Usually this should
be aliased (symlinked) to
2010-06-25 02:04:29 +04:00
<filename > xdm.service</filename>
2010-05-25 00:29:59 +04:00
or a similar display manager
service.</para>
<para > systemd automatically
adds dependencies of type
After for this target unit to
all SysV init script service
2010-06-25 02:04:29 +04:00
units with a LSB header
2010-05-25 00:29:59 +04:00
referring to the
<literal > $x-display-manager</literal>
facility, for compatibility
with Debian.</para>
</listitem>
</varlistentry>
2010-05-17 00:45:11 +04:00
<varlistentry >
2010-07-13 01:49:20 +04:00
<term > <filename > emergency.target</filename> </term>
2010-05-17 00:45:11 +04:00
<listitem >
2010-07-13 01:49:20 +04:00
<para > A special target unit
2010-05-17 00:45:11 +04:00
that starts an emergency
shell on the main
console. This unit is supposed
to be used with the kernel
command line option
2011-03-29 01:39:18 +04:00
<varname > systemd.unit=</varname>
2010-05-17 00:45:11 +04:00
and has otherwise little use.
</para>
</listitem>
</varlistentry>
2010-05-17 21:37:21 +04:00
<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 login shall add
Wants dependencies for their
unit to this unit (or
<filename > multi-user.target</filename> )
during installation.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > halt.target</filename> </term>
<listitem >
<para > A special target unit
for shutting down and halting the system.</para>
<para > Applications wanting to
halt the system should start
this unit.</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>
2010-05-17 00:45:11 +04:00
<varlistentry >
<term > <filename > local-fs.target</filename> </term>
<listitem >
<para > systemd automatically
adds dependencies of type
After to all mount units that
2010-05-17 21:37:21 +04:00
refer to local mount points
for this target unit. In
addition, systemd adds
dependencies of type Wants to
this target unit for those
mounts listed in
2010-05-17 00:45:11 +04:00
<filename > /etc/fstab</filename>
that have the
2010-07-01 21:39:35 +04:00
<option > auto</option> and
<option > comment=systemd.mount</option>
2010-05-17 00:45:11 +04:00
mount options set.</para>
<para > systemd automatically
adds dependencies of type
2010-05-17 21:37:21 +04:00
After for this target unit to
all SysV init script service
units with an LSB header
referring to the
2010-05-17 00:45:11 +04:00
<literal > $local_fs</literal>
facility.</para>
</listitem>
</varlistentry>
2011-10-11 05:33:53 +04:00
<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>
2010-05-25 00:30:54 +04:00
<varlistentry >
<term > <filename > mail-transfer-agent.target</filename> </term>
<listitem >
<para > The mail transfer agent
(MTA) service. Usually this
2010-06-25 02:04:29 +04:00
should pull-in all units
2010-05-25 00:30:54 +04:00
necessary for
sending/receiving mails on the
local host.</para>
<para > 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
2011-04-23 23:55:24 +04:00
<literal > $mail-transfer-agent</literal>
2010-05-25 00:30:54 +04:00
or
<literal > $mail-transport-agent</literal>
facilities, for compatibility
with Debian.</para>
</listitem>
</varlistentry>
2010-05-17 21:37:21 +04:00
<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 Wants dependencies to
this unit for their unit during
installation.</para>
</listitem>
</varlistentry>
2010-05-17 00:45:11 +04:00
<varlistentry >
<term > <filename > network.target</filename> </term>
<listitem >
<para > systemd automatically
adds dependencies of type
2010-05-17 21:37:21 +04:00
After for this target unit to
all SysV init script service
units with an LSB header
referring to the
2010-05-17 00:45:11 +04:00
<literal > $network</literal>
facility.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > nss-lookup.target</filename> </term>
<listitem >
<para > systemd automatically
adds dependencies of type
2010-05-17 21:37:21 +04:00
After for this target unit to
all SysV init script service
units with an LSB header
referring to the
2010-05-17 00:45:11 +04:00
<literal > $named</literal>
facility.</para>
</listitem>
</varlistentry>
2010-05-17 21:37:21 +04:00
<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>
2010-05-17 00:45:11 +04:00
<varlistentry >
<term > <filename > remote-fs.target</filename> </term>
<listitem >
2010-05-17 21:37:21 +04:00
<para > Similar to
<filename > local-fs.target</filename> ,
but for remote mount
points.</para>
2010-05-17 00:45:11 +04:00
<para > systemd automatically
adds dependencies of type
2010-05-17 21:37:21 +04:00
After for this target unit to
all SysV init script service
units with an LSB header
referring to the
2010-05-24 20:58:43 +04:00
<literal > $remote_fs</literal>
2010-05-17 00:45:11 +04:00
facility.</para>
</listitem>
</varlistentry>
2011-10-11 05:33:53 +04:00
<varlistentry >
<term > <filename > remote-fs-pre.target</filename> </term>
<listitem >
<para > This target unit is
automatically ordered before
all remote mount points marked
with <option > auto</option>
(see above). It can be used to
execute certain units before
all remote mounts.</para>
</listitem>
</varlistentry>
2010-05-17 21:37:21 +04:00
<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>
2010-05-17 00:45:11 +04:00
<varlistentry >
<term > <filename > rpcbind.target</filename> </term>
<listitem >
<para > systemd automatically
adds dependencies of type
2010-05-17 21:37:21 +04:00
After for this target unit to
all SysV init script service
units with an LSB header
referring to the
2010-05-17 00:45:11 +04:00
<literal > $rpcbind</literal>
facility.</para>
</listitem>
</varlistentry>
2010-05-17 21:37:21 +04:00
<varlistentry >
<term > <filename > runlevel2.target</filename> </term>
<listitem >
<para > This is a target that is
2011-04-23 23:55:24 +04:00
called whenever the SysV
2010-05-17 21:37:21 +04:00
compatibility code asks for
runlevel 2. It is a good idea
to make this an alias for
(i.e. symlink to)
<filename > multi-user.target</filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > runlevel3.target</filename> </term>
<listitem >
<para > This is a target that is
2011-04-23 23:55:24 +04:00
called whenever the SysV
2010-05-17 21:37:21 +04:00
compatibility code asks for
runlevel 3. It is a good idea
to make this an alias for
(i.e. symlink to)
<filename > multi-user.target</filename>
or
<filename > graphical.target</filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > runlevel4.target</filename> </term>
<listitem >
<para > This is a target that is
2011-04-23 23:55:24 +04:00
called whenever the SysV
2010-05-17 21:37:21 +04:00
compatibility code asks for
runlevel 4. It is a good idea
to make this an alias for
(i.e. symlink to)
<filename > multi-user.target</filename>
or
<filename > graphical.target</filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > runlevel5.target</filename> </term>
<listitem >
<para > This is a target that is
2011-04-23 23:55:24 +04:00
called whenever the SysV
2010-05-17 21:37:21 +04:00
compatibility code asks for
runlevel 5. It is a good idea
to make this an alias for
(i.e. symlink to)
<filename > multi-user.target</filename>
or
<filename > graphical.target</filename> .</para>
</listitem>
</varlistentry>
2010-05-17 00:45:11 +04:00
<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
2010-05-17 21:37:21 +04:00
shall add Conflicts
dependencies to this unit for
2010-07-12 04:56:17 +04:00
their service unit, which is
implicitly done when
<varname > DefaultDependencies=yes</varname>
is set (the default).</para>
2010-05-17 00:45:11 +04:00
<para > systemd automatically
adds dependencies of type
Conflicts to this target unit
2010-05-17 21:37:21 +04:00
for all SysV init script
service units that shall be
terminated in SysV runlevels 0
or 6.</para>
2010-05-17 00:45:11 +04:00
</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
2010-05-17 21:37:21 +04:00
kernel or UPS daemons when
2010-05-17 00:45:11 +04:00
power fails.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > sockets.target</filename> </term>
<listitem >
<para > A special target unit
that sets up all service
sockets.</para>
<para > Services that can be
socket-activated shall add
2010-05-17 21:37:21 +04:00
Wants dependencies to this
unit for their socket unit
2010-05-17 00:45:11 +04:00
during installation.</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>
2010-06-04 20:43:40 +04:00
<varlistentry >
<term > <filename > sysinit.target</filename> </term>
<listitem >
<para > A special target unit
covering early boot-up scripts.</para>
<para > 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.</para>
</listitem>
</varlistentry>
2010-07-03 21:54:00 +04:00
<varlistentry >
<term > <filename > syslog.target</filename> </term>
<listitem >
<para > 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
<literal > $syslog</literal>
facility.</para>
2010-05-25 00:31:50 +04:00
</listitem>
</varlistentry>
2010-05-17 00:45:11 +04:00
<varlistentry >
<term > <filename > systemd-initctl.service</filename> </term>
<listitem >
<para > This provides
compatibility with the SysV
/dev/initctl file system FIFO
for communication with the
init system.</para>
<para > This is a
socket-activated service, see
<filename > system-initctl.socket</filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > systemd-initctl.socket</filename> </term>
<listitem >
<para > Socket activation unit
for
<filename > system-initctl.service</filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
2011-08-31 00:42:49 +04:00
<term > <filename > systemd-stdout-syslog-bridge.service</filename> </term>
2010-05-17 00:45:11 +04:00
<listitem >
2010-05-17 21:37:21 +04:00
<para > This is internally used
2010-05-17 00:45:11 +04:00
by systemd to provide syslog
2010-05-17 21:37:21 +04:00
logging to the processes it
maintains.</para>
2010-05-17 00:45:11 +04:00
<para > This is a
socket-activated service, see
2011-08-31 00:42:49 +04:00
<filename > system-stdout-syslog-bridge.socket</filename> .</para>
2010-05-17 00:45:11 +04:00
</listitem>
</varlistentry>
<varlistentry >
2011-08-31 00:42:49 +04:00
<term > <filename > systemd-stdout-syslog-bridge.socket</filename> </term>
2010-05-17 00:45:11 +04:00
<listitem >
<para > Socket activation unit
for
2011-08-31 00:42:49 +04:00
<filename > system-stdout-syslog-bridge.service</filename> . systemd
2010-05-17 21:37:21 +04:00
will automatically add
dependencies of types Requires
and After to all units that
have been configured for
stdout or stderr to be
connected to syslog or the
kernel log buffer.</para>
2010-05-17 00:45:11 +04:00
</listitem>
2010-08-16 17:56:42 +04:00
</varlistentry>
<varlistentry >
<term > <filename > systemd-shutdownd.service</filename> </term>
<listitem >
<para > This is internally used
by
<citerefentry > <refentrytitle > shutdown</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry>
to implement delayed shutdowns.</para>
<para > This is a
socket-activated service, see
<filename > system-shutdownd.socket</filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <filename > systemd-shutdownd.socket</filename> </term>
<listitem >
<para > Socket activation unit
for
<filename > system-shutdownd.service</filename> .</para>
</listitem>
2010-05-17 00:45:11 +04:00
</varlistentry>
2011-08-07 03:04:38 +04:00
<varlistentry >
<term > <filename > time-sync.target</filename> </term>
<listitem >
<para > 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
<literal > $time</literal>
facility.</para>
</listitem>
</varlistentry>
2010-07-12 04:56:17 +04:00
<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>
2010-05-17 00:45:11 +04:00
</variablelist>
</refsect1>
<refsect1 >
2010-11-16 00:12:41 +03:00
<title > Special User Units</title>
2010-05-17 00:45:11 +04:00
2010-11-16 00:12:41 +03:00
<para > When systemd runs as a user instance, the
2010-05-17 00:45:11 +04:00
following special units are available, which have
similar definitions as their system counterparts:
2010-05-17 21:37:21 +04:00
<filename > default.target</filename> ,
2010-05-17 00:45:11 +04:00
<filename > local-fs.target</filename> ,
<filename > remote-fs.target</filename> ,
<filename > shutdown.target</filename> ,
<filename > sockets.target</filename> ,
<filename > swap.target</filename> .</para>
2010-05-25 00:31:38 +04:00
<para > In addition the following special unit is
understood only when systemd runs as service instance:</para>
<variablelist >
<varlistentry >
<term > <filename > exit.service</filename> </term>
<listitem >
<para > A special service unit
for shutting down the
2010-11-16 00:12:41 +03:00
user service manager.</para>
2010-05-25 00:31:38 +04:00
<para > Applications wanting to
2010-11-16 00:12:41 +03:00
terminate the user service
manager should start this
unit. If systemd receives
SIGTERM or SIGINT when running
as user service daemon it will
start this unit.</para>
2010-05-25 00:31:38 +04:00
<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
2010-11-16 00:12:41 +03:00
user service manager exit.</para>
2010-05-25 00:31:38 +04:00
</listitem>
</varlistentry>
</variablelist>
2010-05-17 00:45:11 +04:00
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
2010-08-16 17:56:42 +04:00
<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> ,
2010-05-17 00:45:11 +04:00
<citerefentry > <refentrytitle > systemd.target</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry>
</para>
</refsect1>
</refentry>