您可以使用sysctl
来设置一些内核参数,特别是/proc/sys
. 这些可以在文件中设置/etc/sysctl.conf
或添加到目录中的单个文件(某些发行版如 Fedora 的首选方法)/etc/sysctl.d
。在具有此目录的发行版上,它用于自定义。
摘自 sysctl 的手册页
sysctl - configure kernel parameters at runtime
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令获取当前设置的内核参数的部分列表:
$ sudo sysctl -a | head -5
abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
dev.cdrom.autoclose = 1
dev.cdrom.autoeject = 0
Run Code Online (Sandbox Code Playgroud)
只需将规则添加到文件中sysctl.conf
。
# sysctl.conf sample
#
kernel.domainname = example.com
; this one has a space which will be written to the sysctl!
kernel.modprobe = /sbin/mod probe
Run Code Online (Sandbox Code Playgroud)
您还可以使用sysctl.conf
命令行编辑此文件,而无需直接编辑它。
$ sysctl -w kernel.domainname="example.com"
Run Code Online (Sandbox Code Playgroud)
进行任何更改后,请务必使它们处于活动状态。
$ sysctl -p
Run Code Online (Sandbox Code Playgroud)
要添加您对此参数的覆盖,只需将其放入与/etc/sysctl.d
目录中已存在的文件名称相似的文件中。
$ ls -l /etc/sysctl.d
total 40
-rw-r--r-- 1 root root 77 Jul 16 2012 10-console-messages.conf
-rw-r--r-- 1 root root 490 Jul 16 2012 10-ipv6-privacy.conf
-rw-r--r-- 1 root root 726 Jul 16 2012 10-kernel-hardening.conf
-rw-r--r-- 1 root root 1184 Jul 16 2012 10-magic-sysrq.conf
-rw-r--r-- 1 root root 509 Jul 16 2012 10-network-security.conf
...
Run Code Online (Sandbox Code Playgroud)
在名为99-myparam.conf
.
$ more 10-console-messages.conf
# the following stops low-level messages on console
kernel.printk = 4 4 1 7
Run Code Online (Sandbox Code Playgroud)
其中参数名在左边,对应的值在右边。
有关sysctl
更多详细信息,请参阅的手册页。