Copyright 2010 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refnamediv>
<refname>systemd.mount</refname>
- <refpurpose>systemd mount configuration files</refpurpose>
+ <refpurpose>Mount unit configuration</refpurpose>
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.mount</filename></para>
+ <para><filename><replaceable>mount</replaceable>.mount</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>A unit configuration file whose name ends in
- <filename>.mount</filename> encodes information about
+ <literal>.mount</literal> encodes information about
a file system mount point controlled and supervised by
systemd.</para>
in the [Mount] section.</para>
<para>Additional options are listed in
- <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ which define the execution environment the
+ <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ binary is executed in, and in
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ which define the way the processes are terminated, and
+ in
+ <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ which configure resource control settings for the
+ processes of the service. Note that the User= and
+ Group= options are not particularly useful for mount
+ units specifying a <literal>Type=</literal> option or
+ using configuration not specified in
+ <filename>/etc/fstab</filename>;
+ <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ will refuse options that are not listed in
+ <filename>/etc/fstab</filename> if it is not run as
+ UID 0.</para>
<para>Mount units must be named after the mount point
directories they control. Example: the mount point
- <filename>/home/lennart</filename> must be configured
+ <filename noindex='true'>/home/lennart</filename> must be configured
in a unit file
<filename>home-lennart.mount</filename>. For details
about the escaping logic used to convert a file system
- path to a unit name see
+ path to a unit name, see
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
<para>Optionally, a mount unit may be accompanied by
mounting. See
<citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
- <para>If an mount point is beneath another mount point
- in the file system hierarchy a dependency between both
+ <para>If a mount point is beneath another mount point
+ in the file system hierarchy, a dependency between both
units is created automatically.</para>
+
+ <para>Mount points created at runtime (independently of
+ unit files or <filename>/etc/fstab</filename>) will be
+ monitored by systemd and appear like any other mount
+ unit in systemd.
+ See <filename>/proc/self/mountinfo</filename> description
+ in <citerefentry><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para>
+
+ <para>Some file systems have special semantics as API
+ file systems for kernel-to-userspace and
+ userspace-to-userpace interfaces. Some of them may not
+ be changed via mount units, and cannot be disabled.
+ For a longer discussion see <ulink
+ url="http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems">API
+ File Systems</ulink>.</para>
</refsect1>
<refsect1>
- <title><filename>fstab</filename></title>
+ <title><filename>/etc/fstab</filename></title>
<para>Mount units may either be configured via unit
files, or via <filename>/etc/fstab</filename> (see
<citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for details).</para>
+ for details). Mounts listed in
+ <filename>/etc/fstab</filename> will be converted into
+ native units dynamically at boot and when the
+ configuration of the system manager is reloaded. In
+ general, configuring mount points through
+ <filename>/etc/fstab</filename> is the preferred
+ approach. See
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for details about the conversion.</para>
<para>When reading <filename>/etc/fstab</filename> a
few special mount options are understood by systemd
which influence how dependencies are created for mount
- points from <filename>/etc/fstab</filename>. If
- <option>comment=systemd.mount</option> is specified as
- mount option then systemd will create a dependency of
- type <option>Wants</option> from either
+ points from <filename>/etc/fstab</filename>. systemd
+ will create a dependency of type
+ <option>Wants</option> from either
<filename>local-fs.target</filename> or
<filename>remote-fs.target</filename>, depending
whether the file system is local or remote. If
- <option>comment=systemd.automount</option> is set, an
- automount unit will be created for the file system. See
+ <option>x-systemd.automount</option> is set, an
+ automount unit will be created for the file
+ system. See
<citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for details.</para>
+ for details. If
+ <option>x-systemd.device-timeout=</option> is
+ specified, it may be used to configure how long systemd
+ should wait for a device to show up before giving up
+ on an entry from
+ <filename>/etc/fstab</filename>. Specify a time in
+ seconds or explicitly specify a unit as
+ <literal>s</literal>, <literal>min</literal>,
+ <literal>h</literal>, <literal>ms</literal>.</para>
+
+ <para>If <option>nofail</option> is given, this mount
+ will be only wanted, not required, by the
+ <filename>local-fs.target</filename>. This means that
+ the boot will continue even if this mount point is not
+ mounted successfully. Option <option>fail</option> has
+ the opposite meaning and is the default.</para>
+
+ <para>If <option>noauto</option> is given, this mount
+ will not be added as a dependency for
+ <filename>local-fs.target</filename>. This means that
+ it will not be mounted automatically during boot,
+ unless it is pulled in by some other unit. Option
+ <option>auto</option> has the opposite meaning and is
+ the default.</para>
<para>If a mount point is configured in both
- <filename>/etc/fstab</filename> and a unit file the
- configuration in the latter takes precedence.</para>
+ <filename>/etc/fstab</filename> and a unit file that
+ is stored below <filename>/usr</filename>, the former
+ will take precedence. If the unit file is stored below
+ <filename>/etc</filename>, it will take
+ precedence. This means: native unit files take
+ precedence over traditional configuration files, but
+ this is superseded by the rule that configuration in
+ <filename>/etc</filename> will always take precedence
+ over configuration in
+ <filename>/usr</filename>.</para>
</refsect1>
<refsect1>
supervises. A number of options that may be used in
this section are shared with other unit types. These
options are documented in
- <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ and
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The
options specific to the [Mount] section of mount
units are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>What=</varname></term>
resource to mount. See
<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
for details. If this refers to a
- device node a dependency on the
+ device node, a dependency on the
respective device unit is
automatically created. (See
<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.)
<term><varname>Where=</varname></term>
<listitem><para>Takes an absolute path
of a directory of the mount point. If
- the mount point is not existing at
- time of mounting it is created. This
+ the mount point does not exist at the
+ time of mounting, it is created. This
string must be reflected in the unit
- file name. (See above.) This option is
+ filename. (See above.) This option is
mandatory.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>Type=</varname></term>
<listitem><para>Takes a string for the
- filesystem type. See
+ file system type. See
<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
for details. This setting is
optional.</para></listitem>
<term><varname>Options=</varname></term>
<listitem><para>Mount options to use
- when mounting. This takes a comma
- seperated list of options. This
+ when mounting. This takes a
+ comma-separated list of options. This
setting is optional.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>SloppyOptions=</varname></term>
+
+ <listitem><para>Takes a boolean
+ argument. If true parsing of the
+ options specified in
+ <varname>Options=</varname> is
+ relaxed, and unknown mount options are
+ tolerated. This corresponds with
+ <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
+ <parameter>-s</parameter>
+ switch. Defaults to
+ off.</para></listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>DirectoryMode=</varname></term>
<listitem><para>Directories of mount
are automatically created if
needed. This option specifies the file
system access mode used when creating
- these directories. Defaults to
+ these directories. Takes an access
+ mode in octal notation. Defaults to
0755.</para></listitem>
</varlistentry>
<term><varname>TimeoutSec=</varname></term>
<listitem><para>Configures the time to
wait for the mount command to
- finish. If a comand does not exit
- within the configured time the mount
+ finish. If a command does not exit
+ within the configured time, the mount
will be considered failed and be shut
down again. All commands still running
will be terminated forcibly via
- SIGTERM, and after another delay of
- this time with SIGKILL. (See
- <option>KillMode=</option> below.)
+ <constant>SIGTERM</constant>, and after another delay of
+ this time with <constant>SIGKILL</constant>. (See
+ <option>KillMode=</option> in
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>.)
Takes a unit-less value in seconds, or
a time span value such as "5min
20s". Pass 0 to disable the timeout
- logic. Defaults to
- 60s.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>KillMode=</varname></term>
- <listitem><para>Specifies how
- processes of this mount shall be
- killed. One of
- <option>control-group</option>,
- <option>process-group</option>,
- <option>process</option>,
- <option>none</option>.</para>
-
- <para>This option is mostly equivalent
- to the <option>KillMode=</option>
- option of service files. See
- <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for details.</para></listitem>
+ logic. The default value is set from the manager configuration
+ file's <varname>DefaultTimeoutStart=</varname> variable.</para></listitem>
</varlistentry>
</variablelist>
+
+ <para>Check
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ and
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for more settings.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>