nic*_*wde 4 debian idempotent ansible
我试图列出Debian\xc2\xa07 (Wheezy)、8 (Jessie) 和9 (Stretch) 机器上所有已安装的软件包。有一些简单的方法可以使用APT或来处理它dpkg,但我找不到使用 Ansible 开箱即用的正确方法来做到这一点。
有没有一种好的、顺利的方法来做到这一点?
\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\'\nRun Code Online (Sandbox Code Playgroud)\n请注意,您需要 Debian 上的 ansible-apt 模块(由bootstrap提供)。
\n