X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Ftmpfiles.d.xml;h=5e0b5383412d7ef26b3e7be68f7ba62222d65096;hp=9a749918ef8dac6d895be225feb363ed8d38cfe7;hb=2f3b873a49734f8ecc8d929612d33153acbda891;hpb=aeee2322a66d63e3071b95969a6cbd8ce8dc1053 diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml index 9a749918e..5e0b53834 100644 --- a/man/tmpfiles.d.xml +++ b/man/tmpfiles.d.xml @@ -7,16 +7,16 @@ 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 - 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 . --> @@ -42,97 +42,426 @@ tmpfiles.d - configuration for creation, deletion and cleaning of tmpfiles + Configuration for creation, deletion and + cleaning of volatile and temporary files + + /etc/tmpfiles.d/*.conf + /run/tmpfiles.d/*.conf + /usr/lib/tmpfiles.d/*.conf + + Description - systemd uses - /etc/tmpfiles.d/ to describe the - creation, cleaning and removal of temporary files and - directories which usually reside in - /var/run or - /tmp). Each configuration file - is named in the style of - /etc/tmpfiles.d/<program>.conf + systemd-tmpfiles uses the + configuration files from the above directories to describe the + creation, cleaning and removal of volatile and + temporary files and directories which usually reside + in directories such as /run + or /tmp. + + Volatile and temporary files and directories are + those located in /run (and its + alias /var/run), + /tmp, + /var/tmp, the API file systems + such as /sys or + /proc, as well as some other + directories below /var. + + System daemons frequently require private + runtime directories below /run to + place communication sockets and similar in. For these, + consider declaring them in their unit files using + RuntimeDirectory= + (see systemd.exec5 for details), + if this is feasible. - Configuration Format - - The configuration format is one line per path - containing action, mode, ownership and age - fields: - - type path mode uid gid age -d /var/run/user 0755 root root 10d + Configuration Format + + Each configuration file shall be named in the + style of + package.conf + or + package-part.conf. + The second variant should be used when it is desirable + to make it easy to override just this part of + configuration. + + Files in /etc/tmpfiles.d + override files with the same name in + /usr/lib/tmpfiles.d and + /run/tmpfiles.d. Files in + /run/tmpfiles.d override files + with the same name in + /usr/lib/tmpfiles.d. Packages + should install their configuration files in + /usr/lib/tmpfiles.d. Files in + /etc/tmpfiles.d are reserved for + the local administrator, who may use this logic to + override the configuration files installed by vendor + packages. All configuration files are sorted by their + filename in lexicographic order, regardless of which + of the directories they reside in. If multiple files + specify the same path, the entry in the file with the + lexicographically earliest name will be applied, all + all other conflicting entries will be logged as + errors. When two lines are prefix and suffix of each + other, then the prefix is always processed first, the + suffix later. Otherwise the files/directories are + processed in the order they are listed. + + If the administrator wants to disable a + configuration file supplied by the vendor, the + recommended way is to place a symlink to + /dev/null in + /etc/tmpfiles.d/ bearing the + same filename. + + The configuration format is one line per path + containing type, path, mode, ownership, age, and argument + fields: + + #Type Path Mode UID GID Age Argument +d /run/user 0755 root root 10d - +L /tmp/foobar - - - - /dev/null - mode + Type - The file access mode to use for this - file or directory. If ommited or when set to - - the default is used: 0755 for directories, - 0644 for files. - + The type consists of a single letter and + optionally an exclamation mark. - - uid, gid + The following line types are understood: - 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 - ommited or when set to - the default 0 is - used. - - - - type f - create a file if it doesn't exist yet + Create a file if it does not exist yet. If the argument parameter is given, it will be written to the file. F - create or truncate a file + Create or truncate a file. If the argument parameter is given, it will be written to the file. + + + + w + Write the argument parameter to a file, if the file exists. + Lines of this type accept shell-style globs in place of normal path + names. The argument parameter will be written without a trailing + newline. C-style backslash escapes are interpreted. d - create a directory if it doesn't exist yet + Create a directory if it does not exist yet. D - create or empty a directory + Create or empty a directory. + + + + p + p+ + Create a named + pipe (FIFO) if it does not + exist yet. If suffixed with + + and a + file already exists where the + pipe is to be created it will + be removed and be replaced by + the pipe. + + + + L + L+ + Create a + symlink if it does not exist + yet. If suffixed with + + and a + file already exists where the + symlink is to be created it + will be removed and be + replaced by the + symlink. If the argument is omitted, + symlinks to files with the same name + residing in the directory + /usr/share/factory/ + are created. + + + + c + c+ + Create a + character device node if it + does not exist yet. If + suffixed with + + and a + file already exists where the + device node is to be created + it will be removed and be + replaced by the device + node. + + + + b + b+ + Create a block + device node if it does not + exist yet. If suffixed with + + and a + file already exists where the + device node is to be created + it will be removed and be + replaced by the device + node. + + + + C + Recursively + copy a file or directory, if + the destination files or + directories don't exist + yet. Note that this command + will not descend into + subdirectories if the + destination directory already + exists, instead the entire + copy operation is + skipped. If the argument is omitted, + files from the source directory + /usr/share/factory/ + with the same name are copied. x - ignore a path + 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 + normal path names. + + + + + X + Ignore a path + during cleaning. Use this type + to exclude paths from clean-up + as controlled with the Age + parameter. Unlike + x, this + parameter will not exclude the + content if path is a + directory, but only directory + itself. 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 + normal path names. + r - remove a path + 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. R - recursively remove a path + 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. + + + + z + Adjust the + access mode, group and user, + and restore the SELinux security + context of a file or directory, + if it exists. Lines of this + type accept shell-style globs + in place of normal path names. + + + + + Z + Recursively + set the access mode, group and + user, and restore the SELinux + security context of a file or + directory if it exists, as + well as of its subdirectories + and the files contained + therein (if applicable). Lines + of this type accept + shell-style globs in place of + normal path + names. + + If the exclamation mark is used, this + line is only safe of execute during boot, and + can break a running system. Lines without the + exclamation mark are presumed to be safe to + execute at any time, e.g. on package upgrades. + systemd-tmpfiles will + execute line with an exclamation mark only if + option is given. + + + For example: + # Make sure these are created by default so that nobody else can +d /tmp/.X11-unix 1777 root root 10d + +# Unlink the X11 lock files +r! /tmp/.X[0-9]*-lock + The second line in contrast to the first one + would break a running system, and will only be + executed with . - age + Path + + The file system path specification supports simple specifier + expansion. The following expansions are + understood: + + + Specifiers available + + + + + + + Specifier + Meaning + Details + + + + + %m + Machine ID + The machine ID of the running system, formatted as string. See machine-id5 for more information. + + + %b + Boot ID + The boot ID of the running system, formatted as string. See random4 for more information. + + + %H + Host name + The hostname of the running system. + + + %v + Kernel release + Identical to uname -r output. + + + %% + Escaped % + Single percent sign. + + + +
+
+ + + Mode + + 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 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. + + Optionally, if prefixed with + ~ the access mode is masked + based on the already set access bits for + existing file or directories: if the existing + file has all executable bits unset then all + executable bits are removed from the new + access mode, too. Similar, if all read bits + are removed from the old access mode they will + be removed from the new access mode too, and + if all write bits are removed, they will be + removed from the new access mode too. In + addition the sticky/suid/gid bit is removed unless + applied to a directory. This + functionality is particularly useful in + conjunction with Z. + + + + UID, GID + + 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 + omitted or when set to -, + the default 0 (root) 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. + + + + Age 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 + 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: @@ -149,10 +478,47 @@ d /var/run/user 0755 root root 10d us - If multiple integers and units are specified the time values are summed up. - - The age field only applies to lines starting with d, D and x. If ommited or set to - no automatic clean-up is done. + If multiple integers and units are specified, the time + values are summed up. If an integer is given without a unit, + s is assumed. + + + When the age is set to zero, the files are cleaned + unconditionally. + + The age field only applies to lines + starting with d, + D, and + x. If omitted or set to + -, no automatic clean-up is + done. + + If the age field starts with a tilde + character ~, the clean-up + is only applied to files and directories one + level inside the directory specified, but not + the files and directories immediately inside + it. + + + Argument + + 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, + and w may be used to + specify a short string that is written to the + file, suffixed by a newline. For + C specifies the source file + or directory. Ignored for all other + lines.
@@ -163,15 +529,25 @@ d /var/run/user 0755 root root 10d /etc/tmpfiles.d/screen.conf example screen needs two directories created at boot with specific modes and ownership. - d /var/run/screens 1777 root root 10d -d /var/run/uscreens 0755 root root 10d12h + d /run/screens 1777 root root 10d +d /run/uscreens 0755 root root 10d12h + + + /etc/tmpfiles.d/abrt.conf example + abrt needs a directory created at boot with specific mode and ownership and its content should be preserved. + + d /var/tmp/abrt 0755 abrt abrt +x /var/tmp/abrt/* See Also - systemd1 + systemd1, + systemd-tmpfiles8, + systemd-delta1, + systemd.exec5