概要
`systemd-tmpfiles`は、システムのテンポラリファイルおよびランタイムディレクトリを管理するための`systemd`ユーティリティです。設定ファイルで定義されたルールに従って、ファイルやディレクトリの作成、削除、パーミッションの変更などを行います。主に起動時に`systemd-tmpfiles-setup.service`を介して実行されるか、`systemd-tmpfiles-clean.timer`によって定期的に実行されます。
主な機能
- 設定ファイルに基づいた自動的なファイル/ディレクトリ管理
- 起動時に必要なテンポラリディレクトリの作成と初期化
- 古いテンポラリファイルおよびディレクトリの定期的なクリーンアップ
- ファイルの所有権、パーミッション、SELinuxコンテキストの設定
主なオプション
`systemd-tmpfiles`は、さまざまなオプションを使用してファイル管理タスクを制御できます。
コマンドモード
その他のオプション
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`systemd-tmpfiles` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
`systemd-tmpfiles`の一般的な使用例です。
設定ファイルに従ってテンポラリファイルおよびディレクトリを作成
sudo systemd-tmpfiles --create
システムのすべての`tmpfiles.d`設定ファイルで定義されたルールに従って、ファイルとディレクトリを作成します。起動時に`systemd-tmpfiles-setup.service`によって自動的に実行される操作に似ています。
古いテンポラリファイルおよびディレクトリをクリーンアップ
sudo systemd-tmpfiles --clean
設定ファイルで指定された「age」ルールに従って、古いテンポラリファイルおよびディレクトリを削除します。`systemd-tmpfiles-clean.timer`によって定期的に実行されます。
実際の変更なしで作成操作をシミュレーション
sudo systemd-tmpfiles --create --dry-run
実際にファイルを生成または変更せずに、`--create`コマンドが実行された場合にどのような操作が行われるかを事前に確認します。重要な変更を行う前に役立ちます。
デバッグモードでクリーンアップ操作を実行
sudo systemd-tmpfiles --clean --debug
古いファイルをクリーンアップする操作をデバッグモードで実行し、詳細なログを確認します。問題発生時の原因特定に役立ちます。
ヒントと注意点
`systemd-tmpfiles`はシステムの重要なディレクトリを管理するため、設定ファイルの変更には注意が必要です。
設定ファイルの場所
`systemd-tmpfiles`は以下のパスの設定ファイルを読み込みます。数値が小さいディレクトリのファイルが優先されます。
- /etc/tmpfiles.d/*.conf: ユーザー定義およびシステム管理者の設定
- /run/tmpfiles.d/*.conf: ランタイム時に生成される一時設定
- /usr/lib/tmpfiles.d/*.conf: パッケージが提供するデフォルト設定
設定ファイルの形式
各設定ファイルの行は、通常 `type path mode uid gid age argument` の形式で構成されます。各フィールドはスペースで区切られ、コメントは `#` で始まります。
主なタイプ文字
設定ファイルで使用される主なタイプ文字です。
- d: ディレクトリ作成
- f: ファイル作成
- L: シンボリックリンク作成
- x: パスを除外(クリーンアップ対象外)
- r: パス削除(クリーンアップ時)
- z: パスのSELinuxコンテキスト設定
注意点
誤った`tmpfiles.d`設定は、システムの不安定化や重要なデータの損失を招く可能性があります。設定ファイルを変更する前に、必ずバックアップを取り、`--dry-run`オプションを使用して変更内容を事前に確認することを推奨します。