ansible.builtin.dnf5 模块 – 使用 dnf5 包管理器管理包
注意
此模块是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使没有指定 集合关键字,您也可以使用简短的模块名称 dnf5
。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.dnf5
,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合发生冲突。
ansible-core 2.15 中的新功能
概要
使用 dnf5 包管理器安装、升级、删除和列出包和组。
警告:dnf5 包管理器仍在开发中,并非所有现有的 ansible.builtin.dnf 模块提供的功能都已在 ansible.builtin.dnf5 中实现,请咨询具体选项以获取更多信息。
需求
以下需求是在执行此模块的主机上需要的。
python3-libdnf5
参数
参数 |
注释 |
---|---|
指定是否允许降级已安装的更高版本的包。请注意,设置 选择
|
|
如果为 选择
|
|
如果为 选择
|
|
如果设置为 如果设置为 默认值由操作系统发行版设置。 选择
|
|
如果设置为 请注意,与 选择
|
|
告诉 dnf 完全从系统缓存运行;不下载或更新元数据。 选择
|
|
要用于事务的远程 dnf 配置文件。 |
|
禁用在 DNF 配置文件中定义的排除项。 如果设置为 如果设置为 如果设置为 |
|
是否禁用对正在安装的包的签名的 GPG 检查。仅在 此设置会影响从存储库安装的包以及从文件系统或 URL 安装的“本地”包。 选择
|
|
要为安装/更新操作禁用的 插件 名称。禁用的插件不会在事务之外持续存在。
需要 python3-libdnf5 5.2.0.0+ 默认: |
|
要为安装/更新操作禁用的存储库的 Repoid。这些存储库不会在事务之外持续存在。当指定多个存储库时,用 默认: |
|
指定一个用于存储包的备用目录。 仅当指定了 |
|
仅下载包,不安装它们。 选择
|
|
要为安装/更新操作启用的 插件 名称。启用的插件不会在事务之外持续存在。
需要 python3-libdnf5 5.2.0.0+ 默认: |
|
要为安装/更新操作启用的存储库的 Repoid。这些存储库不会在事务之外持续存在。当指定多个存储库时,用 默认: |
|
当 默认: |
|
这在 DNF 中实际上是一个空操作,因为它在 DNF 中不需要。 此选项已弃用,将在 ansible-core 2.20 中删除。 选择
|
|
还将安装所有通过弱依赖关系链接的包。 选择
|
|
指定相对于所有包将被安装的备用安装根目录。 默认: |
|
与 |
|
这目前是一个空操作,因为 dnf5 不提供配置它的选项。 等待 dnf 锁文件释放的时间量。 默认: |
|
包名或带有版本的包说明符,例如 包版本的比较运算符在这里有效 您也可以传递包提供要安装的二进制文件的绝对路径。有关更多信息,请参见示例。 默认: |
|
指定将从其安装所有包的备用发行版。 |
|
如果设置为 请注意,与 选择
|
|
跳过所有不可用的包或依赖项损坏的包,而不会引发错误。相当于传递 选择
|
|
禁用此事务的存储库服务器的 SSL 验证。 如果配置的存储库之一使用不可信或自签名证书,则应将其设置为 选择
|
|
是否安装 ( 默认值为 选择
|
|
这在 dnf5 模块中实际上是一个无操作,因为 dnf5 本身处理将 https url 作为 rpm 的来源进行下载,但这作为接受参数,是为了与 ansible.builtin.dnf 模块的功能奇偶校验/兼容性保持一致。 选择
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:部分 dnf5 有 2 个在幕后使用它的操作插件,ansible.builtin.dnf 和 ansible.builtin.package。 |
指示这具有相应的操作插件,因此某些选项部分可以在控制器上执行 |
|
支持:无 |
支持与 |
|
支持:无 |
强制执行“全局”任务,该任务不会按主机执行,这会绕过按主机执行的模板和串行、节流和其他循环考虑因素 条件将像使用 此操作在非锁步策略之外无法正常工作 |
|
支持:完全 |
可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测,如果不支持,则将跳过该操作。 |
|
支持:完全 |
将在 diff 模式下返回有关发生了哪些更改(或可能需要在 check_mode 下进行更改)的详细信息 |
|
平台: rhel |
可以对其进行操作的目标操作系统/系列 |
示例
- name: Install the latest version of Apache
ansible.builtin.dnf5:
name: httpd
state: latest
- name: Install Apache >= 2.4
ansible.builtin.dnf5:
name: httpd >= 2.4
state: present
- name: Install the latest version of Apache and MariaDB
ansible.builtin.dnf5:
name:
- httpd
- mariadb-server
state: latest
- name: Remove the Apache package
ansible.builtin.dnf5:
name: httpd
state: absent
- name: Install the latest version of Apache from the testing repo
ansible.builtin.dnf5:
name: httpd
enablerepo: testing
state: present
- name: Upgrade all packages
ansible.builtin.dnf5:
name: "*"
state: latest
- name: Update the webserver, depending on which is installed on the system. Do not install the other one
ansible.builtin.dnf5:
name:
- httpd
- nginx
state: latest
update_only: yes
- name: Install the nginx rpm from a remote repo
ansible.builtin.dnf5:
name: 'https://nginxserver.cn/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm'
state: present
- name: Install nginx rpm from a local file
ansible.builtin.dnf5:
name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
state: present
- name: Install Package based upon the file it provides
ansible.builtin.dnf5:
name: /usr/bin/cowsay
state: present
- name: Install the 'Development tools' package group
ansible.builtin.dnf5:
name: '@Development tools'
state: present
- name: Autoremove unneeded packages installed as dependencies
ansible.builtin.dnf5:
autoremove: yes
- name: Uninstall httpd but keep its dependencies
ansible.builtin.dnf5:
name: httpd
state: absent
autoremove: no
返回值
常见的返回值在 此处 有记录,以下是此模块特有的字段
键 |
描述 |
---|---|
dnf 事务失败的列表 返回:失败 示例: |
|
有关结果的附加信息 返回:始终 示例: |
|
为了兼容性,成功为 0,失败为 1 返回:始终 示例: |
|
dnf 事务结果的列表 返回:成功 示例: |