“的变体;Ansible LINEINFLE添加重复行“;
我试图让ansible在ubuntu中配置无人值守的升级。不幸的是,在多次运行角色时,我会得到重复的行 这是我的密码:“的变体;Ansible LINEINFLE添加重复行“;,ansible,Ansible,我试图让ansible在ubuntu中配置无人值守的升级。不幸的是,在多次运行角色时,我会得到重复的行 这是我的密码: - name: apt | Configure unattended-upgrades lineinfile: dest: /etc/apt/apt.conf.d/50unattended-upgrades regexp: "{{ item }}" line: "{{ harden_linux_unattended_up
- name: apt | Configure unattended-upgrades
lineinfile:
dest: /etc/apt/apt.conf.d/50unattended-upgrades
regexp: "{{ item }}"
line: "{{ harden_linux_unattended_upgrades_settings[item] }}"
state: present
with_items:
- "{{ harden_linux_unattended_upgrades_settings | list }}"
及
运行它的结果是,它第一次工作正常。每次之后,我都会得到这个结果,并且(奇怪的是只有一些)重复行:
changed: [cloud-host] => (item=^Unattended-Upgrade::Mail)
changed: [cloud-host] => (item=^Unattended-Upgrade::MailReport)
ok: [cloud-host] => (item=^Unattended-Upgrade::Remove-Unused-Kernel-Packages)
ok: [cloud-host] => (item=^Unattended-Upgrade::Remove-Unused-Dependencies)
changed: [cloud-host] => (item=^Unattended-Upgrade::Automatic-Reboot)
changed: [cloud-host] => (item=^Unattended-Upgrade::Automatic-Reboot-Time)
在文件末尾显示以下内容:
Unattended-Upgrade::Mail "john@doe.com";
Unattended-Upgrade::Mail "john@doe.com";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Mail "john@doe.com";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Mail "john@doe.com";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Mail "john@doe.com";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::MailReport "on-change";
Unattended-Upgrade::Automatic-Reboot-Time "2:50";
我看到很多线程都有重复行的问题,但我无法确定我的问题。特别是,我不明白为什么这似乎与
Unattended-Upgrade::Remove-Unused-Kernel-Packages
及
我只是看不出和其他线路有什么区别
编辑: 谢谢你非常有用的回答!这就是我的结局(我也改变了其他部分): 及 你有:
"^Unattended-Upgrade::Automatic-Reboot": 'Unattended-Upgrade::Automatic-Reboot "true";'
"^Unattended-Upgrade::Automatic-Reboot-Time": 'Unattended-Upgrade::Automatic-Reboot-Time "2:50";'
第一个正则表达式^无人值守升级::自动重新启动
同时匹配:无人值守升级::自动重新启动
和无人值守升级::自动重新启动时间
因此,第二次,它执行以下操作:
- 匹配无人值守升级::自动重新启动,不执行任何操作
- 匹配
并将其替换为无人值守升级::自动重新启动时间
无人值守升级::自动重新启动
- 由于不再有
,它会将其添加回去无人值守升级::自动重新启动时间
自动重新启动
和1个自动重新启动时间
对于无人值守升级::邮件
和无人值守升级::邮件报告
您可以通过匹配以下“
Unattended-Upgrade::Remove-Unused-Dependencies
- name: apt | Configure unattended-upgrades
lineinfile:
dest: /etc/apt/apt.conf.d/50unattended-upgrades
regexp: "^{{ item }}\\s"
line: '{{ item }} "{{ harden_linux_unattended_upgrades_settings[item] }}";'
state: present
with_items:
- "{{ harden_linux_unattended_upgrades_settings | list }}"
harden_linux_unattended_upgrades_settings:
"Unattended-Upgrade::Mail": "{{ ubuntu_common_email }}"
"Unattended-Upgrade::MailReport": "on-change" # later if working set to "only-on-error"
"Unattended-Upgrade::Remove-Unused-Kernel-Packages": "true"
"Unattended-Upgrade::Remove-Unused-Dependencies": "true"
"Unattended-Upgrade::Automatic-Reboot": "true"
"Unattended-Upgrade::Automatic-Reboot-Time": "2:50"
"^Unattended-Upgrade::Automatic-Reboot": 'Unattended-Upgrade::Automatic-Reboot "true";'
"^Unattended-Upgrade::Automatic-Reboot-Time": 'Unattended-Upgrade::Automatic-Reboot-Time "2:50";'