我想通过 salt 在 /etc/zypp/zypp.conf 中设置以下设置:
solver.allowVendorChange = true
这个怎么做?
有一个适用于 zypper 的模块,但是我发现没有办法更新上述设置:
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.zypper.html
答案1
SaltStack 中有通用的文件修改模块和状态。例如,你可以使用文件替换:
salt '*' file.replace /etc/zypp/zypp.conf pattern='solver.allowVendorChange = true' repl='solver.allowVendorChange = false'
如果该行根本不存在,你可以使用以下命令将其附加到配置中文件.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
答案2
你应该能够使用文件.sed:
salt '*' file.sed /etc/zypp/zypp.conf '^(#|)\s*solver.allowVendorChange(.+)?$' 'solver.allowVendorChange = true'