<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>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>. The
syntax is inspired by <ulink
url="http://standards.freedesktop.org/desktop-entry-spec/latest/">XDG
- Desktop Entry Specificiation</ulink> <filename>.desktop</filename> files, which are in turn
+ Desktop Entry Specification</ulink> <filename>.desktop</filename> files, which are in turn
inspired by Microsoft Windows
<filename>.ini</filename> files.</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
<option>false</option> and <option>off</option> are
equivalent.</para>
+ <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 concatenation of
+ multiple value 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>
activation which makes dependencies implicit, which
both results in a simpler and more flexible
system.</para>
+
+ <para>Some unit names reflect paths existing in the
+ file system name space. Example: a device unit
+ <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>
+
+ <para>Optionally, units may be instantiated from a
+ template file at runtime. This allows creation of
+ multiple units from a single configuration file. If
+ systemd looks for a unit configuration file it will
+ first search for the literal unit name in the
+ filesystem. If that yields no success and the unit
+ name contains an @ character, systemd will look for a
+ unit template that shares the same name but with the
+ instance string (i.e. the part between the @ character
+ and the suffix) removed. Example: if a service
+ <filename>getty@tty3.service</filename> is requested
+ and no file by that name is found, systemd will look
+ for <filename>getty@.service</filename> and
+ instantiate a service from that configuration file if
+ it is found. To refer to the instance string from
+ within the configuration file you may use the special
+ <literal>%i</literal> specifier in many of the
+ configuration options. Other specifiers that may be
+ used are <literal>%n</literal>, <literal>%N</literal>,
+ <literal>%p</literal>, <literal>%P</literal> and
+ <literal>%I</literal>, for the full unit name, the
+ unescaped unit name, the prefix name, the unescaped
+ prefix name and the unescaped instance name,
+ respectively. The prefix name here refers to the
+ string before the @, i.e. "getty" in the example
+ above, where "tty3" is the instance name.</para>
</refsect1>
<refsect1>
<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>
must be fulfilled and otherwise the
transaction fails. Hence, this option
may be used to configure dependencies
- that are normally honoured unless the
+ that are normally honored unless the
user explicitly starts up the unit, in
which case whether they failed or not
is irrelevant.</para></listitem>
dependency of another unit start-up
will succeed. This is mostly a safety
feature to ensure that the user does
- not accidently activate units that are
+ not accidentally activate units that are
not intended to be activated
explicitly. This option defaults to
<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
+ complete 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>
+
</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
<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>