community.general.zypper_repository 模块 – 添加和删除 Zypper 仓库

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 软件包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。您需要更多需求才能使用此模块,请参阅 需求 了解详情。

要在剧本中使用它,请指定: community.general.zypper_repository

概要

  • 在 SUSE 和 openSUSE 上添加或删除 Zypper 仓库

需求

以下是执行此模块的主机所需的条件。

  • zypper >= 1.0 # 包含在 openSUSE >= 11.1 或 SUSE Linux Enterprise Server/Desktop >= 11.0 中

  • python-xml

参数

参数

注释

auto_import_keys

布尔值

自动导入新仓库或已更改仓库的 GPG 签名密钥。

仅当 state=present 时才有效。对现有(未更改)仓库或与 state=absent 结合使用时无效。

暗示 runrefresh。

仅当明确给出 `name` 时才适用于 .repo 文件。

选项

  • false ← (默认)

  • true

autorefresh

别名:refresh

布尔值

启用仓库的自动刷新。

选项

  • false

  • true ← (默认)

description

字符串

仓库的描述

disable_gpg_check

布尔值

是否禁用所有软件包的 GPG 签名检查。仅当 state=present 时才有效。

需要 zypper 版本 >= 1.6.2。

选项

  • false ← (默认)

  • true

enabled

布尔值

将仓库设置为启用(或禁用)。

选项

  • false

  • true ← (默认)

name

字符串

仓库的名称。添加 repofiles 时不需要。

overwrite_multiple

布尔值

如果名称和 URL 都已存在的仓库,则覆盖多个仓库条目。

选项

  • false ← (默认)

  • true

priority

整数

设置仓库的优先级。软件包将始终从优先级数字最小的仓库安装。

需要 zypper 版本 >= 1.12.25。

repo

字符串

仓库的 URI 或 .repo 文件。当 state=present 时需要。

runrefresh

布尔值

刷新给定仓库的软件包列表。

可与 repo=* 一起使用以刷新所有仓库。

选项

  • false ← (默认)

  • true

state

字符串

源字符串状态。

选项

  • "absent"

  • "present" ← (默认)

属性

属性

支持

描述

check_mode

支持:不支持

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Add NVIDIA repository for graphics drivers
  community.general.zypper_repository:
    name: nvidia-repo
    repo: 'ftp://download.nvidia.com/opensuse/12.2'
    state: present

- name: Remove NVIDIA repository
  community.general.zypper_repository:
    name: nvidia-repo
    repo: 'ftp://download.nvidia.com/opensuse/12.2'
    state: absent

- name: Add python development repository
  community.general.zypper_repository:
    repo: 'http://download.opensuse.org/repositories/devel:/languages:/python/SLE_11_SP3/devel:languages:python.repo'

- name: Refresh all repos
  community.general.zypper_repository:
    repo: '*'
    runrefresh: true

- name: Add a repo and add its gpg key
  community.general.zypper_repository:
    repo: 'http://download.opensuse.org/repositories/systemsmanagement/openSUSE_Leap_42.1/'
    auto_import_keys: true

- name: Force refresh of a repository
  community.general.zypper_repository:
    repo: 'http://my_internal_ci_repo/repo'
    name: my_ci_repo
    state: present
    runrefresh: true

作者

  • Matthias Vogelgesang (@matze)