Linux · 3 分钟阅读
Yum 模块常用参数
2026 年状态:CentOS 8 起官方仓库改用
dnf,Ansible 里yum模块自动映射到dnf行为;CentOS 7 仍在用yum,但 CentOS 7 已停止官方更新,新项目首选 Rocky / Alma / RHEL 系。
核心参数
| 参数 | 必填 | 默认 | 常用值 | 说明 |
|---|---|---|---|---|
name |
是 | - | 包名 / 列表 / URL | 支持 name=python 或 name=python=3.12 |
state |
否 | present |
present / latest / absent |
目标状态 |
update_cache |
否 | no |
yes / no |
是否刷新元数据缓存 |
disable_gpg_check |
否 | no |
yes / no |
跳过 GPG 校验 |
conf_file |
否 | - | 路径 | 指定 yum 配置文件 |
enablerepo |
否 | - | 仓库名 | 临时启用某个仓库 |
disablerepo |
否 | - | 仓库名 | 临时禁用某个仓库 |
install_weak_deps |
否 | no |
yes / no |
是否安装弱依赖 |
download_dir |
否 | - | 路径 | 仅下载不安装 |
lock_timeout |
否 | 30 |
秒 | 等待 yum 锁超时 |
常用写法
基本操作
- name: 安装最新版本
ansible.builtin.yum:
name: httpd
state: latest
- name: 卸载
ansible.builtin.yum:
name: httpd
state: absent
- name: 升级所有包
ansible.builtin.yum:
name: "*"
state: latest
从 URL 或本地文件安装
- name: 从远端 RPM 安装
ansible.builtin.yum:
name: https://example.com/nginx-release.rpm
state: present
disable_gpg_check: true
- name: 从本地 RPM 安装
ansible.builtin.yum:
name: /tmp/nginx-release.rpm
state: present
安装包组
- name: 安装开发工具链
ansible.builtin.yum:
name: "@Development tools"
state: present
指定仓库
- name: 仅从 epel 安装
ansible.builtin.yum:
name: htop
enablerepo: epel
state: present
一些工程上的注意
state=latest会让 Playbook 不可重放,生产慎用——固定版本号更稳- 升级所有包用独立 Playbook,别混在业务部署里
- 需要
--enablerepo时,更干净的做法是把它写进/etc/yum.repos.d/*.repo的enabled=1 - 大批量机器同步时用
--forks调高并发