Установите значение в /etc/zypp/zypp.conf через соль

Я хотел бы установить следующую настройку в /etc/zypp/zypp.conf через соль:

solver.allowVendorChange = true

Как это сделать?

Существует модуль для zypper, но я не нашел способа обновить вышеуказанные настройки:

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.zypper.html

2 ответа

Решение

В SaltStack есть общие модули модификации файлов и состояния. Например, вы можете использовать file.replace:

salt '*' file.replace /etc/zypp/zypp.conf pattern='solver.allowVendorChange = true' repl='solver.allowVendorChange = false'

Если строка вообще не существует, вы можете добавить ее к конфигурации в состоянии с помощью file.blockreplace:

   file.blockreplace:
  - name: /etc/zypp/zypp.conf
  - marker_start: "#BLOCK TOP: Salt managed entry, do not edit!"
  - marker_end: "#BLOCK BOTTOM: End of Salt managed entry"
  - content: |
     solver.allowVendorChange = true
  - show_changes: True
  - append_if_not_found: True

Вы должны быть в состоянии сделать это, используя file.sed:

salt '*' file.sed /etc/zypp/zypp.conf '^(#|)\s*solver.allowVendorChange(.+)?$' 'solver.allowVendorChange = true'
Другие вопросы по тегам