在典型的 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是我们可以直接控制的东西的另一层,我认为通过使用它,我们将自己暴露在潜在的错误中,而这些错误是通过直接写入文件来避免的。