yum – Ansible:如果没有安装则更新选择包,如果没有安装
发布时间:2020-12-15 18:35:28 所属栏目:安全 来源:网络整理
导读:我有几十台主机,它们是CentOS 6和7的混合体.我最近开始使用Ansible来帮助管理它们,但我仍然是一个新手. 像每个人一样,我经常需要更新这些机器上的软件包,特别是出于安全考虑.但是,我不想更新它们上的所有软件包,只需更新特定的软件包 – 这些软件包可能因机
我有几十台主机,它们是CentOS 6和7的混合体.我最近开始使用Ansible来帮助管理它们,但我仍然是一个新手.
像每个人一样,我经常需要更新这些机器上的软件包,特别是出于安全考虑.但是,我不想更新它们上的所有软件包,只需更新特定的软件包 – 这些软件包可能因机器而异,具体取决于其角色.我使用了Ansible的yum命令,使用state = latest,以及特定软件包的列表,以便在过去更新这些主机,但直到今天我才注意到在针对主机运行时,如果未安装其中一个列出的软件包然后将在该机器上安装. 我需要的是一种向Ansible提供包列表的方法,然后对于每个主机它将采取行动: 有没有实用的方法呢?
如果您只想更新包含可用更新的软件包子集,您可能需要尝试@wurtel的尝试.您需要注册已安装的软件包,如下所示:
- name: Get installed packages. command: rpm -qa --qf "%{NAME}n" register: installed_packages 然后,您可以定义集合theory filter并更新允许更新packages_to_update的程序包列表中定义的所有程序包. - name: Update subset of packages. yum: name: "{{ item }}" state: latest with_items: - {{ installed_packages | intersect(packages_to_update) }} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |