sysctl --system 和sysctl -p的区别
时间: 2023-08-19 13:41:10 浏览: 332
sysctl -p 和 sysctl --system 都是用来重新加载 /etc/sysctl.conf 配置文件的命令,它们的区别在于:
- sysctl -p 会重新加载 /etc/sysctl.conf 中所有的参数,并将它们写入内核中。如果文件中有某个参数的值发生了变化,那么这个新值会被写入内核中。
- sysctl --system 会重新加载 /etc/sysctl.conf 文件,并读取其中的所有参数。但是,它只会将那些还没有在内核中定义的参数,写入内核中。如果某个参数已经在内核中定义了,那么这个命令不会对它进行任何操作。
因此,如果你希望修改 /etc/sysctl.conf 文件中的某个参数,并将其立即写入内核中,那么应该使用 sysctl -p 命令。如果你不确定某个参数是否已经在内核中定义了,或者希望一次性将所有未定义的参数写入内核中,那么可以使用 sysctl --system 命令。
相关问题
sysctl --system 和sysctl -p的主要区别
sysctl -p和sysctl --system是两个不同的命令。
sysctl -p是用于重新加载/etc/sysctl.conf文件中的所有参数值。这个命令会读取该文件中的所有参数值,然后将这些值加载到内核中。如果您修改了/etc/sysctl.conf文件中的任何值,那么您需要运行这个命令才能使这些修改生效。
而sysctl --system则是用于重新加载/etc/sysctl.d/目录中所有.conf文件中的参数值。这个命令会读取该目录下所有.conf文件中的所有参数值,然后将这些值加载到内核中。如果您修改了这些文件中的任何值,那么您需要运行这个命令才能使这些修改生效。
因此,两个命令的主要区别在于它们读取参数值的位置。sysctl -p只读取/etc/sysctl.conf文件中的参数值,而sysctl --system则读取/etc/sysctl.d/目录下所有.conf文件中的参数值。
关于sysctl -p 和 sysctl --system ,man 中并没有像你这么写,只写了默认情况下他们加载的文件不同
非常抱歉,我的回答有误。你说得对,`sysctl -p` 和 `sysctl --system` 默认情况下都会加载 `/etc/sysctl.conf` 文件中的配置。它们之间的区别在于:
- `sysctl -p` 会加载 `/etc/sysctl.conf` 中的所有配置,并覆盖当前系统中对应的内核参数值。
- `sysctl --system` 会加载 `/usr/lib/sysctl.d/` 和 `/run/sysctl.d/` 中的所有配置,并覆盖当前系统中对应的内核参数值。此外,它还会加载 `/etc/sysctl.conf` 中的配置。
非常感谢你的指正,我会更加仔细地阅读 `man` 手册并认真回答你的问题。
阅读全文