chiark / gitweb /
unit: introduce IgnoreDependencyFailure=
[elogind.git] / man / systemd.unit.xml
index a52e3e9ef332d3c372f0aa0d3a714fae87f2ee39..a03df65dcb50b24432a3e4606ebec0b3f26fbf00 100644 (file)
@@ -56,7 +56,8 @@
                 <filename>systemd.swap</filename>,
                 <filename>systemd.target</filename>,
                 <filename>systemd.path</filename>,
-                <filename>systemd.timer</filename></para>
+                <filename>systemd.timer</filename>,
+                <filename>systemd.snapshot</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <filename>.ini</filename> files.</para>
 
                 <para>This man pages lists the common configuration
-                options of the all unit types. These options need to
+                options of all the unit types. These options need to
                 be configured in the [Unit] resp. [Install]
                 section of the unit files.</para>
 
                 <para>In addition to the generic [Unit] and [Install]
-                sections described here each unit should have a
+                sections described here, each unit should have a
                 type-specific section, e.g. [Service] for a service
                 unit. See the respective man pages for more
                 information.</para>
@@ -94,7 +95,7 @@
                 additional information in the unit files.</para>
 
                 <para>Boolean arguments used in unit files can be
-                written in various forms. For positive settings the
+                written in various formats. For positive settings the
                 strings <option>1</option>, <option>yes</option>,
                 <option>true</option> and <option>on</option> are
                 equivalent. For negative settings the strings
                 written in various formats. A stand-alone number
                 specifies a time in seconds. If suffixed with a time
                 unit, the unit is honored. A concatenation of
-                multiple value with units is supported, in which case
+                multiple values with units is supported, in which case
                 the values are added up. Example: "50" refers to 50
                 seconds; "2min 200ms" refers to 2 minutes plus 200
                 milliseconds, i.e. 120200ms. The following time units
                 are understood: s, min, h, d, w, ms, us.</para>
 
                 <para>Empty lines and lines starting with # or ; are
-                ignored. This may be used for commenting.</para>
+                ignored. This may be used for commenting. Lines ending
+                in a backslash are concatenated with the following
+                line while reading and the backslash is replaced by a
+                space character. This may be used to wrap long lines.</para>
 
                 <para>If a line starts with <option>.include</option>
-                followed by a file name the specified file will be
-                read as if its contents where listed in place of the
+                followed by a file name, the specified file will be
+                read as if its contents were listed in place of the
                 <option>.include</option> directive.</para>
 
                 <para>Along with a unit file
                 <filename>dev-sda.device</filename> refers to a device
                 with the device node <filename>/dev/sda</filename> in
                 the file system namespace. If this applies a special
-                way to escape the path name is used, so that it is
-                usable as part of a file name. Basically, given a
-                path, "/" is replaced by "-", and all unprintable
-                characters and the "-" are replaced by C-style "\x20"
-                escapes. The root directory "/" is encoded as single
-                dash, while otherwise the initial and ending "/" is
-                removed from all paths during transformation. This
-                escaping is reversible.</para>
+                way to escape the path name is used, so that the
+                result is usable as part of a file name. Basically,
+                given a path, "/" is replaced by "-", and all
+                unprintable characters and the "-" are replaced by
+                C-style "\x20" escapes. The root directory "/" is
+                encoded as single dash, while otherwise the initial
+                and ending "/" is removed from all paths during
+                transformation. This escaping is reversible.</para>
 
                 <para>Optionally, units may be instantiated from a
                 template file at runtime. This allows creation of
                         <varlistentry>
                                 <term><varname>Description=</varname></term>
                                 <listitem><para>A free-form string
-                                describing the unit. This is intended for use
-                                in UIs wanting to show
-                                descriptive information along with the
-                                unit name.</para></listitem>
+                                describing the unit. This is intended
+                                for use in UIs to show descriptive
+                                information along with the unit
+                                name.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
 
                                 <listitem><para>Configures requirement
                                 dependencies on other units. If this
-                                units get activated the units listed
+                                unit gets activated, the units listed
                                 here will be activated as well. If one
                                 of the other units gets deactivated or
                                 its activation fails, this unit will
                                 Dependencies listed in
                                 <varname>RequiresOverridable=</varname>
                                 which cannot be fulfilled or fail to
-                                start are ignored iff the startup was
+                                start are ignored if the startup was
                                 explicitly requested by the user. If
                                 the start-up was pulled in indirectly
                                 by some dependency or automatic
                                 <varname>Requires=</varname>. A unit
                                 listed in this option will be started
                                 if the configuring unit is. However,
-                                it the listed unit fails to start up
+                                if the listed unit fails to start up
                                 or cannot be added to the transaction
                                 this has no impact on the validity of
                                 the transaction as a whole. This is
 
                                 <listitem><para>Configures negative
                                 requirement dependencies. If a unit
-                                that has a
+                                has a
                                 <varname>Conflicts=</varname> setting
-                                on another unit starting the former
+                                on another unit, starting the former
                                 will stop the latter and vice
                                 versa. Note that this setting is
                                 independent of and orthogonal to the
                                 <filename>foo.service</filename>
                                 contains a setting
                                 <option>Before=bar.service</option>
-                                and both units are being started
+                                and both units are being started,
                                 <filename>bar.service</filename>'s
                                 start-up is delayed until
                                 <filename>foo.service</filename> is
                                 listed unit is started. Note that when
                                 two units with an ordering dependency
                                 between them are shut down, the
-                                inverse of of the start-up order is
+                                inverse of the start-up order is
                                 applied. i.e. if a unit is configured
                                 with <varname>After=</varname> on
                                 another unit, the former is stopped
 
                                 <listitem><para>Takes a boolean
                                 argument. If <option>true</option> and
-                                the unit stops without this being
-                                requested by the user all units
+                                the unit stops without being requested
+                                by the user, all units
                                 depending on it will be stopped as
                                 well. (e.g. if a service exits or
                                 crashes on its own behalf, units using
                                 it will be stopped) Note that normally
-                                if a unit stops without user request
+                                if a unit stops without a user request,
                                 units depending on it will not be
                                 terminated. Only if the user requested
-                                shutdown of a unit all units depending
-                                on the unit will be shut down as well
+                                shutdown of a unit, all units depending
+                                on that unit will be shut down as well
                                 and at the same time. Defaults to
                                 <option>false</option>.</para></listitem>
                         </varlistentry>
                                 argument. If <option>true</option>
                                 this unit will be stopped when it is
                                 no longer used. Note that in order to
-                                minimize the work to be executed
-                                systemd will by default not stop units
+                                minimize the work to be executed,
+                                systemd will not stop units by default
                                 unless they are conflicting with other
                                 units, or the user explicitly
                                 requested their shut down. If this
-                                option is set a unit will be
+                                option is set, a unit will be
                                 automatically cleaned up if no other
                                 active unit requires it. Defaults to
                                 <option>false</option>.</para></listitem>
 
                                 <listitem><para>Takes a boolean
                                 argument. If <option>true</option>
-                                this unit may only be activated
+                                this unit can only be activated
                                 indirectly. In this case explicit
                                 start-up requested by the user is
-                                denied, however if it is started as
-                                dependency of another unit start-up
+                                denied, however if it is started as a
+                                dependency of another unit, start-up
                                 will succeed. This is mostly a safety
                                 feature to ensure that the user does
                                 not accidentally activate units that are
                                 <option>false</option>.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>DefaultDependencies=</varname></term>
+
+                                <listitem><para>Takes a boolean
+                                argument. If <option>true</option>
+                                (the default), a few default
+                                dependencies will implicitly be
+                                created for the unit. The actual
+                                dependencies created depend on the
+                                unit type. For example, for service
+                                units, these dependencies ensure that
+                                the service is started only after
+                                basic system initialization is
+                                completed and is properly terminated on
+                                system shutdown. See the respective
+                                man pages for details. Generally, only
+                                services involved with early boot or
+                                late shutdown should set this option
+                                to <option>false</option>. It is
+                                highly recommended to leave this
+                                option enabled for the majority of
+                                common units. If set to
+                                <option>false</option> this option
+                                does not disable all implicit
+                                dependencies, just non-essential
+                                ones.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>IgnoreDependencyFailure=</varname></term>
+
+                                <listitem><para>Takes a boolean
+                                argument. If <option>true</option> and
+                                a requirement dependency of this unit
+                                fails to start up this unit will be
+                                started nonetheless, ignoring that
+                                failure. If <option>false</option>
+                                (the default) and a dependency unit
+                                fails the unit will immediately fail
+                                too and the job is removed.</para></listitem>
+                        </varlistentry>
                 </variablelist>
 
                 <para>Unit file may include a [Install] section, which
                         <varlistentry>
                                 <term><varname>Alias=</varname></term>
 
-                                <listitem><para>Additional names, this
+                                <listitem><para>Additional names this
                                 unit shall be installed under. The
                                 names listed here must have the same
                                 suffix (i.e. type) as the unit file
                                 effect that when the listed unit name
                                 is activated the unit listing it is
                                 activated
-                                to. <command>WantedBy=foo.service</command>
+                                too. <command>WantedBy=foo.service</command>
                                 in a service
                                 <filename>bar.service</filename> is
                                 mostly equivalent to
                                 install when this unit is
                                 installed. If the user requests
                                 installation of a unit with this
-                                option configured
+                                option configured,
                                 <command>systemd-install</command>
                                 will automatically install units
                                 listed in this option as
                         <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                 </para>
         </refsect1>