TMPFILES.D(5) tmpfiles.d TMPFILES.D(5) tmpfiles.d - /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 # 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 tmpfiles.d . ( /run/ /tmp/ /var/tmp/ API /sys/ /proc/ /var/). systemd-tmpfiles(8) . systemd-tmpfiles(8) systemd-tmpfiles-setup.service systemd-tmpfiles-clean.service . /run/ . RuntimeDirectory= ( systemd.exec(5) ) tmpfiles.d . . StateDirectory= CacheDirectory= LogsDirectory= ConfigurationDirectory= /var/lib/ /var/cache/ /var/log/ /etc/. tmpfiles.d . .conf -.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 . . ( "!" ). . ( : ). . ( ACL xattr ) . / . /dev/null /etc/tmpfiles.d/ . . : #Type Path Mode User Group Age Argument... d /run/user 0755 root root 10d - L /tmp/foobar - - - - /dev/null C. ("") . . C ( "\x20"). Type : ("+") ("!") ("-") ("=") ("~") / ("^"). : f, f+ f . . f+ . . . w, w+ . + . w+. (globs) . . C. . d . . . D d --remove. e . . . "0" systemd-tmpfiles(8) --clean. . ! . 230. v (btrfs) (: / ). d. . q Q . 219. q v . . btrfs d. . Q . btrfs-qgroup(8) btrfs. 228. Q v . q . "" . 255 . . q . q Q " ". Q " " . q " " " " . Q . Q /home/ /var/lib/machines/. q . q /var/ /var/tmp/. q Q . 228. p, p+ (FIFO) . + . L, L+, L? . + . ? . /usr/share/factory/. . c, c+ . + . udev . b, b+ . + . udev . C, C+ . +. . /usr/share/factory/ . . . 214. x . . glob . X . . x . glob . 198. r . R . glob . . R ( ). glob . . z SELinux . glob . . Z SELinux ( ). glob . . t attr(5) . namespace.attribute=value . glob . SMACK. . Linux h/H . 218. T t . 219. h / Linux. glob . [+-=][aAcCdDeijPsStTu]. + () - = . "aAcCdDeijPsStTu" chattr(1) . = . = . . . t/T . H h . 220. a, a+ POSIX acl(5). 'X' setfacl(1). + . systemd-tmpfiles(8) . . glob . . . 219. A, A+ a a+ . . 219. ("!") . . 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. ("^") ( ) . [2] . f f+ w w+. VM . systemd-tmpfiles . "^" "~" Base64 . ("$") systemd-tmpfiles --purge. . ( f d/D/v/q/Q p L c/b C) root 0755. d . . ( ) . . "-" : 0755 0644 . z Z "-" . x r R L t a. "~" : . . /SUID/SGID . Z. . ":" . . /. "-" systemd-tmpfiles(8). z Z "-" . x r R t a. / / . / ( NIS LDAP ) . [3] / . / . ":" / / . . . : s m min h d w ms us . . . s. . d D e v q Q C x X. "-" . "~" . (mtime) (atime) ( ) (ctime). ( ) . . . (":"): " ...: ". a (A ) b (B ) c (C ) m (M ). . . statx(2) . abcmABM (ctime) . ctime . ctime . : # # "/tmp/foo/bar" . d /tmp/foo/bar - - - bmA:1h - BSD ( flock(2)) / . ( ) / ( ). : BSD / . systemd-tmpfiles "0" . BSD systemd-tmpfiles. L . c b / ":" "1:3". f w . C . t T . a A ACL . h H . . . "" "". . : 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= | | | | /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) | | | | | | | | . | +-------------------+-----------------------------+--------------------------------+ |"%%" | | "%%" | | | | "%" | | | | | | | | | | | | | | | | . | +-------------------+-----------------------------+--------------------------------+ 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 10 101/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/ 30 . 5. # /usr/lib/tmpfiles.d/krb5rcache.conf e! /var/cache/krb5rcache - - - 0 /var/cache/krb5rcache/ . . 6. SSH 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/ AND /VAR/RUN/ /var/run/ /run/ . systemd-tmpfiles /var/run/. 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) 1. Base64 https://www.rfc-editor.org/rfc/rfc4648.html 2. https://systemd.io/CREDENTIALS 3. https://systemd.io/UIDS-GIDS/#notes-on-resolvability-of-user-and-group-names # 3 . . : . systemd 260.2 TMPFILES.D(5)