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
+ 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
- General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refnamediv>
<refname>systemd.special</refname>
- <refpurpose>special systemd units</refpurpose>
+ <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>dbus.service</filename>,
+ <filename>dbus.socket</filename>,
<filename>default.target</filename>,
<filename>display-manager.service</filename>,
<filename>emergency.target</filename>,
- <filename>exit.service</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>kbrequest.target</filename>,
+ <filename>kexec.target</filename>,
<filename>local-fs.target</filename>,
<filename>local-fs-pre.target</filename>,
<filename>mail-transfer-agent.target</filename>,
<filename>multi-user.target</filename>,
<filename>network.target</filename>,
<filename>nss-lookup.target</filename>,
+ <filename>nss-user-lookup.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>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>syslog.target</filename>,
- <filename>systemd-initctl.service</filename>,
- <filename>systemd-initctl.socket</filename>,
- <filename>systemd-stdout-syslog-bridge.service</filename>,
- <filename>systemd-stdout-syslog-bridge.socket</filename>,
+ <filename>system-update.target</filename>,
<filename>time-sync.target</filename>,
<filename>umount.target</filename></para>
</refsynopsisdiv>
this unit.</para>
</listitem>
</varlistentry>
+ <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>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><filename>ctrl-alt-del.target</filename></term>
<listitem>
<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>
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
+ <literal>Type=dbus</literal>
+ automatically gain a
+ dependency on this
+ unit.</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><filename>default.target</filename></term>
<listitem>
<para>The display manager
service. Usually this should
be aliased (symlinked) to
- <filename>xdm.service</filename>
+ <filename>gdm.service</filename>
or a similar display manager
service.</para>
<para>systemd automatically
units with a LSB header
referring to the
<literal>$x-display-manager</literal>
- facility, for compatibility
- with Debian.</para>
+ facility.</para>
</listitem>
</varlistentry>
<varlistentry>
</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 all local TTY
+ <filename>getty</filename> instances.
+ </para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><filename>graphical.target</filename></term>
<listitem>
during installation.</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>
<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>
all SysV init script service
units with an LSB header
referring to the
- <literal>$mail-transfer-agent</literal>
- or
- <literal>$mail-transport-agent</literal>
- facilities, for compatibility
- with Debian.</para>
+ <literal>$mail-transfer-agent</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term><filename>nss-lookup.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
+ <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. 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>$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. </para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><filename>poweroff.target</filename></term>
<listitem>
unit, for compatibility with SysV.</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>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><filename>reboot.target</filename></term>
<listitem>
all SysV init script service
units with an LSB header
referring to the
- <literal>$rpcbind</literal>
+ <literal>$portmap</literal>
facility.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>runlevel2.target</filename></term>
- <listitem>
- <para>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)
- <filename>multi-user.target</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><filename>runlevel3.target</filename></term>
- <listitem>
- <para>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)
- <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
- 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)
- <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
- called whenever the SysV
+ <para>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)
<filename>multi-user.target</filename>
- or
- <filename>graphical.target</filename>.</para>
+ (for runlevel 2) or
+ <filename>graphical.target</filename>
+ (the others).</para>
</listitem>
</varlistentry>
<varlistentry>
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>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>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><filename>sockets.target</filename></term>
<listitem>
during installation.</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>
+ </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>
or b.</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>syslog.target</filename></term>
<listitem>
</listitem>
</varlistentry>
<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>
- <term><filename>systemd-stdout-syslog-bridge.service</filename></term>
+ <term><filename>system-update.target</filename></term>
<listitem>
- <para>This is internally used
- by systemd to provide syslog
- logging to the processes it
- maintains.</para>
- <para>This is a
- socket-activated service, see
- <filename>system-stdout-syslog-bridge.socket</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>systemd-stdout-syslog-bridge.socket</filename></term>
- <listitem>
- <para>Socket activation unit
- for
- <filename>system-stdout-syslog-bridge.service</filename>. systemd
- 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>
- </listitem>
- </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>
+ <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>
is set (the default).</para>
</listitem>
</varlistentry>
+
</variablelist>
</refsect1>
following special units are available, which have
similar definitions as their system counterparts:
<filename>default.target</filename>,
- <filename>local-fs.target</filename>,
- <filename>remote-fs.target</filename>,
<filename>shutdown.target</filename>,
- <filename>sockets.target</filename>,
- <filename>swap.target</filename>.</para>
+ <filename>sockets.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.service</filename></term>
+ <term><filename>exit.target</filename></term>
<listitem>
<para>A special service unit
for shutting down the
<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.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>