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.