TMPFILES.D(5) tmpfiles.d TMPFILES.D(5) (NAME) tmpfiles.d - (SYNOPSIS) /etc/tmpfiles.d/*.conf /run/tmpfiles.d/*.conf /usr/local/lib/tmpfiles.d/*.conf /usr/lib/tmpfiles.d/*.conf ~/.config/user-tmpfiles.d/*.conf $XDG_RUNTIME_DIR/user-tmpfiles.d/*.conf ~/.local/share/user-tmpfiles.d/*.conf ... /usr/local/share/user-tmpfiles.d/*.conf /usr/share/user-tmpfiles.d/*.conf #Type Path Mode User Group Age Argument f /file/to/create mode user group - content f+ /file/to/create-or-truncate mode user group - content w /file/to/write-to - - - - content w+ /file/to/append-to - - - - content d /directory/to/create-and-clean-up mode user group cleanup-age - D /directory/to/create-and-remove mode user group cleanup-age - e /directory/to/clean-up mode user group cleanup-age - v /subvolume-or-directory/to/create mode user group cleanup-age - q /subvolume-or-directory/to/create mode user group cleanup-age - Q /subvolume-or-directory/to/create mode user group cleanup-age - p /fifo/to/create mode user group - - p+ /fifo/to/[re]create mode user group - - L /symlink/to/create - - - - symlink/target/path L+ /symlink/to/[re]create - - - - symlink/target/path c /dev/char-device-to-create mode user group - major:minor c+ /dev/char-device-to-[re]create mode user group - major:minor b /dev/block-device-to-create mode user group - major:minor b+ /dev/block-device-to-[re]create mode user group - major:minor C /target/to/create - - - cleanup-age /source/to/copy C+ /target/to/create - - - cleanup-age /source/to/copy x /path-or-glob/to/ignore/recursively - - - cleanup-age - X /path-or-glob/to/ignore - - - cleanup-age - r /path-or-glob/to/remove - - - - - R /path-or-glob/to/remove/recursively - - - - - z /path-or-glob/to/adjust/mode mode user group - - Z /path-or-glob/to/adjust/mode/recursively mode user group - - t /path-or-glob/to/set/xattrs - - - - xattrs T /path-or-glob/to/set/xattrs/recursively - - - - xattrs h /path-or-glob/to/set/attrs - - - - file attrs H /path-or-glob/to/set/attrs/recursively - - - - file attrs a /path-or-glob/to/set/acls - - - - POSIX ACLs a+ /path-or-glob/to/append/acls - - - - POSIX ACLs A /path-or-glob/to/set/acls/recursively - - - - POSIX ACLs A+ /path-or-glob/to/append/acls/recursively - - - - POSIX ACLs (DESCRIPTION) tmpfiles.d (pipes) (quota) . ( /run/ /tmp/ /var/tmp/ API /sys/ /proc/ /var/). systemd-tmpfiles(8) . systemd-tmpfiles-setup.service systemd-tmpfiles-clean.service systemd-tmpfiles(8) . /run/ . tmpfiles.d RuntimeDirectory= ( systemd.exec(5) ). . StateDirectory= CacheDirectory= LogsDirectory= ConfigurationDirectory= /var/lib/ /var/cache/ /var/log/ /etc/ . tmpfiles.d . (CONFIGURATION DIRECTORIES AND PRECEDENCE) package.conf package-part.conf . . /etc/tmpfiles.d /usr/lib/tmpfiles.d /run/tmpfiles.d . /run/tmpfiles.d /usr/lib/tmpfiles.d . /usr/lib/tmpfiles.d . /etc/tmpfiles.d . ( ) . ( "!" ). . ( : ). (globs) . ( ACL xattr ) . / . (symlink) /dev/null /etc/tmpfiles.d/ . (CONFIGURATION FORMAT) (type) (path) (mode) (ownership) (age) (argument) . : #Type Path Mode User Group Age Argument... d /run/user 0755 root root 10d - L /tmp/foobar - - - - /dev/null C (C-style escapes) . ("argument") . . C ( "\x20"). (Type) : ("+") ("!") ("-") ("=") ("~") / ("^"). : f, f+ f . . f+ (truncate) . . . w, w+ . + (append) . w+ . . . C . . d . . age . D d --remove . e (age) . . age . age "0" systemd-tmpfiles(8) --clean . mode user group age . ! . 230. v (subvolumes) (btrfs) ( : / ) . d . (quota group) . q Q . 219. q v . . btrfs d . . Q . btrfs btrfs-qgroup(8) . 228. Q v (leaf) . q . "" (intermediary) (ID) . 255 . . q . q Q " " (subtree quotas) . Q "" . q . Q . Q /home/ /var/lib/machines/ . q . q /var/ /var/tmp/ . q Q . 228. p, p+ (FIFO) . + . L, L+, L? (symlink) . + . ? . /usr/share/factory/ . . c, c+ (character device) . + . udev . b, b+ (block device) . + . udev . C, C+ . + . . /usr/share/factory/ . . age . 214. x . Age . . X . Age . x . . 198. r . R . . . R ( ) . . . z SELinux . . . Z SELinux . . . t (extended attributes) attr(5) . namespace.attribute=value . . SMACK . . h/H . 218. T t . 219. h / . . [+-=][aAcCdDeijPsStTu] . + ( ) - = . "aAcCdDeijPsStTu" chattr(1) . = . = . . . t/T . H h . 220. a, a+ (POSIX ACLs) acl(5) . 'X' setfacl(1) . + . systemd-tmpfiles(8) . . . . . 219. A, A+ a a+ . . 219. (Type Modifiers) ("!") . . systemd-tmpfiles(8) --boot . : # 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 --boot . ("-") ( ) systemd-tmpfiles(8) . : # Modify sysfs but do not fail if we are in a container with a read-only /proc w- /proc/sys/vm/swappiness - - - - 10 ("=") . ( ). FIFO . ("~") ( ) Base64[1] . f f+ w +. ( NUL) . Base64 . ("^") ( ) (service credential) . [2] . f f+ w w+. . systemd-tmpfiles . "^" "~" Base64 . ("$") systemd-tmpfiles --purge . . ( f d/D/v/q/Q p L c/b C) root 0755 . d . (Path) . ( ) . (Mode) . "-" : 0755 0644 . z Z "-" . x r R L t a . "~" : . . sticky/SUID/SGID . Z . . ":" . (User, Group) . / . "-" systemd- tmpfiles(8) . z Z "-" . x r R t a . / / (resolvable) . / ( NIS LDAP ) . / [3] . / . ":" / / . (Age) . . : s m min h d w ms us . . . s . . age d D e v q Q C x X . "-" . "~" . (mtime) (atime) ( ) (ctime) . ( ) age . age-by . age-by . (":") age : "age-by...:cleanup-age". a (A ) b (B ) c (C ) m (M ) . . . statx(2) . age-by abcmABM (ctime) . ctime . ctime . : # Files created and modified, and directories accessed more than # an hour ago in "/tmp/foo/bar", are subject to time-based cleanup. d /tmp/foo/bar - - - bmA:1h - BSD ( flock(2) ) / . ( ) / ( ) . : BSD / . systemd-tmpfiles "0" . BSD systemd-tmpfiles . (Argument) L . c b major/minor major minor ":" "1:3". f w . C . t T . a A ACL . h H . . . (SPECIFIERS) "path" "argument" . . : 1. +-------------------------------+--------------------------------+-----------------------------------------+ | | | | +-------------------------------+--------------------------------+-----------------------------------------+ |"%a" | | | | | | | | | | | | | | . | | | | | | | | x86 x86-64 arm64. | | | | | | | | | | | | | | | | | | | | ConditionArchitecture= | | | | systemd.unit(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%A" | | | | | | | | | | | | | | | | | | | | | | | | | | IMAGE_VERSION= | | | | /etc/os-release | | | | . | | | | | | | | | | | | | | | | . | | | | | | | | os-release(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%b" | | | | | | | | | | | | | | | | | | . | | | | | | | | random(4) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%B" | | | | | | | | | | | | | | | | | | | | | | BUILD_ID= | | | | /etc/os-release | | | | . | | | | | | | | | | | | | | | | . | | | | | | | | os-release(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%C" | | --user | | | | $XDG_CACHE_HOME | | | | | | | | /var/cache | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%g" | | | | | | | | | | . | | | | | | | | | | | | "root" | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%G" | | (GID) | | | | | | | (GID) | | | | | . | | | | | | | | 0 | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%h" | | | | | | | | | | | | | | . | | | | | | | | | | | | "/root" | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%H" | | | | | | | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%l" | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%L" | | --user | | | | $XDG_STATE_HOME | | | | /log | | | | | | | | | | | | /var/log | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%m" | | | | | | | | | | | | | | | | | | . | | | | | | | | machine-id(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%M" | | | | | | | | | | | | | | | | | | | | | | IMAGE_ID= | | | | /etc/os-release | | | | . | | | | | | | | | | | | | | | | . | | | | | | | | os-release(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%o" | | | | | | | | | | | | | | | | | | | | | | ID= /etc/os-release | | | | . | | | | | | | | os-release(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%q" | | | | | | (pretty hostname) | | | | | | | | | | | | | | | | PRETTY_HOSTNAME= | | | | /etc/machine-info | | | | . | | | | | | | | | | | | | | | | . | | | | | | | | machine-info(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%S" | | --user | | | | $XDG_STATE_HOME | | | | | | | | /var/lib | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%t" | | --user | | | | $XDG_RUNTIME_DIR | | | | | | | | /run/ | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%T" | | /tmp | | | | "$TMPDIR" | | | | "$TEMP" "$TMP" | | | | . | | | | ( | | | | | | | | | | | | | | | | | | | | | | | | .) | +-------------------------------+--------------------------------+-----------------------------------------+ |"%u" | | | | | | | | | | . | | | | | | | | | | | | "root" | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%U" | | (UID) | | | (UID) | | | | | | | | | . | | | | | | | | 0 | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%v" | | | | | | uname -r. | +-------------------------------+--------------------------------+-----------------------------------------+ |"%V" | | /var/tmp | | | | | | | | "$TMPDIR" "$TEMP" "$TMP" | | | | | | | | . ( | | | | | | | | | | | | | | | | | | | | | | | | .) | +-------------------------------+--------------------------------+-----------------------------------------+ |"%w" | | | | | | | | | | | | | | | | | | | | | | VERSION_ID= | | | | /etc/os-release | | | | . | | | | | | | | | | | | | | | | . | | | | | | | | os-release(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%W" | | | | | | () | | | | | | | | | | | | | | | | | | | | VARIANT_ID= | | | | /etc/os-release | | | | . | | | | | | | | | | | | | | | | . | | | | | | | | os-release(5) | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ |"%%" | | "%%" "%" | | | | | | | | | | | | | | | | . | +-------------------------------+--------------------------------+-----------------------------------------+ (EXAMPLES) 1. screen(1) : # /usr/lib/tmpfiles.d/screen.conf d /run/screens 1777 root screen 10d d /run/uscreens 0755 root screen 10d12h /run/screens /run/uscreens 1/2 . 2. SMACK D /run/cups - - - - t /run/cups - - - - security.SMACK64=printing user.attr-with-spaces="foo bar" root . systemd-tmpfiles --remove . 3. abrt(1) /var/tmp : # /usr/lib/tmpfiles.d/tmp.conf d /var/tmp 1777 root root 30d # /usr/lib/tmpfiles.d/abrt.conf d /var/tmp/abrt 0755 abrt abrt - 4. # /usr/lib/tmpfiles.d/dnf.conf r! /var/cache/dnf/*/*/download_lock.pid r! /var/cache/dnf/*/*/metadata_lock.pid r! /var/lib/dnf/rpmdb_lock.pid e /var/cache/dnf/ - - - 30d . /var/cache/dnf/ . 5. # /usr/lib/tmpfiles.d/krb5rcache.conf e! /var/cache/krb5rcache - - - 0 /var/cache/krb5rcache/ . . 6. SSH root QEMU -smbios type=11,value=io.systemd.credential.binary:tmpfiles.extra=$(echo -e "d /root/.ssh 0750 root root -\nf~ /root/.ssh/authorized_keys 0600 root root - $(ssh-add -L | base64 -w 0)" | base64 -w 0) QEMU Base64 tmpfiles.d systemd-tmpfiles(8) /root/.ssh/authorized_keys Base64 systemd SMBIOS . /RUN/ /VAR/RUN/ (/RUN/ AND /VAR/RUN/) /var/run/ /run/ . systemd-tmpfiles /var/run/ . (SEE ALSO) systemd(1), systemd-tmpfiles(8), systemd-delta(1), systemd.exec(5), attr(5), getfattr(1), setfattr(1), setfacl(1), getfacl(1), chattr(1), btrfs-subvolume(8), btrfs-qgroup(8) (NOTES) 1. Base64 decoded https://www.rfc-editor.org/rfc/rfc4648.html 2. System and Service Credentials https://systemd.io/CREDENTIALS 3. Notes on Resolvability of User and Group Names https://systemd.io/UIDS-GIDS/#notes-on-resolvability-of-user-and- group-names systemd 257.13 TMPFILES.D(5)