gpt4 book ai didi

linux - 使用 Ansible 列出已安装软件包的通用方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:33:42 24 4
gpt4 key购买 nike

现在,在我当前的设置中,我将 Ansible 与 CentOs 主机一起使用。其中一项任务包含以下行:

command: yum list installed somepackagename

如上所示,该任务仅适用于支持 yum 的主机,但如果我想在 Ubuntu 或其他 Linux 发行版上运行它怎么办?
在网上搜索了一下后,我发现有一个名为 package 的通用包管理器。有了这个,我安装/卸载包而不用担心底层主机,但没有像上面看到的那样做 list 之类的事情。是否有任何模块或任何方法可以以通用方式实现此目的而无需创建多个 when

最佳答案

问:使用 Ansible 列出已安装软件包的通用方法

A: 使用模块 package_facts .该模块在 ansible_facts.packages

中返回事实
- name: Gather the package facts
package_facts:
- name: Print the package facts
debug:
var: ansible_facts.packages

问:有一个名为 package 的通用包管理器 ... 安装/卸载包而不用担心底层主机

A:如何完全不“担心底层主机”的一个选项是在变量中包含特定于操作系统的包。例如:

    - name: vars
include_vars:
file: "{{ item }}"
with_first_found:
- files:
- "{{ ansible_distribution }}-{{ ansible_distribution_release }}.yml"
- "{{ ansible_distribution }}.yml"
- "{{ ansible_os_family }}.yml"
- "default.yml"
paths: '{{ role_path }}/vars'

关于linux - 使用 Ansible 列出已安装软件包的通用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53333097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com