如何在Ansible中使用yum模块禁用所有存储库?

时间:2019-04-25 08:39:10

标签: linux ansible yum

我正在尝试禁用所有的yum仓库,并且仅启用1个仓库来安装yum软件包。如何使用yum模块来禁用所有的仓库?

试图使用disablerepo ='*',但不确定这是否是正确的方法

- name: Update the uek kernel pkg on gateways
    yum:
      name: "{{ packages }}"
      disablerepo: "*"
      enablerepo: test_iso
    vars:
      packages:
      - kernel-uek
    become_user: root

1 个答案:

答案 0 :(得分:0)

Ansible documentation建议您必须提供以逗号分隔的回购清单。

  

disablerepo :要禁用安装/更新操作的存储库的仿造。这些回购将不会在交易之后继续存在。指定多个存储库时,请用“,”分隔。   从Ansible 2.7开始,它也可以是列表,而不是用“,”分隔的字符串

文档中的示例:

- name: Install package with multiple repos disabled
  yum:
    name: sos
    disablerepo: "epel,ol7_latest"

您也可以考虑使用yum_repository模块作为替代方案:

# Example removing a repository and cleaning up metadata cache
- name: Remove repository (and clean up left-over metadata)
  yum_repository:
    name: epel
    state: absent
  notify: yum-clean-metadata