自动化运维—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中,方便后续实验:

ansible yum安装指定版本 ansible yum模块_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'

ansible yum安装指定版本 ansible yum模块_配置文件_02


查看:

ansible yum安装指定版本 ansible yum模块_默认值_03


删除远程主机中指定的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'

ansible yum安装指定版本 ansible yum模块_ansible yum安装指定版本_04


ansible yum安装指定版本 ansible yum模块_配置文件_05


为了后续实验,我们重新配置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源可用:

ansible yum安装指定版本 ansible yum模块_配置文件_06

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"

ansible yum安装指定版本 ansible yum模块_配置文件_07


在远程主机查看:

systemctl status httpd

ansible yum安装指定版本 ansible yum模块_配置文件_08


卸载远程主机中的http(两个命令作用相同):

ansible testA -m yum -a "name=httpd state=absent"
ansible testA -m yum -a "name=httpd state=removed"

ansible yum安装指定版本 ansible yum模块_yum源_09


ansible yum安装指定版本 ansible yum模块_默认值_10


在远程主机查看:

systemctl status httpd

ansible yum安装指定版本 ansible yum模块_配置文件_11


disable_gpg_check参数:

先将两个yum源中的gpgcheck设定注释掉:

ansible yum安装指定版本 ansible yum模块_ansible yum安装指定版本_12


给远程主机批量安装gcc(发现报错):

ansible testA -m yum -a "name=gcc"

ansible yum安装指定版本 ansible yum模块_默认值_13


此时就需要设定disable_gpg_check参数(安装成功):

ansible testA -m yum -a "name=gcc disable_gpg_check=yes"

ansible yum安装指定版本 ansible yum模块_配置文件_14