缺少 procfs 和 sysctl 设置的默认值

缺少 procfs 和 sysctl 设置的默认值

我对于处理procfssysctl价值观有几个问题。

缺少 /proc 文件的情况下可以启用功能吗?

缺少/procsysctl条目是否总是意味着该选项未在该特定内核上启用?换句话说:在没有相应/proc条目的情况下,内核可以启用或支持某个功能吗?我认为没有人以某种方式更改内核源代码以删除填充的代码部分/proc

如果可以 - 它是否默认为特定值?

我想知道/proc如果相应的 proc-File 不存在,值是否默认为某个值。如果出于某种原因我的内核支持澳大利亚卫星定位系统,但/sys/kernel/randomize_va_space不存在,这是否会导致 aslr 处于活动状态?

所有设置下的行为都相同吗?

所有内核、版本和功能的行为是否相同?还是我必须针对每个设置单独获取此信息?

例如:

如果/proc/sys/kernel/sysrq我的机器上不存在,是否意味着

  1. Magic SysRQ 功能在我的内核上不可用?

  2. 可以使用吗?

  3. 它是否可用取决于我不知道的其他选项?

  4. 此功能的特定代码包含硬编码默认值,并且内核中每个功能的设置都不同?因此,如果我想知道其默认值,我必须查看每个功能的代码。

有好的文档我可以在哪里阅读内核设置的含义。是否有文档解释默认行为?

答案1

/proc/sys目录用于显示 Liunx 内核的“调整旋钮”。虽然很少见,但完全有可能某些内核功能在/proc或中没有任何条目/sys- 例如,如果该内核功能没有任何参数,也没有任何内容要发布给用户,则不需要任何条目。

但是如果内核文档有些条目记录/引用,但你可以不是找到它们,就会出现两种可能性:

  • 您正在使用旧内核,没有这些旋钮;
  • 你没有使用香草仁- 即您的内核或多或少被某人(可能是您的发行版维护者)大量定制。

/proc如果你认为你的内核启用了某些功能,但在和中找不到任何条目/sys,请查看你的内核配置文件(通常可通过/boot或 中的文件获取/proc/config.gz

相关内容