5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
12b42c76672a66c2d4ea7212c14f8f1b5a62b78dTom Gundersen<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips<!--
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips This file is part of systemd.
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips Copyright 2010 Brandon Philips
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips systemd is free software; you can redistribute it and/or modify it
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering under the terms of the GNU Lesser General Public License as published by
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips (at your option) any later version.
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips systemd is distributed in the hope that it will be useful, but
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips WITHOUT ANY WARRANTY; without even the implied warranty of
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering Lesser General Public License for more details.
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering You should have received a copy of the GNU Lesser General Public License
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips along with systemd; If not, see <http://www.gnu.org/licenses/>.
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips-->
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips<refentry id="tmpfiles.d">
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refentryinfo>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>tmpfiles.d</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <productname>systemd</productname>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <authorgroup>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <author>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <contrib>Documentation</contrib>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <firstname>Brandon</firstname>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <surname>Philips</surname>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <email>brandon@ifup.org</email>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </author>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </authorgroup>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refentryinfo>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refmeta>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refentrytitle>tmpfiles.d</refentrytitle>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <manvolnum>5</manvolnum>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refmeta>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refnamediv>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refname>tmpfiles.d</refname>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refpurpose>Configuration for creation, deletion and cleaning of
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek volatile and temporary files</refpurpose>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refnamediv>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsynopsisdiv>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para><filename>/etc/tmpfiles.d/*.conf</filename></para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para><filename>/run/tmpfiles.d/*.conf</filename></para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para><filename>/usr/lib/tmpfiles.d/*.conf</filename></para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsynopsisdiv>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect1>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Description</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para><command>systemd-tmpfiles</command> uses the configuration
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek files from the above directories to describe the creation,
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek cleaning and removal of volatile and temporary files and
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek directories which usually reside in directories such as
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/run</filename> or <filename>/tmp</filename>.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>Volatile and temporary files and directories are those
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek located in <filename>/run</filename> (and its alias
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/var/run</filename>), <filename>/tmp</filename>,
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/var/tmp</filename>, the API file systems such as
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/sys</filename> or <filename>/proc</filename>, as well
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek as some other directories below <filename>/var</filename>.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>System daemons frequently require private runtime
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek directories below <filename>/run</filename> to place communication
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek sockets and similar in. For these, consider declaring them in
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek their unit files using <varname>RuntimeDirectory=</varname> (see
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek for details), if this is feasible.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect1>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect1>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Configuration Format</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>Each configuration file shall be named in the style of
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename><replaceable>package</replaceable>.conf</filename> or
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename><replaceable>package</replaceable>-<replaceable>part</replaceable>.conf</filename>.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek The second variant should be used when it is desirable to make it
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek easy to override just this part of configuration.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>Files in <filename>/etc/tmpfiles.d</filename> override files
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek with the same name in <filename>/usr/lib/tmpfiles.d</filename> and
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/run/tmpfiles.d</filename>. Files in
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/run/tmpfiles.d</filename> override files with the same
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek name in <filename>/usr/lib/tmpfiles.d</filename>. Packages should
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek install their configuration files in
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/usr/lib/tmpfiles.d</filename>. Files in
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/etc/tmpfiles.d</filename> are reserved for the local
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek administrator, who may use this logic to override the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek configuration files installed by vendor packages. All
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek configuration files are sorted by their filename in lexicographic
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek order, regardless of which of the directories they reside in. If
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek multiple files specify the same path, the entry in the file with
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek the lexicographically earliest name will be applied. All other
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek conflicting entries will be logged as errors. When two lines are
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek prefix and suffix of each other, then the prefix is always
6d785b6d07767834a7a00209b5de376ea42075feLennart Poettering processed first, the suffix later. Lines that take globs are
6d785b6d07767834a7a00209b5de376ea42075feLennart Poettering applied after those accepting no globs. If multiple operations
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt shall be applied on the same file, (such as ACL, xattr, file
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt attribute adjustments), these are always done in the same fixed
6d785b6d07767834a7a00209b5de376ea42075feLennart Poettering order. Otherwise, the files/directories are processed in the order
6d785b6d07767834a7a00209b5de376ea42075feLennart Poettering they are listed.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>If the administrator wants to disable a configuration file
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek supplied by the vendor, the recommended way is to place a symlink
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek to <filename>/dev/null</filename> in
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/etc/tmpfiles.d/</filename> bearing the same filename.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>The configuration format is one line per path containing
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek type, path, mode, ownership, age, and argument fields:</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <programlisting>#Type Path Mode UID GID Age Argument
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek d /run/user 0755 root root 10d -
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek L /tmp/foobar - - - - /dev/null</programlisting>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
657cf7f4f8d376e082db48022d2be193ff647d06daurnimator <para>Fields may be enclosed within quotes and contain C-style escapes.</para>
657cf7f4f8d376e082db48022d2be193ff647d06daurnimator
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Type</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>The type consists of a single letter and optionally an
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek exclamation mark.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>The following line types are understood:</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <variablelist>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>f</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create a file if it does not exist yet. If
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek the argument parameter is given, it will be written to the
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering file. Does not follow symlinks.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>F</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create or truncate a file. If the argument
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering parameter is given, it will be written to the file. Does not follow symlinks.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>w</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Write the argument parameter to a file, if
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek the file exists. Lines of this type accept shell-style
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek globs in place of normal path names. The argument parameter
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek will be written without a trailing newline. C-style
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering backslash escapes are interpreted. Follows
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering symlinks.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>d</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create a directory if it does not exist yet.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>D</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create or empty a directory.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>v</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create a subvolume if the path does not
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering exist yet, the file system supports subvolumes (btrfs), and
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering the system itself is installed into a subvolume
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering (specifically: the root directory <filename>/</filename> is
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering itself a subvolume). Otherwise, create a normal directory, in
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering the same way as <varname>d</varname>. A subvolume created
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering with this line type is not assigned to any higher-level
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering quota group. For that, use <varname>q</varname> or
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering <varname>Q</varname>, which allow creating simple quota
2904e949f23aeb17b7e21a2a0f8c43f959a07f98Lennart Poettering group hierarchies, see below.</para></listitem>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering </varlistentry>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varlistentry>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <term><varname>q</varname></term>
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt <listitem><para>Similar to <varname>v</varname>. However,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering makes sure that the subvolume will be assigned to the same
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering higher-level quota groups as the subvolume it has been
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering created in. This ensures that higher-level limits and
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering accounting applied to the parent subvolume also include the
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering specified subvolume. On non-btrfs file systems, this line
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering type is identical to <varname>d</varname>. If the subvolume
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering already exists and is already assigned to one or more higher
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt level quota groups, no change to the quota hierarchy is
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering made. Also see <varname>Q</varname> below. See <citerefentry
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering project='die-net'><refentrytitle>btrfs-qgroup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering for details about the btrfs quota group
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering concept.</para></listitem>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering </varlistentry>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varlistentry>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <term><varname>Q</varname></term>
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt <listitem><para>Similar to <varname>q</varname>. However,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering instead of copying the higher-level quota group assignments
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering from the parent as-is, the lowest quota group of the parent
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering subvolume is determined that is not the leaf quota
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering group. Then, an "intermediary" quota group is inserted that
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering is one level below this level, and shares the same ID part
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering as the specified subvolume. If no higher-level quota group
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering exists for the parent subvolume, a new quota group at level
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering 255 sharing the same ID as the specified subvolume is
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering inserted instead. This new intermediary quota group is then
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering assigned to the parent subvolume's higher-level quota
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering groups, and the specified subvolume's leaf quota group is
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering assigned to it.</para>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <para>Effectively, this has a similar effect as
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varname>q</varname>, however introduces a new higher-level
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering quota group for the specified subvolume that may be used to
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering enforce limits and accounting to the specified subvolume and
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering children subvolume created within it. Thus, by creating
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering subvolumes only via <varname>q</varname> and
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt <varname>Q</varname>, a concept of "subtree quotas" is
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering implemented. Each subvolume for which <varname>Q</varname>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering is set will get a "subtree" quota group created, and all
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering child subvolumes created within it will be assigned to
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering it. Each subvolume for which <varname>q</varname> is set
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering will not get such a "subtree" quota group, but it is ensured
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering that they are added to the same "subtree" quota group as their
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering immediate parents.</para>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <para>It is recommended to use
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varname>Q</varname> for subvolumes that typically contain
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering further subvolumes, and where it is desirable to have
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering accounting and quota limits on all child subvolumes
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering together. Examples for <varname>Q</varname> are typically
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <filename>/home</filename> or
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <filename>/var/lib/machines</filename>. In contrast,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varname>q</varname> should be used for subvolumes that
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering either usually do not include further subvolumes or where no
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering accounting and quota limits are needed that apply to all
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering child subvolumes together. Examples for <varname>q</varname>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering are typically <filename>/var</filename> or
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <filename>/var/tmp</filename>. As with <varname>Q</varname>,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varname>q</varname> has no effect on the quota group
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering hierarchy if the subvolume exists and already has at least
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering one higher-level quota group assigned.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>p</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>p+</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create a named pipe (FIFO) if it does not
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek exist yet. If suffixed with <varname>+</varname> and a file
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek already exists where the pipe is to be created, it will be
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek removed and be replaced by the pipe.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>L</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>L+</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create a symlink if it does not exist
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek yet. If suffixed with <varname>+</varname> and a file
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek already exists where the symlink is to be created, it will
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek be removed and be replaced by the symlink. If the argument
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek is omitted, symlinks to files with the same name residing in
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek the directory <filename>/usr/share/factory/</filename> are
b908bb63c41eaf3c44004b6b737d105c39df2075Jan Synacek created. Note that permissions and ownership on symlinks
b908bb63c41eaf3c44004b6b737d105c39df2075Jan Synacek are ignored.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>c</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>c+</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create a character device node if it does
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek not exist yet. If suffixed with <varname>+</varname> and a
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek file already exists where the device node is to be created,
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek it will be removed and be replaced by the device node. It is
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek recommended to suffix this entry with an exclamation mark to
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek only create static device nodes at boot, as udev will not
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek manage static device nodes that are created at runtime.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>b</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>b+</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Create a block device node if it does not
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek exist yet. If suffixed with <varname>+</varname> and a file
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek already exists where the device node is to be created, it
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek will be removed and be replaced by the device node. It is
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek recommended to suffix this entry with an exclamation mark to
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek only create static device nodes at boot, as udev will not
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek manage static device nodes that are created at runtime.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>C</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Recursively copy a file or directory, if the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek destination files or directories do not exist yet. Note that
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek this command will not descend into subdirectories if the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek destination directory already exists. Instead, the entire
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek copy operation is skipped. If the argument is omitted, files
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek from the source directory
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <filename>/usr/share/factory/</filename> with the same name
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering are copied. Does not follow symlinks.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>x</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Ignore a path during cleaning. Use this type
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek to exclude paths from clean-up as controlled with the Age
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek parameter. Note that lines of this type do not influence the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek effect of <varname>r</varname> or <varname>R</varname>
50d9e46dbb8400d4570781728c63b151d9ca982bZbigniew Jędrzejewski-Szmek lines. Lines of this type accept shell-style globs in place
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek of normal path names. </para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>X</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Ignore a path during cleaning. Use this type
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek to exclude paths from clean-up as controlled with the Age
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek parameter. Unlike <varname>x</varname>, this parameter will
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek not exclude the content if path is a directory, but only
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek directory itself. Note that lines of this type do not
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek influence the effect of <varname>r</varname> or
50d9e46dbb8400d4570781728c63b151d9ca982bZbigniew Jędrzejewski-Szmek <varname>R</varname> lines. Lines of this type accept
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek shell-style globs in place of normal path names.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>r</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Remove a file or directory if it exists.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek This may not be used to remove non-empty directories, use
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varname>R</varname> for that. Lines of this type accept
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek shell-style globs in place of normal path
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering names. Does not follow symlinks.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>R</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Recursively remove a path and all its
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek subdirectories (if it is a directory). Lines of this type
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek accept shell-style globs in place of normal path
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering names. Does not follow symlinks.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>z</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Adjust the access mode, group and user, and
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek restore the SELinux security context of a file or directory,
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek if it exists. Lines of this type accept shell-style globs in
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering place of normal path names. Does not follow symlinks.</para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>Z</varname></term>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <listitem><para>Recursively set the access mode, group and
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek user, and restore the SELinux security context of a file or
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek directory if it exists, as well as of its subdirectories and
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek the files contained therein (if applicable). Lines of this
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering type accept shell-style globs in place of normal path
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering names. Does not follow symlinks. </para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <term><varname>t</varname></term>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek <listitem><para>Set extended attributes. Lines of this type
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek accept shell-style globs in place of normal path names.
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering This can be useful for setting SMACK labels. Does not follow
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering symlinks.</para></listitem>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek </varlistentry>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek <varlistentry>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek <term><varname>T</varname></term>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek <listitem><para>Recursively set extended attributes. Lines
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek of this type accept shell-style globs in place of normal
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering path names. This can be useful for setting SMACK
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering labels. Does not follow symlinks. </para></listitem>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </varlistentry>
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <varlistentry>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <term><varname>h</varname></term>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <listitem><para>Set file/directory attributes. Lines of this type
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli accept shell-style globs in place of normal path names.</para>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering <para>The format of the argument field is
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering <varname>[+-=][aAcCdDeijsStTu] </varname>. The prefix
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering <varname>+</varname> (the default one) causes the
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli attribute(s) to be added; <varname>-</varname> causes the
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering attribute(s) to be removed; <varname>=</varname> causes the
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt attributes to be set exactly as the following letters. The
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering letters <literal>aAcCdDeijsStTu</literal> select the new
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli attributes for the files, see
c30c611ce3d1eaa3d727a82947b880a06a19b32ckayrus <citerefentry project='man-pages'><refentrytitle>chattr</refentrytitle>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <manvolnum>1</manvolnum></citerefentry> for further information.
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli </para>
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering <para>Passing only <varname>=</varname> as argument resets
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering all the file attributes listed above. It has to be pointed
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt out that the <varname>=</varname> prefix limits itself to
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering the attributes corresponding to the letters listed here. All
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering other attributes will be left untouched. Does not follow
1ae705fb3d635eb0c19d3712b2b78c5f45e7efadLennart Poettering symlinks.</para>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli </listitem>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli </varlistentry>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <varlistentry>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <term><varname>H</varname></term>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <listitem><para>Recursively set file/directory attributes. Lines
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli of this type accept shell-style globs in place of normal
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering path names. Does not follow symlinks.
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli </para></listitem>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli </varlistentry>
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <varlistentry>
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <term><varname>a</varname></term>
50d9e46dbb8400d4570781728c63b151d9ca982bZbigniew Jędrzejewski-Szmek <term><varname>a+</varname></term>
50d9e46dbb8400d4570781728c63b151d9ca982bZbigniew Jędrzejewski-Szmek <listitem><para>Set POSIX ACLs (access control lists). If
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt suffixed with <varname>+</varname>, the specified entries will
dd4105b0a90c3c146a01e5a7734ee76c3a9aa1cdZbigniew Jędrzejewski-Szmek be added to the existing set.
dd4105b0a90c3c146a01e5a7734ee76c3a9aa1cdZbigniew Jędrzejewski-Szmek <command>systemd-tmpfiles</command> will automatically add
dd4105b0a90c3c146a01e5a7734ee76c3a9aa1cdZbigniew Jędrzejewski-Szmek the required base entries for user and group based on the
dd4105b0a90c3c146a01e5a7734ee76c3a9aa1cdZbigniew Jędrzejewski-Szmek access mode of the file, unless base entries already exist
7f3fdb7f19a109fa3d1be92926bfe4cea1817da5Jakub Wilk or are explicitly specified. The mask will be added if not
dd4105b0a90c3c146a01e5a7734ee76c3a9aa1cdZbigniew Jędrzejewski-Szmek specified explicitly or already present. Lines of this type
dd4105b0a90c3c146a01e5a7734ee76c3a9aa1cdZbigniew Jędrzejewski-Szmek accept shell-style globs in place of normal path names. This
dd4105b0a90c3c146a01e5a7734ee76c3a9aa1cdZbigniew Jędrzejewski-Szmek can be useful for allowing additional access to certain
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering files. Does not follow symlinks.</para></listitem>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek </varlistentry>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek <varlistentry>
b705ab6a838937f947216af7b2d1fffb00f8b0dcZbigniew Jędrzejewski-Szmek <term><varname>A</varname></term>
50d9e46dbb8400d4570781728c63b151d9ca982bZbigniew Jędrzejewski-Szmek <term><varname>A+</varname></term>
50d9e46dbb8400d4570781728c63b151d9ca982bZbigniew Jędrzejewski-Szmek <listitem><para>Same as <varname>a</varname> and
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering <varname>a+</varname>, but recursive. Does not follow
6a9171d2ec4f2cc1d7850fcb7b076cb75fbd3dd3Lennart Poettering symlinks.</para></listitem>
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek </varlistentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </variablelist>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>If the exclamation mark is used, this line is only safe of
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek execute during boot, and can break a running system. Lines
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek without the exclamation mark are presumed to be safe to execute
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek at any time, e.g. on package upgrades.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <command>systemd-tmpfiles</command> will execute line with an
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek exclamation mark only if option <option>--boot</option> is
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek given.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>For example:
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <programlisting># Make sure these are created by default so that nobody else can
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek d /tmp/.X11-unix 1777 root root 10d
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek # Unlink the X11 lock files
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek r! /tmp/.X[0-9]*-lock</programlisting>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek The second line in contrast to the first one would break a
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek running system, and will only be executed with
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <option>--boot</option>.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Path</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>The file system path specification supports simple
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek specifier expansion. The following expansions are
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek understood:</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <table>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Specifiers available</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <tgroup cols='3' align='left' colsep='1' rowsep='1'>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <colspec colname="spec" />
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <colspec colname="mean" />
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <colspec colname="detail" />
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <thead>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Specifier</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Meaning</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Details</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </thead>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <tbody>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry><literal>%m</literal></entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Machine ID</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>The machine ID of the running system, formatted as string. See <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry><literal>%b</literal></entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Boot ID</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>The boot ID of the running system, formatted as string. See <citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry> for more information.</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry><literal>%H</literal></entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Host name</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>The hostname of the running system.</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry><literal>%v</literal></entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Kernel release</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Identical to <command>uname -r</command> output.</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry><literal>%%</literal></entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Escaped %</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <entry>Single percent sign.</entry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </row>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </tbody>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </tgroup>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </table>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Mode</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>The file access mode to use when creating this file or
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek directory. If omitted or when set to <literal>-</literal>, the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek default is used: 0755 for directories, 0644 for all other file
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek objects. For <varname>z</varname>, <varname>Z</varname> lines,
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek if omitted or when set to <literal>-</literal>, the file access
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek mode will not be modified. This parameter is ignored for
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varname>x</varname>, <varname>r</varname>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <varname>R</varname>, <varname>L</varname>, <varname>t</varname>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek and <varname>a</varname> lines.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>Optionally, if prefixed with <literal>~</literal>, the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek access mode is masked based on the already set access bits for
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek existing file or directories: if the existing file has all
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek executable bits unset, all executable bits are removed from the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek new access mode, too. Similarly, if all read bits are removed
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek from the old access mode, they will be removed from the new
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek access mode too, and if all write bits are removed, they will be
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek removed from the new access mode too. In addition, the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek sticky/SUID/SGID bit is removed unless applied to a
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek directory. This functionality is particularly useful in
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek conjunction with <varname>Z</varname>.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>UID, GID</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>The user and group to use for this file or directory. This
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek may either be a numeric user/group ID or a user or group
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek name. If omitted or when set to <literal>-</literal>, the
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt default 0 (root) is used. For <varname>z</varname> and
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <varname>Z</varname> lines, when omitted or when set to
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <literal>-</literal>, the file ownership will not be
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek modified. These parameters are ignored for <varname>x</varname>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <varname>r</varname>, <varname>R</varname>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <varname>L</varname>, <varname>t</varname>, and
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <varname>a</varname> lines.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Age</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>The date field, when set, is used to decide what files to
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek delete when cleaning. If a file or directory is older than the
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek current time minus the age field, it is deleted. The field
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek format is a series of integers each followed by one of the
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt following suffixes for the respective time units:
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek <constant>s</constant>,
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek <constant>m</constant> or <constant>min</constant>,
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek <constant>h</constant>,
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek <constant>d</constant>,
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek <constant>w</constant>,
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt <constant>ms</constant>, and
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek <constant>us</constant>,
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt meaning seconds, minutes, hours, days, weeks,
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt milliseconds, and microseconds, respectively. Full names of the time units can
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek be used too.
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek </para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>If multiple integers and units are specified, the time
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek values are summed. If an integer is given without a unit,
00c53f4283ca41878a84b370840a84760b00d46eZbigniew Jędrzejewski-Szmek <constant>s</constant> is assumed.
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>When the age is set to zero, the files are cleaned
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek unconditionally.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <para>The age field only applies to lines starting with
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varname>d</varname>, <varname>D</varname>,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varname>v</varname>, <varname>q</varname>,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <varname>Q</varname>, <varname>C</varname>, <varname>x</varname>
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering and <varname>X</varname>. If omitted or set to
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <literal>-</literal>, no automatic clean-up is done.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>If the age field starts with a tilde character
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <literal>~</literal>, the clean-up is only applied to files and
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek directories one level inside the directory specified, but not
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek the files and directories immediately inside it.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Argument</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>For <varname>L</varname> lines determines the destination
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt path of the symlink. For <varname>c</varname> and
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt <varname>b</varname>, determines the major/minor of the device
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek node, with major and minor formatted as integers, separated by
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <literal>:</literal>, e.g. <literal>1:3</literal>. For
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varname>f</varname>, <varname>F</varname>, and
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt <varname>w</varname>, the argument may be used to specify a short string that
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek is written to the file, suffixed by a newline. For
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <varname>C</varname>, specifies the source file or
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt directory. For <varname>t</varname> and <varname>T</varname>,
0ac0b1e720d009c021730a8627f2ad3d93047a85Lennart Poettering determines extended attributes to be set. For
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt <varname>a</varname> and <varname>A</varname>, determines ACL
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt attributes to be set. For <varname>h</varname> and
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt <varname>H</varname>, determines the file attributes to
0ac0b1e720d009c021730a8627f2ad3d93047a85Lennart Poettering set. Ignored for all other lines.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect2>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect1>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect1>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>Example</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <example>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>/etc/tmpfiles.d/screen.conf example</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para><command>screen</command> needs two directories created at
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek boot with specific modes and ownership.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <programlisting>d /run/screens 1777 root root 10d
bd1100898d63e9e2d8f6327b6895454f9abd5bd0Lennart Poetteringd /run/uscreens 0755 root root 10d12h
bd1100898d63e9e2d8f6327b6895454f9abd5bd0Lennart Poetteringt /run/screen - - - - user.name="John Smith" security.SMACK64=screen</programlisting>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </example>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <example>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>/etc/tmpfiles.d/abrt.conf example</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para><command>abrt</command> needs a directory created at boot with specific mode and ownership and its content should be preserved.</para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <programlisting>d /var/tmp/abrt 0755 abrt abrt
bd1100898d63e9e2d8f6327b6895454f9abd5bd0Lennart Poetteringx /var/tmp/abrt/*</programlisting>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </example>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect1>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <refsect1>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <title>See Also</title>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-tmpfiles</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-delta</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>attr</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>getfattr</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>setfattr</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
f8eeeaf9b783ebbab30672629abf3920db286811Zbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>setfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
fa3f5fd2d3aebc468c4df216eca18a289aaa7e16Goffredo Baroncelli <citerefentry project='man-pages'><refentrytitle>getfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <citerefentry project='man-pages'><refentrytitle>chattr</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <citerefentry project='die-net'><refentrytitle>btrfs-subvolume</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
5fb13eb51bf641a3434828947e137e1a5f2d7eb2Lennart Poettering <citerefentry project='die-net'><refentrytitle>btrfs-qgroup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </para>
302fbdf29eb0ad4ca1fe8ee18755edad7db11b37Zbigniew Jędrzejewski-Szmek </refsect1>
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips
4149f86d816fc0fef41d35de5beb09bfe81e0d6aBrandon Philips</refentry>