/
niceSOFT
/
systemd
Обзор
Документация
Войти
/
niceSOFT
/
systemd
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
man/systemd.target.xml
147 строк
7 KB
Yu Watanabe
units: drop runlevel[0-6].target
12 июл 2025, 23:49
12 июл 2025, 23:49
e58ba80
Код
Авторство
О чём код?
<?xml version='1.0'?> <!--*-nxml-*--> <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!-- SPDX-License-Identifier: LGPL-2.1-or-later --> <refentry id="systemd.target"> <refentryinfo> <title>systemd.target</title> <productname>systemd</productname> </refentryinfo> <refmeta> <refentrytitle>systemd.target</refentrytitle> <manvolnum>5</manvolnum> </refmeta> <refnamediv> <refname>systemd.target</refname> <refpurpose>Target unit configuration</refpurpose> </refnamediv> <refsynopsisdiv> <para><filename><replaceable>target</replaceable>.target</filename></para> </refsynopsisdiv> <refsect1> <title>Description</title> <para>A unit configuration file whose name ends in <literal>.target</literal> encodes information about a target unit of systemd. Target units are used to group units and to set synchronization points for ordering dependencies with other unit files.</para> <para>This unit type has no specific options. See <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> for the common options of all unit configuration files. The common configuration items are configured in the generic [Unit] and [Install] sections. A separate [Target] section does not exist, since no target-specific options may be configured.</para> <para>Target units do not offer any additional functionality on top of the generic functionality provided by units. They merely group units, allowing a single target name to be used in <varname>Wants=</varname> and <varname>Requires=</varname> settings to establish a dependency on a set of units defined by the target, and in <varname>Before=</varname> and <varname>After=</varname> settings to establish ordering. Targets establish standardized names for synchronization points during boot and shutdown. Importantly, see <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> for examples and descriptions of standard systemd targets.</para> <para>Target units provide a more flexible replacement for SysV runlevels in the classic SysV init system.</para> <para>Note that a target unit file must not be empty, lest it be considered a masked unit. It is recommended to provide a [Unit] section which includes informative <varname>Description=</varname> and <varname>Documentation=</varname> options.</para> </refsect1> <refsect1> <title>Automatic Dependencies</title> <refsect2> <title>Implicit Dependencies</title> <para>There are no implicit dependencies for target units.</para> </refsect2> <refsect2> <title>Default Dependencies</title> <para>The following dependencies are added unless <varname>DefaultDependencies=no</varname> is set:</para> <itemizedlist> <listitem><para>Target units will automatically complement all configured dependencies of type <varname>Wants=</varname> or <varname>Requires=</varname> with dependencies of type <varname>After=</varname> unless <varname>DefaultDependencies=no</varname> is set in the specified units.</para> <para>Note that the reverse is not true. For example, defining <option>Wants=that.target</option> in <filename index='false'>some.service</filename> will not automatically add the <option>After=that.target</option> ordering dependency for <filename>some.service</filename>. Instead, <filename>some.service</filename> should use the primary synchronization function of target type units, by setting a specific <option>After=that.target</option> or <option>Before=that.target</option> ordering dependency in its .service unit file. </para></listitem> <listitem><para>Target units automatically gain <varname>Conflicts=</varname> and <varname>Before=</varname> dependencies against <filename>shutdown.target</filename>.</para></listitem> </itemizedlist> </refsect2> </refsect1> <refsect1> <title>Options</title> <para>Target unit files may include [Unit] and [Install] sections, which are described in <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. No options specific to this file type are supported.</para> </refsect1> <refsect1> <title>Example</title> <example> <title>Simple standalone target</title> <programlisting># emergency-net.target [Unit] Description=Emergency Mode with Networking Requires=emergency.target systemd-networkd.service After=emergency.target systemd-networkd.service AllowIsolate=yes</programlisting> <para>When adding dependencies to other units, it is important to check if they set <varname>DefaultDependencies=</varname>. Service units, unless they set <varname>DefaultDependencies=no</varname>, automatically get a dependency on <filename>sysinit.target</filename>. In this case, both <filename>emergency.target</filename> and <filename>systemd-networkd.service</filename> have <varname>DefaultDependencies=no</varname>, so they are suitable for use in this target, and do not pull in <filename>sysinit.target</filename>.</para> <para>You can now switch into this emergency mode by running <varname>systemctl isolate emergency-net.target</varname> or by passing the option <varname>systemd.unit=emergency-net.target</varname> on the kernel command line.</para> <para>Other units can have <varname>WantedBy=emergency-net.target</varname> in the <varname>[Install]</varname> section. After they are enabled using <command>systemctl enable</command>, they will be started before <varname>emergency-net.target</varname> is started. It is also possible to add arbitrary units as dependencies of <filename>emergency.target</filename> without modifying them by using <command>systemctl add-wants</command>. </para> </example> </refsect1> <refsect1> <title>See Also</title> <para><simplelist type="inline"> <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member> <member><citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry></member> <member><citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry></member> <member><citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry></member> <member><citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry></member> </simplelist></para> </refsect1> </refentry>