我想为Systemd
服务列表创建脚本安装。此安装应支持 Ubuntu(从 16.04 版开始)和 RHEL/CentOS(从 7.2 版开始)
我阅读了RHEL 文档,发现了三个可以存储单元文件的路径,这些路径是:
- /usr/lib/systemd/系统/
- /lib/systemd/系统/
- /etc/systemd/系统
满足这些条件的服务的正确位置是什么:
- 单元文件用于非系统级服务(特定于应用程序的服务)
- 没有现有的操作系统级服务被覆盖
- 该位置在 Ubuntu 和 RHEL/CentOS 上是相同的
在默认的 Red Hat 发行版中,
/lib
是指向 的符号链接/usr/lib
,但在 Ubuntu 中这些位置似乎不同。根据 systemd 文档,
/usr/lib/systemd/system/
被指定保存上游单元文件,这些文件不会被用户编辑,而是通过包提供和更新。/etc/systemd/system
被指定为用户提供的单元文件所在的位置。包不应覆盖或更新/etc/systemd/system
. 您还可以使用/etc/systemd/system
覆盖现有的单元文件。所以使用
/etc/systemd/system
应该是不同发行版之间最兼容的。