<filename>default.target</filename>,
<filename>display-manager.service</filename>,
<filename>emergency.target</filename>,
- <filename>exit.service</filename>,
- <filename>final.service</filename>,
+ <filename>exit.target</filename>,
+ <filename>final.target</filename>,
<filename>getty.target</filename>,
<filename>graphical.target</filename>,
- <filename>hibernate.target</filename>,
- <filename>http-daemon.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>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>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>suspend.target</filename>,
<filename>swap.target</filename>,
<filename>sysinit.target</filename>,
- <filename>syslog.service</filename>,
<filename>syslog.socket</filename>,
- <filename>syslog.target</filename>,
+ <filename>system-update.target</filename>,
<filename>time-sync.target</filename>,
+ <filename>timers.target</filename>,
<filename>umount.target</filename></para>
</refsynopsisdiv>
<term><filename>basic.target</filename></term>
<listitem>
<para>A special target unit
- covering early boot-up.</para>
+ covering basic 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>
- <para>Usually this should pull-in
- all sockets, mount points,
- swap devices and other basic
+ <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
- the general purpose
- daemons. Most normal daemons
- should have dependencies of
- type After and Requires on
- this unit.</para>
+ general purpose
+ daemons.</para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>This target is started
automatically as soon as a
- bluetooth controller is
+ 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>dbus.service</filename></term>
<listitem>
<para>A 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
<para>A special unit for the
D-Bus system bus socket. All
units with
- <literal>Type=dbus</literal>
+ <varname>Type=dbus</varname>
automatically gain a
dependency on this
unit.</para>
<filename>multi-user.target</filename>
or
<filename>graphical.target</filename>.</para>
+
<para>The default unit systemd
starts at bootup can be
overridden with the
<filename>gdm.service</filename>
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
- units with a LSB header
- referring to the
- <literal>$x-display-manager</literal>
- facility, for compatibility
- with Debian.</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.
+ that pulls in statically
+ configured local TTY
+ <filename>getty</filename>
+ instances.
</para>
</listitem>
</varlistentry>
<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
+ for graphical logins shall add
+ <varname>Wants=</varname>
+ dependencies for their unit to
+ this unit (or
<filename>multi-user.target</filename>)
- during installation.</para>
+ during installation. This is
+ best configured via
+ <varname>WantedBy=graphical.target</varname>
+ in the unit's
+ <literal>[Install]</literal>
+ section.</para>
</listitem>
</varlistentry>
<varlistentry>
</listitem>
</varlistentry>
<varlistentry>
- <term><filename>http-daemon.target</filename></term>
+ <term><filename>hybrid-sleep.target</filename></term>
<listitem>
- <para>A target for pulling in
- an HTTP server if there is
- any.</para>
- <para>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
- <literal>$httpd</literal>
- facility.</para>
+ <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.</para>
+ 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 fround 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>
<varlistentry>
<term><filename>local-fs.target</filename></term>
<listitem>
- <para>systemd automatically
+ <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
- After to all mount units that
- refer to local mount points
- for this target unit. In
- addition, systemd adds
- dependencies of type Wants to
+ <varname>Wants=</varname> to
this target unit for those
mounts listed in
<filename>/etc/fstab</filename>
that have the
- <option>auto</option> and
- <option>comment=systemd.mount</option>
- mount options set.</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
- <literal>$local_fs</literal>
- facility.</para>
+ <option>auto</option> mount
+ option set.</para>
</listitem>
</varlistentry>
<varlistentry>
all local mounts.</para>
</listitem>
</varlistentry>
- <varlistentry>
- <term><filename>mail-transfer-agent.target</filename></term>
- <listitem>
- <para>The mail transfer agent
- (MTA) service. Usually this
- should pull-in all units
- 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
- <literal>$mail-transfer-agent</literal>
- or
- <literal>$mail-transport-agent</literal>
- facilities, for compatibility
- with Debian.</para>
- </listitem>
- </varlistentry>
<varlistentry>
<term><filename>multi-user.target</filename></term>
<listitem>
<para>Units that are needed
for a multi-user system shall
- add Wants dependencies to
- this unit for their unit during
- installation.</para>
+ add <varname>Wants=</varname>
+ dependencies for their unit to
+ this unit during
+ installation. This is best
+ configured via
+ <varname>WantedBy=multi-uer.target</varname>
+ in the unit's
+ <literal>[Install]</literal>
+ section.</para>
</listitem>
</varlistentry>
<varlistentry>
<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
+ <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>
+
+ <para>This unit is supposed to
+ indicate when the network is
+ "up", but it is only very
+ loosely defined what that is
+ supposed to mean. Also see <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
+ Services After the Network is
+ up</ulink> for more
+ information.</para>
</listitem>
</varlistentry>
<varlistentry>
<filename>nss-user-lookup.target</filename>
should be used. systemd
automatically adds
- dependencies of type After for
+ dependencies of type
+ <varname>After=</varname> for
this target unit to all SysV
init script service units with
an LSB header referring to the
should be used. </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>
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>
<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
+ <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>
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>rpcbind.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>$rpcbind</literal>
+ <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>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>
<para>Services that shall be
terminated on system shutdown
- shall add Conflicts
+ 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>
-
- <para>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.</para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>A special target unit
that is pulled in by
- <filename>suspend.target</filename>
- and
+ <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>
smartcard controller is
plugged in or becomes
available at boot.</para>
+
+ <para>This may be used to pull
+ in printer management
+ daemons dynamically when
+ smartcard hardware is
+ found.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>sockets.target</filename></term>
<listitem>
<para>A special target unit
- that sets up all service
- sockets.</para>
+ 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
- Wants dependencies to this
- unit for their socket unit
- during installation.</para>
+ <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>
sound card is plugged in or
becomes available at
boot.</para>
+
+ <para>This may be used to pull
+ in audio management daemons
+ dynamically when printer
+ hardware is found.</para>
</listitem>
</varlistentry>
<varlistentry>
<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>
- <varlistentry>
- <term><filename>syslog.service</filename></term>
- <listitem>
- <para>The syslog service if
- any. Implementations should
- create a symlink from the
- actual syslog implementation
- to this generic name for
- activating it.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>syslog.socket</filename></term>
<listitem>
- <para>The socket unit where
+ <para>The socket unit
syslog implementations should
listen on. All userspace log
messages will be made
- available on this
- socket.</para>
+ 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>
+ <term><filename>system-update.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>
+ <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>
<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
+ <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>
+ <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>
is set (the default).</para>
</listitem>
</varlistentry>
+
</variablelist>
</refsect1>
<variablelist>
<varlistentry>
- <term><filename>exit.service</filename></term>
+ <term><filename>exit.target</filename></term>
<listitem>
<para>A special service unit
for shutting down the
<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>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>