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