2010-11-04 23:31:07 +03:00
<?xml version="1.0"?>
<!-- * - nxml - * -->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
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
(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.
You should have received a copy of the GNU General Public License
along with systemd; If not, see <http: / / w w w . g n u . o r g / l i c e n s e s /> .
-->
<refentry id= "tmpfiles.d" >
<refentryinfo >
<title > tmpfiles.d</title>
<productname > systemd</productname>
<authorgroup >
<author >
<contrib > Documentation</contrib>
<firstname > Brandon</firstname>
<surname > Philips</surname>
<email > brandon@ifup.org</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta >
<refentrytitle > tmpfiles.d</refentrytitle>
<manvolnum > 5</manvolnum>
</refmeta>
<refnamediv >
<refname > tmpfiles.d</refname>
2011-02-13 17:08:15 +03:00
<refpurpose > Configuration for creation, deletion and
cleaning of volatile and temporary files</refpurpose>
2010-11-04 23:31:07 +03:00
</refnamediv>
2010-11-21 22:41:00 +03:00
<refsynopsisdiv >
<para > <filename > /etc/tmpfiles.d/*.conf</filename> </para>
</refsynopsisdiv>
2010-11-04 23:31:07 +03:00
<refsect1 >
<title > Description</title>
2011-02-13 17:08:15 +03:00
<para > <command > systemd-tmpfiles</command> uses the
configuration files in
2010-11-11 01:01:20 +03:00
<filename > /etc/tmpfiles.d/</filename> to describe the
2011-02-13 17:08:15 +03:00
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
2010-11-21 22:41:00 +03:00
<filename > /etc/tmpfiles.d/< program> .conf</filename> .</para>
2010-11-04 23:31:07 +03:00
</refsect1>
<refsect1 >
<title > Configuration Format</title>
2010-11-11 01:01:20 +03:00
<para > The configuration format is one line per path
containing action, mode, ownership and age
fields:</para>
2010-11-19 18:14:52 +03:00
<programlisting > Type Path Mode UID GID Age
2010-11-11 01:01:20 +03:00
d /var/run/user 0755 root root 10d</programlisting>
<refsect2 >
2010-11-19 18:14:52 +03:00
<title > Type</title>
2010-11-11 01:01:20 +03:00
<variablelist >
<varlistentry >
<term > <varname > f</varname> </term>
2010-11-21 22:41:00 +03:00
<listitem > <para > Create a file if it doesn't exist yet</para> </listitem>
2010-11-11 01:01:20 +03:00
</varlistentry>
<varlistentry >
<term > <varname > F</varname> </term>
2010-11-21 22:41:00 +03:00
<listitem > <para > Create or truncate a file</para> </listitem>
2010-11-11 01:01:20 +03:00
</varlistentry>
<varlistentry >
<term > <varname > d</varname> </term>
2010-11-21 22:41:00 +03:00
<listitem > <para > Create a directory if it doesn't exist yet</para> </listitem>
2010-11-11 01:01:20 +03:00
</varlistentry>
<varlistentry >
<term > <varname > D</varname> </term>
2010-11-21 22:41:00 +03:00
<listitem > <para > Create or empty a directory</para> </listitem>
2010-11-11 01:01:20 +03:00
</varlistentry>
<varlistentry >
<term > <varname > x</varname> </term>
2011-02-12 11:31:25 +03:00
<listitem > <para > Ignore a path
during cleaning. Use this type
to exclude paths from clean-up
as controlled with the Age
parameter. Note that lines of
this type do not influence the
effect of r or R lines. Lines
of this type accept
shell-style globs in place of
of normal path
names.</para> </listitem>
2010-11-11 01:01:20 +03:00
</varlistentry>
<varlistentry >
<term > <varname > r</varname> </term>
2011-02-12 11:31:25 +03:00
<listitem > <para > Remove a file
or directory if it
exists. This may not be used
to remove non-empty
directories, use R for
that. Lines of this type
accept shell-style globs in
place of normal path
names.</para> </listitem>
2010-11-11 01:01:20 +03:00
</varlistentry>
<varlistentry >
<term > <varname > R</varname> </term>
2011-02-12 11:31:25 +03:00
<listitem > <para > Recursively
remove 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>
2010-11-11 01:01:20 +03:00
</varlistentry>
</variablelist>
</refsect2>
<refsect2 >
2010-11-19 18:14:52 +03:00
<title > Mode</title>
2011-02-12 11:31:25 +03:00
<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>
2010-11-19 18:14:52 +03:00
</refsect2>
<refsect2 >
<title > UID, GID</title>
<para > The user and group to use for this file
or directory. This may either be a numeric
user/group ID or a user or group name. If
2011-02-12 11:31:25 +03:00
omitted or when set to - the default 0 (root)
is used. . These parameters are ignored for x,
r, R lines.</para>
2010-11-19 18:14:52 +03:00
</refsect2>
<refsect2 >
<title > Age</title>
2010-11-11 01:01:20 +03:00
<para > The date field, when set, is used to
decide what files to delete when cleaning. If
a file or directory is older than the current
time minus the age field it is deleted. The
field format is a series of integers each
followed by one of the following
postfixes for the respective time units:</para>
<variablelist >
<varlistentry >
<term > <varname > s</varname> </term>
<term > <varname > min</varname> </term>
<term > <varname > h</varname> </term>
<term > <varname > d</varname> </term>
<term > <varname > w</varname> </term>
<term > <varname > ms</varname> </term>
<term > <varname > m</varname> </term>
<term > <varname > us</varname> </term> </varlistentry>
</variablelist>
2010-11-04 23:31:07 +03:00
2010-11-11 01:01:20 +03:00
<para > If multiple integers and units are specified the time values are summed up.</para>
2010-11-04 23:31:07 +03:00
2010-12-31 03:50:51 +03:00
<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>
2010-11-04 23:31:07 +03:00
2010-11-11 01:01:20 +03:00
</refsect2>
2010-11-04 23:31:07 +03:00
</refsect1>
<refsect1 >
<title > Example</title>
<example >
<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
2010-11-11 01:01:20 +03:00
d /var/run/uscreens 0755 root root 10d12h</programlisting>
2010-11-04 23:31:07 +03:00
</example>
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
2011-02-13 17:08:15 +03:00
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > systemd-tmpfiles</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry>
2010-11-04 23:31:07 +03:00
</para>
</refsect1>
</refentry>