apache-httpdを実行するためにサービスユニットを作成しましたが、動作していますが、サービスユニット設定ファイルはファイルですが、ディレクトリ(/etc/systemd/system)の他のエントリがディレクトリなので心配です。ファイルは例外のようです。
うまくいきますが、私の定義が他の定義と異なるのはなぜですか?
私が使うものは技術ガイドのサービスユニット作成ガイドライン。
答え1
.wants
表示される他のディレクトリには、完全なサービスファイル(パッケージを介してインストールされたサービスに.d
表示される)は含まれず、修正のみが含まれます。/lib/systemd/system
たとえば、変更のために実行している場合は、変更をsystemctl edit (servicename).service
自動的に含める他の環境変数を設定したい場合があります。/etc/systemd/system/servicename.d/override.conf
この目的は、パッケージが更新されたときに変更を受け取ることができる/etc/
パッケージ管理サービス定義と、管理者が行ったローカル変更を明確に分離することです。/lib/systemd/system
答え2
単位は両方文書そして目次。これ十分デバイスに関する情報は、両方の場所で配布され、読み取られます。
.service
ファイルが、、、、.target
など.socket
で終わるようにします.timer
。.mount
オプションのディレクトリは、などで.service.d
終わります.service.requires
。 include.target.wants
で終わる.d
一般的なファイル。シンボリックリンクで終わり、.wants
シンボリック.requires
リンクを含むリンク。詳しくはマニュアルをお読みくださいsystemd.unit
。
あなたの場合、ファイルと(現在存在しない)ディレクトリの両方があります/etc/systemd
。ローカル管理者であるあなたは両方のソースです。他のユニットの場合、ファイルは以下のような別の場所にあります/usr/lib/systemd
。/etc/systemd
これは、ファイル部分がパッケージによって提供され、ディレクトリ部分がローカル管理者として選択および変更されることを反映しています(たとえば、Wants
ユニットの設定を作成するように変更)、他の特定のユニットを有効にした結果などです。
systemd のモデルはパッケージで/usr/lib/systemd
次の内容を提供し、システムが実行されると次の内容が動的に生成され、次の内容はローカルシステム管理者が決定するものです。 4つの領域すべての一般的なファイル、ディレクトリ、およびシンボリックリンク(複数のサブディレクトリを含めることができます、詳細についてはマニュアルを参照)は、優先順位の規則に従って完全な単位情報にまとめられます。/usr/local/lib/systemd
/run/systemd
/etc/systemd
system