如何覆盖/etc/systemd/system.conf?

Gre*_*SAT 6 systemd

我想修改 systemd 中的默认行为。
此默认行为在CtrlAltDelBurstAction=reboot-force中注释掉/etc/systemd/system.conf

我只需要取消注释这一行并将其修改为CtrlAltDelBurstAction=none.
但是有没有一种“干净的方法”来做到这一点,而不是干扰原始发行版文件?

我测试过,systemctl edit system但这引发了一个错误,说明system.service未找到。

Adm*_*Bee 7

在现代版本的systemd 中,可以/etc/systemd/system.conf使用位于/etc/systemd/system.conf.d/.

您可以将配置行放入一个文件中/etc/systemd/system.conf.d/10-suppress-ctraltdel.conf,然后在您重新加载systemd配置(或下次启动时)时会读取它。若要从引用man systemd-system.conf页面

主配置文件在任何配置目录之前读取,优先级最低;任何配置目录中文件中的条目都会覆盖单个配置文件中的条目。在文件*.conf.d/的配置子目录是由他们的字典顺序排序的文件名,无论哪个子目录的他们方式支付。

顺便说一句,这种配置覆盖机制现在是许多 Linux 服务的标准,所以这里讨论的方法应该也适用于其他情况。

/etc/systemd/system.conf.d/10-suppress-ctraltdel.conf, CtrlAltDelBurstAction=none必须在该[Manager]部分(如联机帮助页中所述:“所有选项都在该[Manager]部分中配置”):

[Manager]
CtrlAltDelBurstAction=none
Run Code Online (Sandbox Code Playgroud)

如果未指定某个部分,则该选项可能会被忽略,因为它可能位于错误的部分中。