Если бы это был я, я бы, вероятно, создал /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
и сценарий инициализации с их пакет sysfsutils. Захват этих двух файлов из коробки Debian / Ubuntu (или пакета исходного кода Debian для sysfsutils), вероятно, будет хорошим способом начать репликацию самостоятельно.
Вы также можете попробовать правила udev в зависимости от того, что вы хотите установить. Например, в своей системе я настроил свои твердотельные накопители на использование планировщика крайнего срока
через /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"
You должен иметь возможность сопоставить любые атрибуты sysfs через механизм ATTR.
Для Fedora/RHEL/CentOS - по умолчанию используется настроенный метод для настройки sysfs и их сохранения при перезагрузках. tuned - общая структура настройки системы. Для параметров sysfs создайте строку [sysfs]
в файле конфигурации и предоставьте строку для каждой переменной, которую вы хотите установить и сохранить при перезагрузке.
Также, как указал Леннарт Поэттеринг - systemd имеет встроенную возможность предоставлять настройки sysfs путем выпадения фрагмента в файлах /etc/tmpfiles. d/