ansible.builtin.deb822_repository 模块 – 添加和删除 deb822 格式的软件仓库

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键字,您也可以使用简短的模块名称 deb822_repository。但是,我们建议您使用 完整限定集合名称 (FQCN) ansible.builtin.deb822_repository,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合冲突。

ansible-core 2.15 中新增

摘要

  • 在基于 Debian 的发行版中添加和删除 deb822 格式的软件仓库。

需求

以下需求在执行此模块的主机上是必需的。

  • python3-debian / python-debian

参数

参数

注释

allow_downgrade_to_insecure

布尔值

允许降级之前已通过身份验证但不再通过身份验证的软件包。

选项

  • false

  • true

allow_insecure

布尔值

允许不安全的软件仓库。

选项

  • false

  • true

allow_weak

布尔值

允许使用弱摘要算法签名的密钥签名的软件仓库。

选项

  • false

  • true

architectures

列表 / 元素=字符串

在软件仓库中搜索的体系结构。

by_hash

布尔值

控制 APT 是否应尝试通过从预期文件的哈希值构建的 URI 获取索引,而不是使用索引的众所周知的稳定文件名。

选项

  • false

  • true

check_date

布尔值

控制 APT 是否应认为机器的时间是正确的,因此执行与时间相关的检查,例如验证 Release 文件是否不是来自将来。

选项

  • false

  • true

check_valid_until

布尔值

控制 APT 是否应尝试检测重放攻击。

选项

  • false

  • true

components

列表 / 元素=字符串

组件指定 Suite 中存在的某个发行版版本的不同部分。

date_max_future

整数

控制软件仓库可以来自未来的多远。

enabled

布尔值

告诉 APT 源是否已启用。

选项

  • false

  • true

inrelease_path

字符串

确定相对于 InRelease 文件的正常位置的 InRelease 文件的路径。

languages

列表 / 元素=字符串

定义应下载哪些语言信息,例如翻译后的软件包描述。

mode

任意

sources.list.d 中新创建文件的八进制模式。

默认值: "0644"

name

字符串 / 必需

软件仓库的名称。具体用于 X-Repolib-Name 以及命名软件仓库和签名密钥文件。

pdiffs

布尔值

控制 APT 是否应尝试使用 PDiffs 更新旧索引,而不是完全下载新索引。

选项

  • false

  • true

signed_by

字符串

GPG 密钥的 URL、密钥环文件的绝对路径、一个或多个密钥的指纹(这些密钥位于 trusted.gpg 密钥环或 trusted.gpg.d/ 目录中的密钥环中),或 ASCII 盔甲 GPG 公钥块。

state

字符串

源字符串状态。

选项

  • "absent"

  • "present" ← (默认)

suites

列表 / 元素=字符串

Suite 可以指定与提供的 URI(s)相关的精确路径,在这种情况下,必须省略 Components:,并且 suite 必须以斜杠 (/) 结尾。或者,它可以采用发行版版本的格式(例如版本代号,如 discoartful)。如果 suite 未指定路径,则必须存在至少一个组件。

targets

列表 / 元素=字符串

定义 apt 将尝试从此源获取哪些下载目标。

trusted

布尔值

决定源是否被视为受信任的,或者是否应在例如从该源安装软件包之前发出警告。

选项

  • false

  • true

types

列表 / 元素=字符串

从给定源查找哪种类型的软件包;二进制 deb 或源代码 deb-src

选项

  • "deb" ← (默认)

  • "deb-src"

默认值: ["deb"]

uris

列表 / 元素=字符串

URI 必须指定 Debian 发行版存档的基地址,APT 从中找到它需要的信息。

备注

注意

  • 此模块不会自动更新缓存,请根据更改的状态调用 ansible.builtin.apt 模块。

示例

- name: Add debian repo
  deb822_repository:
    name: debian
    types: deb
    uris: http://deb.debian.org/debian
    suites: stretch
    components:
      - main
      - contrib
      - non-free

- name: Add debian repo with key
  deb822_repository:
    name: debian
    types: deb
    uris: https://deb.debian.org
    suites: stable
    components:
      - main
      - contrib
      - non-free
    signed_by: |-
      -----BEGIN PGP PUBLIC KEY BLOCK-----

      mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
      CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk
      IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS
      dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG
      3bHcln8DMpIJVXht78sL
      =IE0r
      -----END PGP PUBLIC KEY BLOCK-----

- name: Add repo using key from URL
  deb822_repository:
    name: example
    types: deb
    uris: https://download.example.com/linux/ubuntu
    suites: '{{ ansible_distribution_release }}'
    components: stable
    architectures: amd64
    signed_by: https://download.example.com/linux/ubuntu/gpg

返回值

常见返回值在 此处 有记录,以下是此模块特有的字段

描述

dest

字符串

软件仓库文件的路径

返回: 始终

示例: "/etc/apt/sources.list.d/focal-archive.sources"

key_filename

字符串

signed_by 密钥文件的路径

返回: 始终

示例: "/etc/apt/keyrings/debian.gpg"

repo

字符串

软件仓库的源字符串

返回: 始终

示例: "X-Repolib-Name: debian\nTypes: deb\nURIs: https://deb.debian.org\nSuites: stable\nComponents: main contrib non-free\nSigned-By:\n    -----BEGIN PGP PUBLIC KEY BLOCK-----\n    .\n    mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY\n    CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk\n    IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS\n    dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG\n    3bHcln8DMpIJVXht78sL\n    =IE0r\n    -----END PGP PUBLIC KEY BLOCK-----\n"

作者

  • Ansible Core 团队 (@ansible)