使 sysfs 参数在重新启动后保持不变的建议

eww*_*ite 11 linux configuration-management sysctl

我正在尝试对通过 sysfs 虚拟文件系统公开的Linux 系统运行时参数进行大量更改

维护这些参数的最有效方法是什么,以便它们在 RHEL/CentOS 风格的系统上重新启动后仍然存在?

它只是将命令转储到 /etc/rc.local 的情况吗?是否有非常适合此的初始化脚本?我也在从配置管理的角度考虑标准化。是否有一个干净的 sysfs 相当于sysctl

Chr*_*ell 6

如果是我,我可能会创建一个/etc/sysfs.conf, 和一个/etc/init.d/sysfsutilsinit 脚本。然后我可以将所有与 sysfs 相关的配置和选项与其他所有内容分开。使用 init 脚本,可以使用标准习惯用法通过 SysV init 脚本(包括service sysfsutils [start|stop|reload|restart|status]在 RHEL/CentOS 上(需要做一些额外的工作)来管理服务和配置)来管理和处理它。

即使我不打扰/etc/init.d/sysfsutils脚本,我仍然会将选项放入/etc/sysfs.conf然后从单独的脚本调用/处理该文件的内容(/etc/rc.local作为最后/懒惰的选项)。

注意:Debian 和基于 Debian 的发行版(Ubuntu 等)已经这样做了,并且/etc/sysfs.conf随其 sysfsutils 包一起提供了一个配置文件和 init 脚本。从 Debian/Ubuntu 机器(或 sysfsutils 的 Debian 源包)获取这两个文件可能是开始自己复制它的好方法。


Ram*_*man 6

您还可以根据要设置的内容尝试 udev 规则。例如,在我的系统上,我deadline通过/etc/udev/rules.d/60-ssd-scheduler.rules包含以下内容将我的 SSD 设置为使用调度程序:

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
Run Code Online (Sandbox Code Playgroud)

您应该能够通过 ATTR 机制匹配任何 sysfs 属性


joh*_*n64 5

尝试一下这个sysfsutils包。特别是,/etc/sysfs.conf应该在这方面提供帮助。

  • 实际上 rc.local 在我看来也不是一个坏方法。 (2认同)