Ansible内置模块之package

原创:厦门微思网络

Ansible内置模块之 package

ansible.builtin.package 模块用于管理基于 Linux 系统上的软件包。它是一个通用模块,支持多个包管理器(如 apt、yum、dnf、zypper 等),可以安装、更新和删除软件包。其功能与ansible.builtin.dnf内置模块类似, 由于它能够支持更多的包管理工具, 所以能够兼容更多的Linux发行版.

1. 选 项 说 明

|-------------------|----|----------|---------|----------------------------------------|
| 选项 | 必须 | 类型 | 默认值 | 说明 |
| name | 是 | str/list | 无 | 要安装、删除或更新的软件包名称。可以是一个包名或列表 |
| state | 否 | str | present | 软件包的状态。可以是 present、absent、latest |
| manager | 否 | str | auto | 指定包管理器类型,如 apt、yum、dnf、zypper 等。默认自动检测 |
| disable_gpg_check | 否 | bool | no | 如果为 yes,禁用 GPG 签名检查 |
| enablerepo | 否 | list | 无 | 启用指定的仓库 |
| disablerepo | 否 | list | 无 | 禁用指定的仓库 |
| conf_file | 否 | str | 无 | 使用指定的配置文件 |
| releasever | 否 | str | 无 | 使用指定的发行版本 |
| update_cache | 否 | bool | no | 如果为 yes,在安装或更新软件包之前更新包缓存 |

2. 用 例

使用自动检测的包管理器安装软件包

  • name: Install a package

ansible.builtin.package:

name: httpd

state: present

指定包管理器安装软件包

  • name: Install a package using yum

ansible.builtin.package:

name: httpd

state: present

manager: yum

删除软件包

  • name: Remove a package

ansible.builtin.package:

name: httpd

state: absent

更新所有软件包

  • name: Update all packages

ansible.builtin.package:

name: '*'

state: latest

启用和禁用仓库

  • name: Install a package with specific repositories enabled and disabled

ansible.builtin.package:

name: httpd

enablerepo: epel

disablerepo: remi

state: present

根据条件安装软件包

  • name: Install httpd if not installed

ansible.builtin.package:

name: httpd

state: present

when: "'httpd' not in ansible_facts.packages"

根据发行版本安装特定软件包

  • name: Install a specific version of a package

ansible.builtin.package:

name: httpd-2.4.6-90.el7

state: present

releasever: 7


END

微思网络,始于2002年

专业IT认证培训23年,面向全国招生!


微思-主要课程有:

*网络技术:华为HCIA/ HCIP/HCIE;思科CCNA/CCNP/CCIE

*Linux技术:红帽 RHCE/RHCA

*K8S&容器:CKA/CKS

*数据库:ORACLE OCP/ OCM ;MySQL ;达梦数据库

*虚拟化:VMware VCP/VCAP

*安全认证:CISP体系/CISSP/ CISA;CCSK;CISAW体系

*管理类:PMP 项目管理;软考中/高项;ITIL体系;Togaf

其他课程如:ACP;Azure...

相关推荐
如意.7592 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
Thera7772 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ3 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
安当加密5 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
内卷焦虑人士5 小时前
Windows安装WSL2+Ubuntu 22.04
linux·windows·ubuntu
dddddppppp1237 小时前
qemu模拟的一个内核驱动 io口中断
linux
程序员老赵7 小时前
超全 Docker 镜像源配置指南|Windows/Mac/Linux一键搞定,拉镜像再也不卡顿
linux·后端·容器
门豪杰7 小时前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
总要冲动一次7 小时前
离线安装 percona-xtrabackup-24
linux·数据库·mysql·centos
桌面运维家8 小时前
Windows/Linux双启动:BIOS/UEFI多配置桌面创建指南
linux·运维·windows