我是Ansible世界的新手。我已经创建了一些剧本,并且每天对这项技术的了解越来越多。在我的剧本中,我一直使用该命令yum来安装和管理新软件包,但是最近我发现了另一个package声称独立于操作系统的命令。
因此,我的问题是:它们之间有什么区别?
特别是,如果我创建了一个角色和一个剧本,并且知道该剧本将在RHEL环境(yum是默认的程序包管理器)中执行,那么从使用命令package而不是从中获得什么好处yum?
在此先感谢您的帮助。
Ansiblepackage模块根据现有事实自动检测您的操作系统默认包管理器(例如 yum、apt)。
存储的事实环境变量是"ansible_pkg_mgr".
这是相同的命令。
ansible localhost -m setup | grep ansible_pkg_mgr.
如果您在您的环境中使用多个操作系统,那么您应该使用packageover而不是指定包管理器yum or apt。
Ansible 包模块更通用,但看起来您仍然必须处理包名称的差异。从包模块
# This uses a variable as this changes per distribution.
- name: remove the apache package
package:
name: "{{ apache }}"
state: absent
Run Code Online (Sandbox Code Playgroud)
在这种情况下,包名称为:
所以{{ apache }}必须根据操作系统设置变量。
| 归档时间: |
|
| 查看次数: |
3529 次 |
| 最近记录: |