Пропозиції щодо створення параметрів sysfs зберігаються через перезавантаження


10

Я експериментую з великими змінами параметрів виконання системи Linux, відкритих через віртуальну файлову систему sysfs.

Який найефективніший спосіб підтримувати ці параметри так, щоб вони зберігалися під час перезавантаження системи RHEL / CentOS?

Це просто випадок скидання команд у /etc/rc.local? Чи є сценарій init, який підходить для цього? Я також думаю про стандартизацію з точки зору управління конфігурацією. Чи є еквівалентний чистий sysfs sysctl?

Відповіді:


6

Якби це я, я, мабуть, створив би /etc/sysfs.confі /etc/init.d/sysfsutilsсценарій init. Тоді я міг би тримати всі свої конфігурації та параметри, пов'язані з sysfs, окремо від усього іншого. За допомогою сценарію init можна керувати ним та керувати ним, використовуючи стандартні ідіоми для керування послугами та конфігураціями через скрипти init 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надсилають конфігураційний файл та скрипт init зі своїм пакетом sysfsutils. Схоплення цих двох файлів із вікна Debian / Ubuntu (або вихідного пакета Debian для sysfsutils), ймовірно, буде хорошим способом почати самостійно його реплікацію.


Це варіант, але я б боюсь змін / оновлень ОС, які можуть заважати цим налаштуванням.
ewwhite

@ewwhite: Якщо ви хочете гарантувати, що жодне оновлення / зміна ОС, яке надається виробником, не заважатиме цьому, ви будете обмежені роботою під /usr/localабо /opt. Я, мабуть, хотів би отримати шанс для невеликої кількості машин (з усіма важливими бітами). Для великої кількості коробок я б дублював налаштування, описане вище, але внизу /usr/local, з посиланнями з /etc/і /etc/init.dвідповідно. І / або я, мабуть, будую RPM для встановлення / розповсюдження файлів.
Крістофер Кашелл

5

Ви також можете спробувати правила udev залежно від того, що ви хочете встановити. Наприклад, у своїй системі я встановив свої SSD для використання 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.


Цікаво. Я ніколи цього не вважав.
ewwhite

ці правила виглядають добре, чому distros не доставляє це?
把 友情 留 在 无 盐

4

Спробуйте sysfsutilsпакет. Зокрема, /etc/sysfs.confмає допомогти у цьому.


2
насправді rc.local - це не поганий метод, на мій погляд.
johnshen64

Зауважте, що /etc/sysfsutils.confсценарій для його застосування не є частиною висхідного пакету (як пояснено у відповіді Крістофера). Він присутній лише в деяких дистрибутивах, наприклад, не в Arch Linux. Я налаштував systemd шукатиrc.local і використовував це на своєму робочому столі Arch.
Пітер Кордес

3

Для Fedora / RHEL / CentOS - методом за замовчуванням для налаштування sysfs та його збереження через перезавантаження є використання налаштованих. настроєна загальна інфраструктура налаштування системи. Для параметрів sysfs створіть [sysfs]строфу у своєму конфігураційному файлі та вкажіть рядок на змінну, яку ви хочете встановити та зберігатимуться через перезавантаження.

Крім того, як зазначив Леннарт Поутеринг - systemd має вроджену здатність забезпечувати налаштування sysfs за допомогою скидання фрагмента в/etc/tmpfiles.d/


мертве посилання: fedorahosted зараз відкликаний . tunedGoogle дуже важко (губиться від шуму загального англійського слова, яке також дуже часто використовується, коли говорити про налаштування sysfs), але швидкий пошук знайшов цю сторінку про це: docs.fedoraproject.org/en-US/Fedora / 20 / html /… .
Пітер Кордес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.