此文章为「ansible笔记(2)之常用模块」的子文章。
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
时,需要使用此参数指定验证包所需的公钥;state
:默认值为present
,当值设置为absent
时,表示删除对应的 yum 源;
例 1:使用如下命令在客户机上设置 ID 为 aliEpel
的 yum 源,仓库配置文件路径为 /etc/yum.repos.d/aliEpel.repo
。
$ ansible all -m yum_repository -a 'name=aliEpel description="alibaba EPEL" baseurl=https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/'
例 2:使用如下命令在客户机上设置 ID 为 aliEpel
的 yum 源,仓库配置文件路径为 /etc/yum.repos.d/alibaba.repo
;
$ ansible all -m yum_repository -a 'name=aliEpel description="alibaba EPEL" baseurl=https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/ file=alibaba'
例 3:使用如下命令在客户机上设置 ID 为 local
的 yum 源,但是不启用它(local
源使用系统光盘镜像作为本地 yum 源,以便测试举例,所以 baseurl
中的值以 file:///
开头)。
$ ansible all -m yum_repository -a 'name=local baseurl=file:///media description="local cd yum" enabled=no'
例 4:使用如下命令在客户机上设置 ID 为 local
的 yum 源,开启包验证功能,并指定验证包所需的公钥位置为 /media/RPM-GPG-KEY-CentOS-7
。
$ ansible all -m yum_repository -a 'name=local baseurl=file:///media description="local cd yum" gpgcheck=yes gpgcakey=file:///media/RPM-GPG-KEY-CentOS-7'
例 5:删除 /etc/yum.repos.d/alibaba.repo
配置文件中的 aliEpel
源。
$ ansible all -m yum_repository -a 'file=alibaba name=aliEpel state=absent'
评论区