Ansible内置模块之package

发布于:2025-05-11 ⋅ 阅读:(23) ⋅ 点赞:(0)

原创:厦门微思网络
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...