systemd-tmpfiles(8) — Linux manual page


SYSTEMD-TMPFILES(8)           systemd-tmpfiles           SYSTEMD-TMPFILES(8)

NAME         top

       systemd-tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-
       setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-
       clean.timer - Creates, deletes and cleans up volatile and temporary
       files and directories

SYNOPSIS         top

       systemd-tmpfiles [OPTIONS...] [CONFIGFILE...]

       System units:


       User units:


DESCRIPTION         top

       systemd-tmpfiles creates, deletes, and cleans up volatile and
       temporary files and directories, based on the configuration file
       format and location specified in tmpfiles.d(5).

       If invoked with no arguments, it applies all directives from all
       configuration files. When invoked with --replace=PATH, arguments
       specified on the command line are used instead of the configuration
       file PATH. Otherwise, if one or more absolute filenames are passed on
       the command line, only the directives in these files are applied. If
       "-" is specified instead of a filename, directives are read from
       standard input. If only the basename of a configuration file is
       specified, all configuration directories as specified in
       tmpfiles.d(5) are searched for a matching file and the file found
       that has the highest priority is executed.

       System services (systemd-tmpfiles-setup.service,
       systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service)
       invoke systemd-tmpfiles to create system files and to perform system
       wide cleanup. Those services read administrator-controlled
       configuration files in tmpfiles.d/ directories. User services
       (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) also
       invoke systemd-tmpfiles, but it reads a separate set of files, which
       includes user-controlled files under ~/.config/user-tmpfiles.d/ and
       ~/.local/share/user-tmpfiles.d/, and administrator-controlled files
       under /usr/share/user-tmpfiles.d/. Users may use this to create and
       clean up files under their control, but the system instance performs
       global cleanup and is not influenced by user configuration. Note that
       this means a time-based cleanup configured in the system instance,
       such as the one typically configured for /tmp/, will thus also affect
       files created by the user instance if they are placed in /tmp/, even
       if the user instance's time-based cleanup is turned off.

OPTIONS         top

       The following options are understood:

           If this option is passed, all files and directories marked with
           f, F, w, d, D, v, p, L, c, b, m in the configuration files are
           created or written to. Files and directories marked with z, Z, t,
           T, a, and A have their ownership, access mode and security labels

           If this option is passed, all files and directories with an age
           parameter configured will be cleaned up.

           If this option is passed, the contents of directories marked with
           D or R, and files or directories themselves marked with r or R
           are removed.

           Execute "user" configuration, i.e.  tmpfiles.d files in user
           configuration directories.

           Also execute lines with an exclamation mark.

           Only apply rules with paths that start with the specified prefix.
           This option can be specified multiple times.

           Ignore rules with paths that start with the specified prefix.
           This option can be specified multiple times.

           A shortcut for "--exclude-prefix=/dev --exclude-prefix=/proc
           --exclude-prefix=/run --exclude-prefix=/sys", i.e. exclude the
           hierarchies typically backed by virtual or memory file systems.
           This is useful in combination with --root=, if the specified
           directory tree contains an OS tree without these virtual/memory
           file systems mounted in, as it is typically not desirable to
           create any files and directories below these subdirectories if
           they are supposed to be overmounted during runtime.

           Takes a directory path as an argument. All paths will be prefixed
           with the given alternate root path, including config search

           When this option is used, the libc Name Service Switch (NSS) is
           bypassed for resolving users and groups. Instead the files
           /etc/passwd and /etc/group inside the alternate root are read
           directly. This means that users/groups not listed in these files
           will not be resolved, i.e. LDAP NIS and other complex databases
           are not considered.

           Consider combining this with -E to ensure the invocation does not
           create files or directories below mount points in the OS image
           operated on that are typically overmounted during runtime.

           Takes a path to a disk image file or block device node. If
           specified all operations are applied to file system in the
           indicated disk image. This is similar to --root= but operates on
           file systems stored in disk images or block devices. The disk
           image should either contain just a file system or a set of file
           systems within a GPT partition table, following the Discoverable
           Partitions Specification[1]. For further information on supported
           disk images, see systemd-nspawn(1)'s switch of the same name.

           Implies -E.

           When this option is given, one ore more positional arguments must
           be specified. All configuration files found in the directories
           listed in tmpfiles.d(5) will be read, and the configuration given
           on the command line will be handled instead of and with the same
           priority as the configuration file PATH.

           This option is intended to be used when package installation
           scripts are running and files belonging to that package are not
           yet available on disk, so their contents must be given on the
           command line, but the admin configuration might already exist and
           should be given higher priority.

           Copy the contents of config files to standard output. Before each
           file, the filename is printed as a comment.

           Do not pipe output into a pager.

       -h, --help
           Print a short help text and exit.

           Print a short version string and exit.

       It is possible to combine --create, --clean, and --remove in one
       invocation (in which case removal and cleanup are executed before
       creation of new files). For example, during boot the following
       command line is executed to ensure that all temporary and volatile
       directories are removed and created according to the configuration

           systemd-tmpfiles --remove --create


       systemd-tmpfiles tries to avoid changing the access and modification
       times on the directories it accesses, which requires CAP_FOWNER
       privileges. When running as non-root, directories which are checked
       for files to clean up will have their access time bumped, which might
       prevent their cleanup.

EXIT STATUS         top

       On success, 0 is returned. If the configuration was syntactically
       invalid (syntax errors, missing arguments, ...), so some lines had to
       be ignored, but no other errors occurred, 65 is returned (EX_DATAERR
       from /usr/include/sysexits.h). If the configuration was syntactically
       valid, but could not be executed (lack of permissions, creation of
       files in missing directories, invalid contents when writing to /sys/
       values, ...), 73 is returned (EX_CANTCREAT from
       /usr/include/sysexits.h). Otherwise, 1 is returned (EXIT_FAILURE from

SEE ALSO         top

       systemd(1), tmpfiles.d(5)

NOTES         top

        1. Discoverable Partitions Specification

COLOPHON         top

       This page is part of the systemd (systemd system and service manager)
       project.  Information about the project can be found at 
       ⟨⟩.  If you have a bug
       report for this manual page, see
       ⟨⟩.  This
       page was obtained from the project's upstream Git repository
       ⟨⟩ on 2020-11-01.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2020-11-01.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or im‐
       provements to the information in this COLOPHON (which is not part of
       the original manual page), send a mail to

systemd 247                                              SYSTEMD-TMPFILES(8)

Pages that refer to this page: coredump.conf(5)coredump.conf.d(5)tmpfiles.d(5)30-systemd-environment-d-generator(7)systemd.directives(7)systemd.index(7)systemd-coredump(8)systemd-coredump.service(8)systemd-coredump@.service(8)systemd-coredump.socket(8)