ansible笔记(8)- 包管理类模块

yum_repository模块

主要作用

  yum_repository 模块可以帮助我们管理远程主机上的 yum 仓库。

功能参数及应用举例

  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 表示开启包验证功能。

  gpgcakey参数:当 gpgcheck 参数设置为 yes 时,需要使用此参数指定验证包所需的公钥。

#在test主机上创建/etc/yum.repos.d/aliyun.repo的镜像源配置文件
ansible test -m yum_repository -a 'name=aliEpel description="alibaba EPEL" baseurl=https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/ file=alibaba enabled=yes gpgcheck=yes gpgcakey=file://opt/RPM-GPG-KEY-CentOS-6'

#test主机上的repo配置文件
[root@s4r3kxlr7bms ~]# cd /etc/yum.repos.d/
[root@s4r3kxlr7bms yum.repos.d]# ls
alibaba.repo  
[root@s4r3kxlr7bms yum.repos.d]# cat alibaba.repo 
[aliEpel]
baseurl = https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/
enabled = 1
gpgcakey = file://opt/RPM-GPG-KEY-CentOS-6
gpgcheck = 1
name = alibaba EPEL

  state参数:默认值为 present,当值设置为 absent 时,表示删除对应的 yum 源。

#删除test主机上的/etc/yum.repos.d/aliyun.repo配置文件
ansible test70 -m yum_repository -a 'file=aliyun name=aliEpel state=absent'

 

yum模块

主要作用

  yum 模块可以帮助我们在远程主机上通过 yum 源管理软件包。

功能参数及应用举例

  name参数:必须参数,用于指定需要管理的软件包,比如 nginx。

  state参数:用于指定软件包的状态 ,默认值为。present,表示确保软件包已经安装,除了。present,其他可用值有 installed、latest、absent、removed,其中 installed 与present 等效,latest 表示安装 yum 中最新的版本,absent 和 removed 等效,表示删除对应的软件包。

  disable_gpg_check参数:用于禁用对 rpm 包的公钥 gpg 验证。默认值为 no,表示不禁用验证,设置为 yes 表示禁用验证,即不验证包,直接安装。在对应的 yum 源没有开启 gpg 验证的情况下,需要将此参数的值设置为 yes,否则会报错而无法进行安装。

#确保test主机上安装lrzsz软件包,(对应yum源未开启gpg验证,所以需要设置disable_gpg_check=yes),如下三条命令的效果相同
ansible test -m yum -a 'name=lrzsz disable_gpg_check=yes'
ansible test -m yum -a 'name=lrzsz state=present disable_gpg_check=yes'
ansible test -m yum -a 'name=lrzsz state=installed disable_gpg_check=yes'

#确保test主机上安装lrzsz最新版的软件包,(对应yum源未开启gpg验证,所以需要设置disable_gpg_check=yes)
ansible test -m yum -a 'name=lrzsz state=latest disable_gpg_check=yes'

#确保test主机上通过yum安装的lrzsz软件包被卸载。
ansible test -m yum -a 'name=lrzsz state=absent'
ansible test -m yum -a 'name=lrzsz state=removed'

  enablerepo参数:用于指定安装软件包时临时启用的 yum 源。假如你想要从A源中安装软件,但是你不确定A源是否启用了,你可以在安装软件包时将此参数的值设置为 yes,即使A源的设置是未启用,也可以在安装软件包时临时启用A源。

#在test主机上安装lrzsz时不确定local源是否开启,使用enablerepo确保local源开启
ansible test -m yum -a 'name=lrzsz disable_gpg_check=yes enablerepo=local'

  disablerepo参数:用于指定安装软件包时临时禁用的 yum 源。某些场景下需要此参数,比如,当多个 yum 源中同时存在要安装的软件包时,你可以使用此参数临时禁用某个源,这样设置后,在安装软件包时则不会从对应的源中选择安装包。

#在test主机上安装lrzsz时多个源中都有该软件包,不使用local源中的包。
ansible test -m yum -a 'name=lrzsz disable_gpg_check=yes disablerepo=local'

  enablerepo 参数和 disablerepo 参数可以同时使用。

 

posted @ 2020-05-14 09:29  Buddha-Youth  阅读(193)  评论(0编辑  收藏  举报