Я экспериментирую с большими изменения в параметрах выполнения системы Linux предоставляется через виртуальную файловую систему sysfs.
Каков наиболее эффективный способ поддерживать эти параметры, чтобы они сохранялись при перезагрузках в системе в стиле RHEL / CentOS?
Это просто сброс команд в /etc/rc.local? Есть ли сценарий инициализации, который подходит для этого? Я также думаю о стандартизации с точки зрения управления конфигурацией. Есть ли чистый sysfs, эквивалентный sysctl
?
Если бы это был я, я бы, наверное, создал /etc/sysfs.conf
, и /etc/init.d/sysfsutils
сценарий инициализации. Тогда я мог бы хранить все мои конфигурации и параметры, связанные с sysfs, отдельно от всего остального. С помощью сценария инициализации им можно было управлять и обрабатывать, используя стандартные идиомы для управления службами и конфигурациями через сценарии инициализации SysV (включая 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
config и сценарий инициализации с их пакетом sysfsutils. Захват этих двух файлов из ящика Debian / Ubuntu (или исходного пакета Debian для sysfsutils), вероятно, будет хорошим способом начать репликацию самостоятельно.
Вы также можете попробовать правила udev в зависимости от того, что вы хотите установить. Например, в своей системе я настроил свои твердотельные накопители на использование deadline
планировщик через /etc/udev/rules.d/60-ssd-scheduler.rules
содержащий:
# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
Ты должен быть способен соответствовать любым атрибутам sysfs через механизм ATTR.
Попробуйте sysfsutils
пакет. В частности, /etc/sysfs.conf
должен помочь с этим.
Для Fedora / RHEL / CentOS - методом по умолчанию для настройки sysfs и сохранения его при перезагрузках является использование tuned. настроен это общая инфраструктура настройки системы. Для sysfs параметры, создайте [sysfs]
в вашем файле конфигурации и укажите строку для каждой переменной, которую вы хотите установить и сохранять при перезагрузке.
Также как Леннарт Поеттеринг указал - systemd имеет встроенную возможность предоставлять настройки sysfs путем добавления фрагмента в /etc/tmpfiles.d/