Systemd
サービスリストのスクリプトインストールを作成したいです。このインストールは、Ubuntu(バージョン16.04以降)とRHEL / CentOS(バージョン7.2以降)をサポートする必要があります。
私は読んだRHELドキュメントそして、ユニットファイルを保存するための3つのパスが見つかりました。パスは次のとおりです。
- /usr/lib/systemd/システム/
- /lib/systemd/システム/
- /etc/systemd/システム
次の基準を満たすサービスの正しい場所はどこにありますか?
- 単位ファイルは、システムレベルではなくサービス(アプリケーション固有のサービス)に使用されます。
- 既存のOSレベルのサービスは上書きされません。
- UbuntuとRHEL / CentOSの同じ場所
答え1
デフォルトのRed Hatディストリビューションには/lib
シンボリックリンクがありますが、/usr/lib
Ubuntuでは別の場所にあるようです。
システム文書によるとは、/usr/lib/systemd/system/
ユーザーが編集せずにパッケージで提供および更新するアップストリーム単位ファイルを保持するように指定されます。
/etc/systemd/system
ユーザー提供の単位ファイルの場所として指定されます。パッケージを上書きまたは更新しないでください/etc/systemd/system
。また、それを使用して/etc/systemd/system
既存のユニットファイルを上書きすることもできます。
したがって、使用は/etc/systemd/system
異なるディストリビューション間で最も互換性がなければなりません。