自动化运维—ansible常用模块之包管理模块(yum_repository&yum模块)
文章目录
- 自动化运维---ansible常用模块之包管理模块(yum_repository&yum模块)
- 1.yum_repository模块
- yum_repository模块作用
- yum_repository模块参数
- yum_repository模块应用
- 2.yum模块
- yum模块作用
- yum模块参数
- yum模块应用
1.yum_repository模块
yum_repository模块作用
yum_ repository模块可以帮助我们管理远程主机上的yum仓库
yum_repository模块参数
- name参数:必须参数,用于指定要操作的唯一的仓库ID,也就是".repo"配置文件中每个仓库对应的"中括号"内的仓库ID
- baseurl参数:此参数用于设置yum仓库的baseurl
- description参数:此参数用于设置仓库的注释信息,也就是".repo"配置文件中每个仓库对应的"name字段"对应的内容。
- file参数:此参数用于设置仓库的配置文件名称,即设置".repo"配置文件的文件名前缀,在不使用此参数的情况下,默认以name参数的仓库ID作为" .repo"配文件的文件名前缀,同一个’ .repo’配置文件中可以存在多个yum源
- enabled参数:此参数用于设置是否激活对应的yum源,此参数状认值为yes,表示启用对应的yum源,设置为no表示不启用对应的yum源。
- gpgcheck参数:此参数用于设置是否开启rpm包验证功能,默认值为no,表示不启用包验证,设置为yes表示开启包验证功能
- state参数:默认值为present, 当值设置为absent时,表示删除对应的yum源
yum_repository模块应用
此次实验我们批量管理testA组的主机
查看远程主机的yum源并将目录中的文件移到/mnt中,方便后续实验:
给远程主机批量配置yum源:
ansible testA -m yum_repository -a 'name=rhel7.5 description="ansible rhel7.5" baseurl=http://172.25.254.36/rhel7.5 gpgcheck=no enabled=yes'
查看:
删除远程主机中指定的yum源:
ansible testA -m yum_repository -a 'name=rhel7.5 description="ansible rhel7.5" baseurl=http://172.25.254.36/rhel7.5 gpgcheck=no enabled=yes state=absent'
为了后续实验,我们重新配置yum源:
给远程主机批量配置yum源:
ansible testA -m yum_repository -a 'name=rhel7.5 description="ansible rhel7.5" baseurl=http://172.25.254.36/rhel7.5 gpgcheck=no enabled=yes'
查看到yum源可用:
2.yum模块
yum模块作用
yum模块可以帮助我们在远程主机上通过yum源管理软件包
yum模块参数
- name参数:必须参数,用于指定需要管理的软件包
- state参数:用于指定软件包的状态,默认值为present,表示确保软件包已经安装,除了present,其他可用值有:installed、latest、 absent、 removed。其中installed与present等效,latest表示安装yum中最新的版本,absent和removed等效,表示删除对应的软件包。
- disable_ gpg_ check参数:用于禁用对rpm包的公钥gpg验证,默认值为no,表示不禁用验证,设置为yes表示禁用验证,即不验证包,直接安装,在对应的yum源没有开启gpg验证的情况下,需要将此参数的值设置为yes,否则会报错而无法进行安装
yum模块应用
给远程主机批量安装http(三个命令作用相同):
ansible testA -m yum -a "name=httpd"
ansible testA -m yum -a "name=httpd state=present"
ansible testA -m yum -a "name=httpd state=installed"
在远程主机查看:
systemctl status httpd
卸载远程主机中的http(两个命令作用相同):
ansible testA -m yum -a "name=httpd state=absent"
ansible testA -m yum -a "name=httpd state=removed"
在远程主机查看:
systemctl status httpd
disable_gpg_check参数:
先将两个yum源中的gpgcheck设定注释掉:
给远程主机批量安装gcc(发现报错):
ansible testA -m yum -a "name=gcc"
此时就需要设定disable_gpg_check参数(安装成功):
ansible testA -m yum -a "name=gcc disable_gpg_check=yes"