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

问题描述 投票:-2回答:1

我正在尝试禁用所有yum repos,并只启用1个repo来安装yum包。如何使用yum模块禁用所有repos?

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

- name: Update the uek kernel pkg on gateways
    yum:
      name: "{{ packages }}"
      disablerepo: "*"
      enablerepo: test_iso
    vars:
      packages:
      - kernel-uek
    become_user: root
linux ansible yum
1个回答
0
投票

Ansible documentation建议您必须提供逗号分隔的repo id列表。

disablerepo:复制存储库以禁用安装/更新操作。这些回购将不会在交易之后持续存在。指定多个repos时,请用“,”分隔它们。从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
© www.soinside.com 2019 - 2024. All rights reserved.