<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>
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
<para>Time span values encoded in unit files can be
written in various formats. A stand-alone number
specifies a time in seconds. If suffixed with a time
- unit, the unit is honored. A concatentation of
- multiple value with units is supported, in which case
+ unit, the unit is honored. A concatenation of
+ 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. 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>