Overview
`systemd-tmpfiles` is a `systemd` utility for managing temporary files and runtime directories on a system. It creates, deletes, and modifies permissions of files and directories according to rules defined in configuration files. It is typically executed during boot via `systemd-tmpfiles-setup.service` or periodically by `systemd-tmpfiles-clean.timer`.
Key Features
- Automated file/directory management based on configuration files
- Creation and initialization of necessary temporary directories during boot
- Periodic cleanup of old temporary files and directories
- Setting file ownership, permissions, and SELinux contexts
Key Options
`systemd-tmpfiles` can control file management operations through various options.
Command Modes
Other Options
Generated command:
Try combining the commands.
Description:
`systemd-tmpfiles` Executes the command.
Combine the above options to virtually execute commands with AI.
Usage Examples
Common usage examples for `systemd-tmpfiles`.
Create temporary files and directories based on configuration
sudo systemd-tmpfiles --create
Creates files and directories according to the rules defined in all `tmpfiles.d` configuration files on the system. This is similar to the task automatically performed by `systemd-tmpfiles-setup.service` during boot.
Clean up old temporary files and directories
sudo systemd-tmpfiles --clean
Deletes old temporary files and directories based on the 'age' rules specified in the configuration files. This is periodically executed by `systemd-tmpfiles-clean.timer`.
Simulate creation operations without actual changes
sudo systemd-tmpfiles --create --dry-run
Shows what operations would be performed by the `--create` command without actually creating or modifying any files. Useful for previewing changes before critical operations.
Run cleanup operation in debug mode
sudo systemd-tmpfiles --clean --debug
Executes the cleanup operation for old files in debug mode to view detailed logs. This is helpful for diagnosing issues.
Tips & Notes
`systemd-tmpfiles` manages critical system directories, so caution is advised when modifying configuration files.
Configuration File Locations
`systemd-tmpfiles` reads configuration files from the following paths. Files in directories with lower numbers have higher precedence.
- /etc/tmpfiles.d/*.conf: User-defined and system administrator configurations
- /run/tmpfiles.d/*.conf: Temporary configurations generated at runtime
- /usr/lib/tmpfiles.d/*.conf: Default configurations provided by packages
Configuration File Format
Each line in a configuration file typically follows the format: `type path mode uid gid age argument`. Fields are space-separated, and comments start with `#`.
Key Type Characters
Common type characters used in configuration files.
- d: Create directory
- f: Create file
- L: Create symbolic link
- x: Exclude path (from cleanup)
- r: Remove path (during cleanup)
- z: Set SELinux context for path
Caution
Incorrect `tmpfiles.d` configurations can lead to system instability or loss of important data. It is highly recommended to back up configuration files before making changes and to use the `--dry-run` option to preview modifications.