私が読んだsystemdユニットファイルのドキュメントによると、ユニットファイルはファイルシステムの3つの場所にあります。
/etc/systemd/system/
: システムユニットファイル/run/systemd/system/
:ランタイムユニットファイル/lib/systemd/system/
(時々/usr/lib/systemd/system/
):パッケージの基本ユニットファイル
私が知る限り、システムデバイスファイルは(おそらくユーザーが設定した)システムデーモン用です。また、デフォルトのパッケージ単位ファイルは、合理的なデフォルト値を提供するパッケージのインストールに付属の単位ファイルであることも理解しています。
ただし、ランタイム単位ファイルの目的を説明する文書が見つかりません。ランタイムユニットファイルの用途は何ですか?システム管理者としてシステムを作成できますか?ランタイム単位ファイルを使用して解決できる問題の例は何ですか?ランタイム単位ファイルがパッケージ単位ファイルよりも優先されますが、システム単位ファイルよりも優先されないのはなぜですか?
答え1
歴史的に、ランタイムユニットファイルはマシン作成ユニット用でした。対応するベンダー単位(存在する場合)を上書きする必要がありますが、ユーザーが上書きできるように設計されています。定義された優先順位。
今日では、バスAPIを使用して生成された一時セルにほとんど置き換えられたと思います。これらのセルはどこにもファイルとして表示されません。
答え2
ランタイムファイルは、/run/systemd/system
再起動時に変更/変更を維持せずに、現在の起動中にプロセス(ユニット)を変更する機能で発生します。
~からシステム制御.1:
--runtime
When used with enable, disable, edit, (and related commands),
make changes only temporarily, so that they are lost on the
next reboot. This will have the effect that changes are not
made in subdirectories of /etc/ but in /run/, with identical
immediate effects, however, since the latter is lost on
reboot, the changes are lost too.
Similarly, when used with set-property, make changes only
temporarily, so that they are lost on the next reboot.
答え3
私のシステムでは、ユニットファイルに/run/systemdが使用されているのを見たことがありません。 /lib/systemd で変更されていない単位ファイルを実行する場合にも使用できます。
通常、/lib/systemdにはデフォルトのユニットファイルとタイマーが含まれています(ここでは編集しないでください)、/etc/systemdには有効な(/lib/systemdファイルへのリンク)、カスタムユニットファイルとタイマーが含まれています。されています。
タイマーとユニットファイルをカスタマイズして、sudo systemctl edit unit/timer
元のファイルにいくつかのコンテンツを追加したり、ユニットファイルまたはタイマーsudo systemctl edit --full unit/timer
を完全に編集したりできます。
答え4
指示を読んで始めてください。ここランタイム単位ファイルは、特定のプロセス用の別の種類のシステム構成ファイルのように見えます。
また、実行時に作成され、プロセスが終了すると削除されます。
役に立つ場合は、このページで「実行」を検索してすべての項目を読んでください。そこから同じ結論を導き出すのは簡単です。