Ansible `yum` 模块

Ansible yum 模块

一、简介

  • 功能yum 模块用于在基于 RPM 的 Linux 系统(如 RHEL、CentOS、Rocky Linux 等)上管理软件包。它可以安装、升级、删除软件包,以及管理软件源。
  • 使用场景:常用于确保系统中安装了所需的软件包,或者升级已有软件包到最新版本,或卸载不需要的包。

二、基本用法

2.1 语法

ansible <pattern> -m yum -a "name=<package_name> state=<state> [other options]"
  • <pattern>:指定要操作的主机或主机组,例如 allwebservers
  • -m yum:指定使用 yum 模块。
  • name=<package_name>:指定要管理的软件包名称,可以是单个包名,也可以是多个包名的列表。
  • state=<state>:指定软件包的目标状态,如 presentabsentlatest 等。

2.2 常见 state 参数

  • present:确保指定的软件包已安装。如果未安装,则安装它。
  • absent:确保指定的软件包已删除。
  • latest:确保指定的软件包已升级到最新版本。

三、使用示例

3.1 安装软件包

ansible all -m yum -a "name=httpd state=present"
  • 解释:在所有主机上安装 httpd 软件包(Apache Web 服务器)。如果已经安装,则不会进行任何更改。

3.2 升级软件包到最新版本

ansible all -m yum -a "name=httpd state=latest"
  • 解释:在所有主机上将 httpd 软件包升级到最新版本。

3.3 删除软件包

ansible all -m yum -a "name=httpd state=absent"
  • 解释:在所有主机上删除 httpd 软件包。

3.4 安装多个软件包

ansible all -m yum -a "name=httpd,mod_ssl state=present"
  • 解释:在所有主机上安装 httpdmod_ssl 两个软件包。

3.5 从特定的软件源安装软件包

ansible all -m yum -a "name=httpd enablerepo=epel state=present"
  • 解释:从 epel 仓库安装 httpd 软件包。

四、其他常用选项

4.1 enablerepo

  • 功能:临时启用指定的软件仓库来安装或升级软件包。

  • 用法

    ansible all -m yum -a "name=httpd enablerepo=epel state=latest"
    
    • 解释:启用 epel 仓库,并升级 httpd 软件包到最新版本。

4.2 disablerepo

  • 功能:临时禁用指定的软件仓库。

  • 用法

    ansible all -m yum -a "name=* disablerepo=base,updates state=latest"
    
    • 解释:在禁用 baseupdates 仓库的情况下,升级所有软件包。

4.3 exclude

  • 功能:指定在操作中排除的软件包,避免其被安装或升级。

  • 用法

    ansible all -m yum -a "name=* exclude=kernel* state=latest"
    
    • 解释:升级所有软件包,但排除与 kernel 相关的软件包。

4.4 allow_downgrade

  • 功能:允许降级软件包版本,通常在 state=present 时使用。

  • 用法

    ansible all -m yum -a "name=httpd-2.4.6-80.el7 state=present allow_downgrade=yes"
    
    • 解释:如果当前安装的 httpd 版本比指定的高,则降级到指定版本。

4.5 disable_gpg_check

  • 功能:禁用 GPG 签名检查。默认情况下,yum 会对软件包进行 GPG 签名检查。

  • 用法

    ansible all -m yum -a "name=httpd state=present disable_gpg_check=yes"
    
    • 解释:安装 httpd 软件包,但不进行 GPG 签名检查。

五、注意事项

  • 版本控制:在生产环境中,通常需要严格控制软件包版本,以确保稳定性。使用 state=presentstate=latest 时需谨慎,尤其是在自动化脚本中,以免引入未经过测试的更新。
  • 仓库配置:确保配置的仓库可用且正确,尤其是在使用 enablerepodisablerepo 选项时,避免意外从错误的仓库中安装软件包。
  • GPG 签名:在禁用 GPG 签名检查时,可能存在安全风险,建议只在受信任的环境中使用 disable_gpg_check=yes 选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟生啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值