Systemd
サービスのリストのスクリプト形式のインストールを作成したいと思います。このインストールは、Ubuntu(バージョン16.04以降)とRHEL/CentOS(バージョン7.2以降)の両方をサポートする必要があります。
私は RHEL docs を読み、ユニットファイルを格納できる3つのパスを見つけました。これらのパスは次のとおりです。
これらの基準を満たすサービスの正しい場所は何ですか?
デフォルトのRed Hatディストリビューションでは、/lib
は/usr/lib
へのシンボリックリンクですが、Ubuntuではこれらの場所が異なるようです。
systemdのドキュメントによると 、/usr/lib/systemd/system/
は、ユーザーが編集せず、代わりにパッケージを介して提供および更新される上流のユニットファイルを保持するように指定されています。
/etc/systemd/system
は、ユーザー指定のユニットファイルがある場所として指定されます。パッケージは/etc/systemd/system
の内容をオーバーライドまたは更新しないでください。 /etc/systemd/system
を使用して、既存のユニットファイルを上書きすることもできます。
したがって、/etc/systemd/system
を使用することは、異なるディストリビューション間で最も互換性があるはずです。