linux /etc/sysctl.conf,Linux 7 中 /etc/sysctl.conf 的位置变化

在Linux 系统中,我们通常把一些配置写到/etc/sysctl.conf文件,但在Linux 7中,这个规则稍微发生了变化。 https://www.cndba.cn/dave/article/2966

[root@18c sysctl.d]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.5 (Maipo)

[root@18c sysctl.d]# uname -a

Linux 18c 3.10.0-862.el7.x86_64 #1 SMP Wed Mar 21 18:14:51 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux

[root@18c sysctl.d]#

[root@18c ~]# cat /etc/sysctl.conf

# sysctl settings are defined through files in

# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.

#

# Vendors settings live in /usr/lib/sysctl.d/.

# To override a whole file, create a new file with the same in

# /etc/sysctl.d/ and put new settings there. To override

# only specific settings, add a file with a lexically later

# name in /etc/sysctl.d/ and put new settings there.

#

# For more information, see sysctl.conf(5) and sysctl.d(5).

注意这里的文件面规则发生了改变,前面加了一个数字:

https://www.cndba.cn/dave/article/2966https://www.cndba.cn/dave/article/2966

[root@18c sysctl.d]# pwd

/etc/sysctl.d

[root@18c sysctl.d]# ls

99-sysctl.conf

[root@18c sysctl.d]#

我们可以查看帮助,对这块的解释:https://www.cndba.cn/dave/article/2966

[root@18c sysctl.d]# man sysctl.d

SYSCTL.D(5) sysctl.d SYSCTL.D(5)

NAME

sysctl.d - Configure kernel parameters at boot

SYNOPSIS

/etc/sysctl.d/*.conf

/run/sysctl.d/*.conf

/usr/lib/sysctl.d/*.conf

DESCRIPTION

At boot, systemd-sysctl.service(8) reads configuration files from the above directories to configure sysctl(8)

kernel parameters.

CONFIGURATION FORMAT

The configuration files contain a list of variable assignments, separated by newlines. Empty lines and lines

whose first non-whitespace character is "#" or ";" are ignored.

Note that either "/" or "." may be used as separators within sysctl variable names. If the first separator is a

slash, remaining slashes and dots are left intact. If the first separator is a dot, dots and slashes are

interchanged. "kernel.domainname=foo" and "kernel/domainname=foo" are equivalent and will cause "foo" to be

written to /proc/sys/kernel/domainname. Either "net.ipv4.conf.enp3s0/200.forwarding" or

"net/ipv4/conf/enp3s0.200/forwarding" may be used to refer to /proc/sys/net/ipv4/conf/enp3s0.200/forwarding.

Manual page sysctl.d(5) line 1 (press h for help or q to quit)...skipping...

SYSCTL.D(5) sysctl.d SYSCTL.D(5)

NAME

sysctl.d - Configure kernel parameters at boot

SYNOPSIS

/etc/sysctl.d/*.conf

/run/sysctl.d/*.conf

/usr/lib/sysctl.d/*.conf

DESCRIPTION

At boot, systemd-sysctl.service(8) reads configuration files from the above directories to configure sysctl(8)

kernel parameters.

CONFIGURATION FORMAT

The configuration files contain a list of variable assignments, separated by newlines. Empty lines and lines

whose first non-whitespace character is "#" or ";" are ignored.

Note that either "/" or "." may be used as separators within sysctl variable names. If the first separator is a

slash, remaining slashes and dots are left intact. If the first separator is a dot, dots and slashes are

interchanged. "kernel.domainname=foo" and "kernel/domainname=foo" are equivalent and will cause "foo" to be

written to /proc/sys/kernel/domainname. Either "net.ipv4.conf.enp3s0/200.forwarding" or

"net/ipv4/conf/enp3s0.200/forwarding" may be used to refer to /proc/sys/net/ipv4/conf/enp3s0.200/forwarding.

The settings configured with sysctl.d files will be applied early on boot. The network interface-specific options

will also be applied individually for each network interface as it shows up in the system. (More specifically,

net.ipv4.conf.*, net.ipv6.conf.*, net.ipv4.neigh.* and net.ipv6.neigh.*).

Many sysctl parameters only become available when certain kernel modules are loaded. Modules are usually loaded

on demand, e.g. when certain hardware is plugged in or network brought up. This means that systemd-

sysctl.service(8) which runs during early boot will not configure such parameters if they become available after

it has run. To set such parameters, it is recommended to add an udev(7) rule to set those parameters when they

become available. Alternatively, a slightly simpler and less efficient option is to add the module to modules-

load.d(5), causing it to be loaded statically before sysctl settings are applied (see example below).

CONFIGURATION DIRECTORIES AND PRECEDENCE

Configuration files are read from directories in /etc/, /run/, and /usr/lib/, in order of precedence. Each

configuration file in these configuration directories shall be named in the style of filename.conf. Files in

/etc/ override files with the same name in /run/ and /usr/lib/. Files in /run/ override files with the same name

in /usr/lib/.

Packages should install their configuration files in /usr/lib/. Files in /etc/ are reserved for the local

administrator, who may use this logic to override the configuration files installed by vendor packages. All

configuration files are sorted by their filename in lexicographic order, regardless of which of the directories

they reside in. If multiple files specify the same option, the entry in the file with the lexicographically

latest name will take precedence. It is recommended to prefix all filenames with a two-digit number and a dash,

to simplify the ordering of the files.

If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to

place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor

configuration file.

从Linux官方帮助的解释看,这种两位数字加横线的方式仅用于排序,没有其他含义,也就说不按这种格式来也没有问题。 https://www.cndba.cn/dave/article/2966https://www.cndba.cn/dave/article/2966

[root@18c sysctl.d]# mv 99-sysctl.conf sysctl.conf

[root@18c sysctl.d]# cat sysctl.conf

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

kernel.panic_on_oops = 30

然后用root执行sysctl -p让修改生效:

https://www.cndba.cn/dave/article/2966

https://www.cndba.cn/dave/article/2966https://www.cndba.cn/dave/article/2966https://www.cndba.cn/dave/article/2966

[root@18c sysctl.d]# sysctl -p

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

kernel.panic_on_oops = 30

版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值