community.general.dnf_versionlock 模块 – 锁定 dnf
基于系统的软件包版本
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要其他要求才能使用此模块,有关详细信息,请参阅 需求。
要在 playbook 中使用它,请指定:community.general.dnf_versionlock
。
community.general 4.0.0 中的新增功能
概要
使用基于
dnf
系统中的versionlock
插件锁定软件包版本。此插件获取软件包的一组名称和版本,并排除这些软件包的所有其他版本。例如,这允许您保护软件包不被更新到较新版本。locklist
反映软件包锁定状态的插件。
需求
执行此模块的主机需要以下需求。
dnf
dnf-plugin-versionlock
参数
参数 |
注释 |
---|---|
不要将软件包名称规范解析为 NEVRAs 以查找要锁定的特定版本。而是按原样使用软件包名称规范。这使得可以锁定尚未可用的软件包版本。 选项
|
|
是添加到 (
选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:部分
有时,模块可能会预测 |
可以在 |
|
支持:无 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
备注
注意
理想情况下,
versionlock
插件应该有一个试运行选项,以便确切地知道将会发生什么。到目前为止,我们必须使用尽可能接近其代码推断行为的最佳猜测。对于大多数需要锁定和解锁特定软件包版本的情况,此方法运行良好。
示例
- name: Prevent installed nginx from being updated
community.general.dnf_versionlock:
name: nginx
state: present
- name: Prevent multiple packages from being updated
community.general.dnf_versionlock:
name:
- nginx
- haproxy
state: present
- name: Remove lock from nginx to be updated again
community.general.dnf_versionlock:
package: nginx
state: absent
- name: Exclude bind 32:9.11 from installs or updates
community.general.dnf_versionlock:
package: bind-32:9.11*
state: excluded
- name: Keep bash package in major version 4
community.general.dnf_versionlock:
name: bash-0:4.*
raw: true
state: present
- name: Delete all entries in the locklist of versionlock
community.general.dnf_versionlock:
state: clean
返回值
常见的返回值已在此处记录,以下是此模块独有的字段
键 |
描述 |
---|---|
模块执行后的锁定列表。 返回值:成功且(非检查模式或状态干净) 示例: |
|
模块执行前的锁定列表。 返回值:成功 示例: |
|
versionlock 即将添加的软件包名称规范。 返回值:成功 示例: |
|
versionlock 即将删除的软件包名称规范。 返回值:成功 示例: |