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 是否应认为机器的时间正确,并因此执行与时间相关的检查,例如验证 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 相关的确切路径,在这种情况下,必须省略 Components:,并且 suite 必须以斜杠 (/) 结尾。 或者,它可以采用发行版版本的形式(例如,版本代号,如 discoartful)。 如果套件未指定路径,则必须至少存在一个组件。

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)