我想通过将.service
文件放入/etc/systemd/system
. 我的源.service
文件在/opt/something.service
.
安装时我有两个选择:
cp /opt/something.service /etc/systemd/system
ln -s /opt/something.service /etc/systemd/system
当我start
和enable
服务(服务正常工作)时,这两种方法都有效。
然而,禁用服务时有区别:
/etc/systemd/system/something.service
保留/etc/systemd/system/something.service
被删除这是故意的吗?这很烦人,因为在禁用通过链接创建的服务后,这还不够enable
——还必须重新创建服务单元。
是的,这是设计使然。
手册页systemctl disable
说:
禁用一个或多个单元。这将从单元配置目录中删除所有指向指定单元文件的符号链接,从而撤消 enable 所做的更改。但是请注意,这会删除单元文件的所有符号链接(即包括手动添加),而不仅仅是由 enable 实际创建的符号链接。
这是它的链接:https : //www.freedesktop.org/software/systemd/man/systemctl.html#
它没有解释为什么,但我可以猜测它无法区分使用systemctl enable
创建的链接和手动创建的链接,因为它正在寻找指向单元文件的链接。
link
创建指向 systemd 搜索路径之外的源文件的符号链接时,应使用systemctl 中的选项。也来自同一个手册页。
链接文件名...
将不在单元文件搜索路径中的单元文件链接到单元文件搜索路径。这需要单元文件的绝对路径。可以通过禁用来撤消此效果。该命令的作用是一个单元文件可用于启动和其他命令,尽管它没有直接安装在单元搜索路径中。
归档时间: |
|
查看次数: |
2251 次 |
最近记录: |