Ansible内置模块之yum_repository
发布作者:微思网络 发布时间:2024-11-13 浏览量:0次
选项 必须 类型 默认值 说明 file 否 str 无 保存仓库时所使用的文件名,不包含.repo。默认值等同于 name 值 name 是 str 无 存储库的唯一名称。将在/etc/yum.repos.d/下创建以此名称命名的文件 description 否 str 无 存储库的描述。 baseurl 否 str 无 用于该存储库的基础 URL。可以包含$releasever 和$basearch 等变量。 mirrorlist 否 str 无 用于该存储库的镜像列表 URL。 metalink 否 str 无 用于该存储库的 metalinkURL。 enabled 否 bool 无 是否启用该存储库。可以是 yes 或 no。 gpgcheck 否 bool 无 是否启用 GPG 签名检查。可以是 yes 或 no。 gpgkey 否 str 无 GPG 签名的 URL。可以包含多个 URL,用逗号分隔。 exclude 否 str 无 从该存储库中排除的软件包。可以是一个列表或用逗号分隔的字符串。 includepkgs 否 str 无 从该存储库中包含的软件包。可以是一个列表或用逗号分隔的字符串。 priority 否 int 无 存储库的优先级。 enabled_metadata 否 bool 无 是否启用存储库的元数据。可以是 yes 或 no。 cost 否 int 无 设置存储库的成本。 deltarpm_metadata_percentage 否 int 无 存储库的 deltarpm 元数据百分比。 skip_if_unavailable 否 bool 无 如果存储库不可用,是否跳过。可以是 yes 或 no。 sslverify 否 bool 无 是否验证 SSL 证书。可以是 yes 或 no。 sslcacert 否 str 无 SSLCA 证书的路径。 sslclientcert 否 str 无 SSL 客户端证书的路径。 sslclientkey 否 str 无 SSL 客户端密钥的路径。 state 否 str present 存储库的状态。可以是 present(存在)或 absent(不存在)。 timeout 否 int 无 存储库的超时时间。 proxy 否 str 无 用于该存储库的代理 URL。 proxy_username 否 str 无 用于代理认证的用户名。 proxy_password 否 str 无 用于代理认证的密码。 username 否 str 无 用于存储库认证的用户名。 password 否 str 无 用于存储库认证的密码。
# 添加一个新的 Yum 存储库
- name: Add a new Yum repository
ansible.builtin.yum_repository:
name: myrepo
description: My custom repository
baseurl: http://myrepo.example.com/centos/$releasever/os/$basearch/
enabled: yes
gpgcheck: yes
gpgkey: http://myrepo.example.com/RPM-GPG-KEY-myrepo
# 删除一个现有的 Yum 存储库
- name: Remove a Yum repository
ansible.builtin.yum_repository:
name: myrepo
state: absent
# 禁用一个Yum 存储库
- name: Disable a Yum repository
ansible.builtin.yum_repository:
name: myrepo
enabled: no
# 添加一个带有镜像列表的 Yum 存储库
- name: Add a Yum repository with a mirrorlist
ansible.builtin.yum_repository:
name: myrepo
description: My custom repository
mirrorlist: http://myrepo.example.com/centos/$releasever/os/$basearch/mirrorlist
enabled: yes
gpgcheck: yes
gpgkey: http://myrepo.example.com/RPM-GPG-KEY-myrepo
# 为存储库设置优先级
- name: Add a Yum repository with priority
ansible.builtin.yum_repository:
name: myrepo
description: My custom repository
baseurl: http://myrepo.example.com/centos/$releasever/os/$basearch/
enabled: yes
gpgcheck: yes
gpgkey: http://myrepo.example.com/RPM-GPG-KEY-myrepo
priority: 10
# 从url导入gpgkey
- name: Import a key from a url
ansible.builtin.rpm_key:
state: present
key: http://apt.sw.be/RPM-GPG-KEY.dag.txt
# 从文件导入gpgkey
- name: Import a key from a file
ansible.builtin.rpm_key:
state: present
key: /path/to/key.gpg
# 删除gpgkey
- name: Ensure a key is not present in the db
ansible.builtin.rpm_key:
state: absent
key: DEADB33F
# 导入前使用其指纹验证该gpgkey
- name: Verify the key, using a fingerprint, before import
ansible.builtin.rpm_key:
key: /path/to/RPM-GPG-KEY.dag.txt
fingerprint: EBC6 E12C 62B1 C734 026B 2122 A20E 5214 6B8D 79E6