kernel.sysrq 设置似乎通常位于 /etc/sysctl.d/99-sysctl.conf,但是,我在 Arch 系统上看不到此文件。相反,似乎有一个文件:
/usr/lib/sysctl.d/50-default.conf
这些内核设置是否保存在不同发行版的不同位置?如果是这样,我应该在哪里编辑 kernel.sysrq 以使更改在 Arch 系统中永久存在?
答案1
参见描述sysctl --system
:
从所有系统配置文件加载设置。按照从上到下的给定顺序从以下列表中的目录中读取文件。一旦加载了给定文件名的文件,后续目录中的任何同名文件都将被忽略。
/etc/sysctl.d/*.conf /run/sysctl.d/*.conf /usr/local/lib/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /lib/sysctl.d/*.conf /etc/sysctl.conf
因此/usr/lib/sysctl.d/50-default.conf
适用于发行版提供的默认值,您自己的覆盖应该进入/etc/sysctl.conf
,或者如果您想覆盖整个文件,则应该进入/etc/sysctl.d/50-default.conf
.
作为一般规则,您永远不应该修改下面的任何内容/usr
(除了下面/usr/local
)。许多带有配置的程序/usr
都/lib
在/etc
.
答案2
文件位置可能因发行版而异。
问题更重要的部分是在哪里进行更改。中的文件/usr
可以被视为“静态”或“系统管理的”。想想“不要编辑”。在这种情况下,该文件提供了默认配置。
您应该将文件(的相关部分)复制到相应的目录中/etc
并在那里进行更改。/etc
是为了用户配置(或者更确切地说,由管理员进行的设置并应用于“所有用户”)。