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)