Ade*_*lin 8 linux linux-networking sysctl proc
在典型的 Linux 机器上,您可以通过修改位于 的文件来更改内核配置/proc/*。
例如,对于accept_dad特定网络接口(例如eth0)的 IPv6 参数,您需要修改以下文件:
/proc/sys/net/ipv6/conf/eth0/accept_dad
Run Code Online (Sandbox Code Playgroud)
但是,正如我最近发现的,有一个广泛传播的工具,sysctl它具有相同的目的,并且工作原理如下:
sysctl -w net.ipv6.conf.eth0.accept_dad=1
Run Code Online (Sandbox Code Playgroud)
我的问题是,我们什么时候应该使用哪种工具?我的直觉告诉我,如果您知道自己在做什么,则应该直接写入文件,但是,如果您想要验证而不需要什么,则应该使用sysctl.
由于sysctl是我们可以直接控制的东西的另一层,我认为通过使用它,我们将自己暴露在潜在的错误中,而这些错误是通过直接写入文件来避免的。
sysctl是一个读取和修改各种内核属性的工具。它可以在许多类 Unix 操作系统中使用,不仅包括 Linux,还包括 OpenBSD 和 FreeBSD。sysctl通常既可以作为 shell 命令也可以作为系统调用使用。
在 Linux 中,该sysctl机制还作为procfs虚拟文件系统的一部分公开,位于/proc/sys.
请注意, Linux 中不推荐使用该sysctl系统调用;建议使用(直接或通过shell 命令)。/proc/syssysctl
参考:
| 归档时间: |
|
| 查看次数: |
1697 次 |
| 最近记录: |