我最近学会了执行sudo systemctl edit <SERVICE>
而不是编辑下面的服务文件/lib/systemd/...
问题是,我想用 ansible 来做到这一点。
这对于 systemd 模块或服务模块来说似乎都是不可能的:
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/systemd_module.html
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/service_module.html
我是否缺少一个选项,或者我必须手动执行此操作?
答案1
在 systemd 上将systemctl edit <service>
创建一个到/etc/systemd/system/<service>.service.d
.这是我所做的,从一个角色中摘录:
# file module will create a directory if missing
- name: Create <service>.service.d directory
file:
path: /etc/systemd/system/<service>.service.d/
state: directory
owner: root
group: root
mode: 0755
# template module will create a file
- name: Copy <service>.service drop-in
template:
src: <service>.service.j2
dest: /etc/systemd/system/<service>.service.d/override.conf
owner: root
group: root
mode: 0644
notify: daemon-reload # Don't forget to do `systemctl daemon-reload`!
如果您有非同质设置,则可以使用when
和/或来扩展此功能。group_vars
希望这可以帮助!