19-Ansible常用模块-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 表示开启包验证功能。
  • gpgkey参数: 当 gpgcheck 参数设置为 yes 时,需要使用此参数指定验证包所需的公钥。
  • state参数: 默认值为 present,当值设置为 absent 时,表示删除对应的 yum 源。

三、示例

1.在all主机上配置 yum 源,仓库配置文件路径为 /etc/yum.repos.d/BASE.repo。

[root@ansible-manager ~]# ansible all -m yum_repository -a "name=BASE description='software base' baseurl=http://study.lab0.example.com/rhel8/BaseOS gpgcheck=yes gpgkey=http://study.lab0.example.com/rhel8/RPM-GPG-KEY-redhat-release enabled=yes"

远程主机上的BASE.repo文件,只用BASE源

[root@node1 yum.repos.d]# cat BASE.repo 
[BASE]
baseurl = http://study.lab0.example.com/rhel8/BaseOS
enabled = 1
gpgcheck = 1
gpgkey = http://study.lab0.example.com/rhel8/RPM-GPG-KEY-redhat-release
name = software base

2.在all主机上配置 yum 源,仓库配置文件路径为 /etc/yum.repos.d/BASE.repo文件中添加yum源。

[root@ansible-manager ~]# ansible all -m yum_repository -a "name=STREAM description='software stream' baseurl=http://study.lab0.example.com/rhel8/AppStream gpgcheck=yes gpgkey=http://study.lab0.example.com/rhel8/RPM-GPG-KEY-redhat-release enabled=yes file=BASE"
node1 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "repo": "STREAM",
    "state": "present"
}

远程主机上的BASE.repo文件,用BASE源和STREAM源

[root@node1 yum.repos.d]# cat BASE.repo 
[BASE]
baseurl = http://study.lab0.example.com/rhel8/BaseOS
enabled = 1
gpgcheck = 1
gpgkey = http://study.lab0.example.com/rhel8/RPM-GPG-KEY-redhat-release
name = software base

[STREAM]
baseurl = http://study.lab0.example.com/rhel8/AppStream
enabled = 1
gpgcheck = 1
gpgkey = http://study.lab0.example.com/rhel8/RPM-GPG-KEY-redhat-release
name = software stream

3.在all主机上配置 yum 源主机上设置ID为 local 的 yum 源,但是不启用它(local源使用系统光盘镜像作为本地 yum 源,以便测试举例,所以 baseurl 中的值以 file:/// 开头)。

[root@ansible-manager ~]# ansible all -m yum_repository -a "name=BASE1 description='software base' baseurl=file:///media /rhel8/BaseOS gpgcheck=yes gpgkey=file:///media /rhel8/RPM-GPG-KEY-redhat-release enabled=yes"

4.在all主机上删除 /etc/yum.repos.d/BASE.repo 配置文件中的BASE源。

[root@ansible-manager ~]# ansible all -m yum_repository -a "name=BASE file=BASE state=absent"
node3 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": true,
    "repo": "BASE",
    "state": "absent"

远程主机上的BASE.repo文件,只用STREAM源

[root@node1 yum.repos.d]# cat BASE.repo 
[STREAM]
baseurl = http://study.lab0.example.com/rhel8/AppStream
enabled = 1
gpgcheck = 1
gpgkey = http://study.lab0.example.com/rhel8/RPM-GPG-KEY-redhat-release
name = software stream

你可能感兴趣的:(Ansible)