关于Ansible模块 ④

发布于:2024-04-12 ⋅ 阅读:(197) ⋅ 点赞:(0)

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。


《关于Ansible的模块 ①》《关于Ansible的模块 ②》《关于Ansible的模块 ③》之后,继续学习ansible常用模块之系统操作yum模块。

yum模块用来管理服务器上的安装包,包括安装、更新、删除等多项包管理操作。

1. 常用参数

参数 选项/默认值【红色】 含义
name 指定安装包名称
state present/installed:安装需要的包,版本不一定最新
latest:若当前的包不是最新,就更新到最新的包
absent/removed:删除包
定义操作类型
   
download_dir 存储安装包路径,只在指定download_only时生效,目录会自动创建
download_only true/false 是否只下载不安装
allow_downgrade true/false 指定是否允许命名的包和版本降级该包的更高版本。
bugfix true/false 如果设置为true,并且state=latest则只安装已标记为与错误修复相关的更新
security true/false 如果设置为true且state=latest,则只安装标记为安全相关的更新。
cacheonly true/false 指定yum是否完全从系统缓存运行;不下载或更新元数据
update_cache true/false 检查缓存是否过期需要更新,只在state参数为present或latest时生效
update_only true/false 只更新服务器上已安装的包,只在state参数为latest时生效
exclude 当state=present或latest时要排除的包名
installroot  / 指定一个备用 installroot,所有包都将相对于该 installroot 进行安装

2. 使用范例

2.1 在远程主机安装包

ansible all -m yum -a "name=httpd"

2.2 在远程主机安装指定版版本的包

ansible all -m yum -a "name=httpd-2.4.6-99.el7.centos.1 state=present"

2.3 在远程主机卸载某个包

ansible all -m yum -a "name=httpd state=absent"

2.4 在远程主机从指定URL安装包

ansible all -m yum -a "name=http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm  state=present"

2.5 在远程主机安装本地包

ansible all -m yum -a "name=/tmp/nginx-1.22.1-1.el7.ngx.x86_64.rpm  state=present"

2.6 在远程主机指定只下载包,不安装

ansible all -m yum -a "name=nginx download_only=true download_dir=/tmp/nginx state=present"