我在搞乱一些超时设置,并试图找出为 systemd/system 守护进程设置东西的正确方法。具体来说,这是一个动力不足的服务器,我在启动 clamd 时一直超时,所以我试图找出设置 TimeoutStartSec 参数需要多高。我试过了
systemctl edit --full [email protected]
并编辑它说
TimeoutStartSec=20min
然后做了systemctl daemon-reload
但它在 7 分钟后一直神秘地超时。最终,我发现/usr/lib/systemd/system/[email protected]
有TimeoutStartSec=420
.
可能反对所有正确的做事方式,我编辑了/usr/lib
文件的版本,并注释掉了该行。果然,这改变了事情,但它似乎仍然没有阅读/etc/systemd
版本。一旦我将其注释掉,它会在 90 秒后开始超时,我想这一定是默认设置。
作为临时解决方法,我已将/usr/lib
版本编辑为我想要的 20 分钟,但是……这似乎不是正确的做事方式。
systemctl edit
应该是在编辑版本吗/etc/systemd/system
?这是假定正确的做事方式吗?我必须做更多的事情systemctl daemon-reload
吗?
接受有关“正确方法”的任何和所有建议。
TIA
systemctl daemon-reload
告诉 systemd 自己重新加载更改的单元配置。不是本机启动的软件,本例为clamd。(尽管有关于这种区别的手动警告,但您并不是第一个被它弄糊涂的人。)相反,请使用其中一个单元命令,例如
systemctl reload-or-restart [email protected]
是的。这个想法是 /etc 包含特定于站点的配置,它覆盖了安装到 /usr 的系统包。
我会省略
--full
并创建只有不同选项的“插入式”文件。避免维护单元的完整副本。例如systemctl edit [email protected]
,编辑一个临时文件,该文件将位于某个地方/etc/systemd/system/[email protected]/override.conf
,可能只包含不同的TimeoutStartSec=
.