chiark / gitweb /
util: fix tty_is_vc_resolve() in a container where /sys/class/tty/console/active...
[elogind.git] / man / tmpfiles.d.xml
index 868b57e93517feab6b74c6d2f6ea8629a24f2269..5d4b2ac6d40ef18efa757a314bbf9169ca4beaff 100644 (file)
@@ -7,16 +7,16 @@
   Copyright 2010 Brandon Philips
 
   systemd is free software; you can redistribute it and/or modify it
   Copyright 2010 Brandon Philips
 
   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
   (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/>.
 -->
 <refentry id="tmpfiles.d">
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 <refentry id="tmpfiles.d">
 
         <refsynopsisdiv>
                 <para><filename>/etc/tmpfiles.d/*.conf</filename></para>
 
         <refsynopsisdiv>
                 <para><filename>/etc/tmpfiles.d/*.conf</filename></para>
+                <para><filename>/run/tmpfiles.d/*.conf</filename></para>
+                <para><filename>/usr/lib/tmpfiles.d/*.conf</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                <para><command>systemd-tmpfiles</command> uses the
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                <para><command>systemd-tmpfiles</command> uses the
-               configuration files in
-               <filename>/etc/tmpfiles.d/</filename> to describe the
+               configuration files from the above directories to describe the
                creation, cleaning and removal of volatile and
                temporary files and directories which usually reside
                creation, cleaning and removal of volatile and
                temporary files and directories which usually reside
-               in directories such as <filename>/var/run</filename>
-               or <filename>/tmp</filename>. Each configuration file
-               is named in the style of
-               <filename>/etc/tmpfiles.d/&lt;program&gt;.conf</filename>.</para>
+               in directories such as <filename>/run</filename>
+               or <filename>/tmp</filename>.</para>
         </refsect1>
 
         <refsect1>
                <title>Configuration Format</title>
 
         </refsect1>
 
         <refsect1>
                <title>Configuration Format</title>
 
+                <para>Each configuration file is named in the style of
+                <filename>&lt;program&gt;.conf</filename>.  Files in
+                <filename>/etc/</filename> override files with the
+                same name in <filename>/usr/lib/</filename>.  Files in
+                <filename>/run</filename> override files with the same
+                name in <filename>/etc/</filename> and
+                <filename>/usr/lib/</filename>. Packages should
+                install their configuration files in
+                <filename>/usr/lib/</filename>, files in
+                <filename>/etc/</filename> are reserved for the local
+                administrator, who may choose to override the
+                configurations installed from packages. The list of
+                configuration files are sorted by their filename in
+                alphabetical order, regardless in which of the
+                directories they reside, to guarantee that a
+                configuration file takes precedence over another
+                configuration file with an alphabetically later
+                name.</para>
+
                <para>The configuration format is one line per path
                <para>The configuration format is one line per path
-               containing action, mode, ownership and age
+               containing action, path, mode, ownership, age and argument
                fields:</para>
 
                fields:</para>
 
-                <programlisting>Type Path          Mode UID  GID  Age
-d    /var/run/user 0755 root root 10d</programlisting>
+                <programlisting>Type Path        Mode UID  GID  Age Argument
+d    /run/user   0755 root root 10d -
+L    /tmp/foobar -    -    -    -   /dev/null</programlisting>
 
                 <refsect2>
                         <title>Type</title>
                         <variablelist>
                                 <varlistentry>
                                         <term><varname>f</varname></term>
 
                 <refsect2>
                         <title>Type</title>
                         <variablelist>
                                 <varlistentry>
                                         <term><varname>f</varname></term>
-                                        <listitem><para>Create a file if it doesn't exist yet</para></listitem>
+                                        <listitem><para>Create a file if it doesn't exist yet (optionally writing a short string into it, if the argument parameter is passed)</para></listitem>
                                 </varlistentry>
 
                                 <varlistentry>
                                         <term><varname>F</varname></term>
                                 </varlistentry>
 
                                 <varlistentry>
                                         <term><varname>F</varname></term>
-                                        <listitem><para>Create or truncate a file</para></listitem>
+                                        <listitem><para>Create or truncate a file (optionally writing a short string into it, if the argument parameter is passed)</para></listitem>
+                                </varlistentry>
+
+                                <varlistentry>
+                                        <term><varname>w</varname></term>
+                                        <listitem><para>Write the argument parameter to a file, if it exists.</para></listitem>
                                 </varlistentry>
 
                                 <varlistentry>
                                 </varlistentry>
 
                                 <varlistentry>
@@ -97,6 +121,26 @@ d    /var/run/user 0755 root root 10d</programlisting>
                                         <listitem><para>Create or empty a directory</para></listitem>
                                 </varlistentry>
 
                                         <listitem><para>Create or empty a directory</para></listitem>
                                 </varlistentry>
 
+                                <varlistentry>
+                                        <term><varname>p</varname></term>
+                                        <listitem><para>Create a named pipe (FIFO) if it doesn't exist yet</para></listitem>
+                                </varlistentry>
+
+                                <varlistentry>
+                                        <term><varname>L</varname></term>
+                                        <listitem><para>Create a symlink if it doesn't exist yet</para></listitem>
+                                </varlistentry>
+
+                                <varlistentry>
+                                        <term><varname>c</varname></term>
+                                        <listitem><para>Create a character device node if it doesn't exist yet</para></listitem>
+                                </varlistentry>
+
+                                <varlistentry>
+                                        <term><varname>b</varname></term>
+                                        <listitem><para>Create a block device node if it doesn't exist yet</para></listitem>
+                                </varlistentry>
+
                                 <varlistentry>
                                         <term><varname>x</varname></term>
                                         <listitem><para>Ignore a path
                                 <varlistentry>
                                         <term><varname>x</varname></term>
                                         <listitem><para>Ignore a path
@@ -135,6 +179,32 @@ d    /var/run/user 0755 root root 10d</programlisting>
                                         place of normal path
                                         names.</para></listitem>
                                 </varlistentry>
                                         place of normal path
                                         names.</para></listitem>
                                 </varlistentry>
+
+                                <varlistentry>
+                                        <term><varname>z</varname></term>
+                                        <listitem><para>Restore
+                                        SELinux security context label
+                                        and set ownership and access
+                                        mode of a file or directory if
+                                        it exists.  Lines of this type
+                                        accept shell-style globs in
+                                        place of normal path names.
+                                        </para></listitem>
+                                </varlistentry>
+
+                                <varlistentry>
+                                        <term><varname>Z</varname></term>
+                                        <listitem><para>Recursively
+                                        restore SELinux security
+                                        context label and set
+                                        ownership and access mode of a
+                                        path and all its
+                                        subdirectories (if it is a
+                                        directory). Lines of this type
+                                        accept shell-style globs in
+                                        place of normal path
+                                        names.</para></listitem>
+                                </varlistentry>
                         </variablelist>
                 </refsect2>
 
                         </variablelist>
                 </refsect2>
 
@@ -144,8 +214,11 @@ d    /var/run/user 0755 root root 10d</programlisting>
                         <para>The file access mode to use when
                         creating this file or directory. If omitted or
                         when set to - the default is used: 0755 for
                         <para>The file access mode to use when
                         creating this file or directory. If omitted or
                         when set to - the default is used: 0755 for
-                        directories, 0644 for files. This parameter is
-                        ignored for x, r, R lines.</para>
+                        directories, 0644 for all other file
+                        objects. For z, Z lines if omitted or when set
+                        to - the file access mode will not be
+                        modified. This parameter is ignored for x, r,
+                        R, L lines.</para>
                 </refsect2>
 
                 <refsect2>
                 </refsect2>
 
                 <refsect2>
@@ -155,8 +228,9 @@ d    /var/run/user 0755 root root 10d</programlisting>
                         or directory. This may either be a numeric
                         user/group ID or a user or group name. If
                         omitted or when set to - the default 0 (root)
                         or directory. This may either be a numeric
                         user/group ID or a user or group name. If
                         omitted or when set to - the default 0 (root)
-                        is used. . These parameters are ignored for x,
-                        r, R lines.</para>
+                        is used. For z, Z lines when omitted or when set to -
+                        the file ownership will not be modified.
+                        These parameters are ignored for x, r, R, L lines.</para>
                 </refsect2>
 
                 <refsect2>
                 </refsect2>
 
                 <refsect2>
@@ -181,10 +255,25 @@ d    /var/run/user 0755 root root 10d</programlisting>
                                 <term><varname>us</varname></term></varlistentry>
                         </variablelist>
 
                                 <term><varname>us</varname></term></varlistentry>
                         </variablelist>
 
-                        <para>If multiple integers and units are specified the time values are summed up.</para>
+                        <para>If multiple integers and units are specified the time
+                        values are summed up.</para>
 
 
-                        <para>The age field only applies to lines starting with d, D and x. If omitted or set to - no automatic clean-up is done.</para>
+                        <para>The age field only applies to lines starting with
+                        d, D and x. If omitted or set to - no automatic clean-up
+                        is done.</para>
+                </refsect2>
 
 
+                <refsect2>
+                        <title>Argument</title>
+
+                        <para>For L lines determines the destination
+                        path of the symlink. For c, b determines the
+                        major/minor of the device node, with major and
+                        minor formatted as integers, separated by :,
+                        e.g. "1:3". For f, F, w may be used to specify
+                        a short string that is written to the file,
+                        suffixed by a newline. Ignored for all other
+                        lines.</para>
                 </refsect2>
 
         </refsect1>
                 </refsect2>
 
         </refsect1>
@@ -195,7 +284,7 @@ d    /var/run/user 0755 root root 10d</programlisting>
                         <title>/etc/tmpfiles.d/screen.conf example</title>
                         <para><command>screen</command> needs two directories created at boot with specific modes and ownership.</para>
 
                         <title>/etc/tmpfiles.d/screen.conf example</title>
                         <para><command>screen</command> needs two directories created at boot with specific modes and ownership.</para>
 
-                        <programlisting>d /var/run/screens 1777 root root 10d
+                        <programlisting>d /var/run/screens  1777 root root 10d
 d /var/run/uscreens 0755 root root 10d12h</programlisting>
                 </example>
         </refsect1>
 d /var/run/uscreens 0755 root root 10d12h</programlisting>
                 </example>
         </refsect1>