【发布时间】:2020-03-10 12:02:06
【问题描述】:
我想运行一个能够准确报告远程服务器是否需要安全更新的剧本。 Ansible 服务器 = Centos 7,远程服务器 Amazon Linux。
远程服务器会在启动时突出显示如下内容:
https://aws.amazon.com/amazon-linux-2/ 安全需要 8 个包,46 个可用 运行“sudo yum update”以应用所有更新。
为了证实这一点,我整理了一本剧本,从许多来源(如下)拼凑而成,它们确实在一定程度上执行了该功能。它确实建议远程服务器是否需要安全更新,但没有说明这些更新是什么?
- name: check if security updates are needed
hosts: elk
tasks:
- name: check yum security updates
shell: "yum updateinfo list all security"
changed_when: false
register: security_update
- debug: msg="Security update required"
when: security_update.stdout != "0"
- name: list some packages
yum: list=available
然后,当我运行更新安装手册时:
- hosts: elk
remote_user: ansadm
become: yes
become_method: sudo
tasks:
- name: Move repos from backup to yum.repos.d
shell: mv -f /backup/* /etc/yum.repos.d/
register: shell_result
failed_when: '"No such file or directory" in shell_result.stderr_lines'
- name: Remove redhat.repo
shell: rm -f /etc/yum.repos.d/redhat.repo
register: shell_result
failed_when: '"No such file or directory" in shell_result.stderr_lines'
- name: add line to yum.conf
lineinfile:
dest: /etc/yum.conf
line: exclude=kernel* redhat-release*
state: present
create: yes
- name: yum clean
shell: yum make-cache
register: shell_result
failed_when: '"There are no enabled repos" in shell_result.stderr_lines'
- name: install all security patches
yum:
name: '*'
state: latest
security: yes
bugfix: yes
skip_broken: yes
安装后,您会得到类似于下面的内容(顺便说一句 - 这些是来自不同服务器的输出)
https://aws.amazon.com/amazon-linux-2/ 无需包裹以确保安全; 37 包可用 运行“sudo yum update”以应用所有更新。
但如果我再次运行我的列表安全更新手册 - 它会给出误报,因为它仍然报告需要安全更新?
PLAY [检查是否需要安全更新] ************************************
任务[收集事实] ****************************************** *************** 好的:[10.10.10.192]
任务 [检查 yum 安全更新] **************************************** ****** 好的:[10.10.10.192]
任务[调试] ******************************************* ************************ 好的:[10.10.10.192] => { "msg": "需要安全更新" }
TASK [列出一些包] ***************************************** ************* 好的:[10.10.10.192]
播放回顾 ************************************************ ************************ 10.10.10.192 : ok=4 changed=0 unreachable=0 failed=0 skipped=0 saved=0 ignored=0
[ansadm@ansible 剧本]$
我需要在 playbook 中省略/包含哪些内容以反映安装更新后的更改?
提前致谢:)
【问题讨论】: