【问题标题】:ansible package vs yum moduleansible 包与 yum 模块
【发布时间】:2018-02-20 09:36:33
【问题描述】:

我是 Ansible 世界的新手。我已经创建了一些剧本,并且我对这项技术越来越熟悉。 在我的剧本中,我一直使用命令yum 来安装和管理新软件包,但最近我发现另一个命令package 声称与操作系统无关。

因此我的问题是:它们之间有什么区别?

特别是,如果我创建了一个我知道将在 RHEL 环境中执行的角色和剧本(其中 yum 是默认的包管理器),那么使用命令 package 而不是 @987654324 可以获得哪些优势@?

提前感谢您的帮助。

【问题讨论】:

    标签: ansible


    【解决方案1】:

    Ansible package 模块根据现有事实自动检测您的操作系统默认包管理器(例如 yum、apt)。

    实际存储的环境变量是"ansible_pkg_mgr"

    这是一个相同的命令。 ansible localhost -m setup | grep ansible_pkg_mgr.

    如果您在您的环境中使用多个操作系统,那么您应该使用 package 而不是 yum or apt,而不是指定包管理器。

    【讨论】:

    • package 在特定模块(aptyum、...)上是否有任何缺点,或者换句话说,“你应该选择yum/@ 987654330@/apt 如果您在多操作系统环境中?如果是,为什么是@deepak?
    【解决方案2】:

    Ansible 包模块更通用但看起来您仍然需要处理包名称的差异。来自package module

    # This uses a variable as this changes per distribution.
    - name: remove the apache package
      package:
        name: "{{ apache }}"
        state: absent
    

    在这种情况下,包名称为:

    • RHEL - httpd
    • Debian/Ubuntu - apache2

    所以{{ apache }}变量必须根据操作系统设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 2022-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多