我有多个RPM列表(每个configuration一个)和一组远程机器。 每个列表都包含在我select的configuration中运行我的机器所需的所有 RPM。
对于给定的configuration和机器,我需要确保:
我一直在研究Ansible和它的yum模块 ,但是虽然很容易确保已经安装了RPM,但是我找不到指定应该卸载任何其他RPM的方法。
什么是这样做的好方法?
就在那里,在你链接的文档中:
- name: remove the Apache package yum: name=httpd state=absent
请注意,它也可以应用于组:
- name: install the 'Development tools' package group yum: name="@Development tools" state=absent
但是,如果您的要求是确保没有安装不在您的清单中的包裹,您应该开始检查您的供应程序,即如果机器自成立以来一直处于控制之下,则不应该有任何控制权限包要安装。
rpm -qa
将列出所有安装的RPM。 您可以简单地将已知的良好服务器输出保存到txt文件,然后对其他服务器运行diff。
我没有使用Ansible,但可能可以使用此输出来列出要删除的软件包。