如何使用 Ansible 获取已安装的 apt 软件包?

nic*_*wde 4 debian idempotent ansible

我试图列出Debian\xc2\xa07 (Wheezy)、8 (Jessie) 和9 (Stretch) 机器上所有已安装的软件包。有一些简单的方法可以使用APT或来处理它dpkg,但我找不到使用 Ansible 开箱即用的正确方法来做到这一点。

\n

有没有一种好的、顺利的方法来做到这一点?

\n

对于RHEL机器,我找到了这篇文章:How can I get the Installed YUM packages with Ansible?

\n

小智 8

从 Ansible 2.5 开始,您可以使用 package_facts 模块:\n ansible.builtin.package_facts 模块 \xe2\x80\x93 包信息作为事实

\n
- name: Gather package facts\n  package_facts:\n    manager: auto\n\n- name: Debug if package is present\n  debug:\n    msg: \'yes, mypackage is present\'\n  when: \'"mypackage" in ansible_facts.packages\'\n\n- name: Debug if package is absent\n  debug:\n    msg: \'no, mypackage is absent\'\n  when: \'"mypackage" not in ansible_facts.packages\'\n
Run Code Online (Sandbox Code Playgroud)\n

请注意,您需要 Debian 上的 ansible-apt 模块(由bootstrap提供)。

\n