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

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 集合关键字,也可以使用简短的模块名称 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 是否应认为机器时间正确,并因此执行与时间相关的检查,例如验证发布文件不是来自未来。

选项

  • 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 相关的精确路径,在这种情况下,必须省略 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)