我正在调整一些超时设置,并试图找出为 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
?
欢迎任何有关如何正确实现这一目标的建议。
短暂性脑缺血发作
答案1
systemctl daemon-reload
告诉 systemd 本身重新加载已更改的单元配置。不是由单元启动的软件,在本例中是 clamd。(尽管手册中已警告过此区别,但您并不是第一个对此感到困惑的人。)
相反,使用其中一个单位命令,例如systemctl reload-or-restart [email protected]
systemctl edit 是否应该编辑 /etc/systemd/system 中的版本?
是的。其理念是 /etc 包含特定于站点的配置,它将覆盖安装到 /usr 的系统包的内容。
我会省略--full
并创建仅包含不同选项的“插入式”文件。避免维护单元的整个副本。例如,编辑一个临时文件,该文件将存放在类似的地方 ,并且可能仅包含不同的。systemctl edit [email protected]
/etc/systemd/system/[email protected]/override.conf
TimeoutStartSec=