community.general.iso_customize 模块 – 在 ISO 文件中添加/删除/更改文件

注意

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

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

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

要在 playbook 中使用它,请指定:community.general.iso_customize

community.general 5.8.0 中的新增功能

概要

  • 此模块用于在 ISO 文件中添加/删除/更改文件。

  • 如果通过选项 add_files 存在,则 ISO 内的文件将被覆盖。

需求

执行此模块的主机需要以下需求。

  • pycdlib

参数

参数

注释

add_files

列表 / 元素=字典

允许在 ISO 文件中添加和替换文件。

当中间文件夹不存在时,它会在 ISO 文件内创建中间文件夹。

默认值: []

dest_file

字符串 / 必需

ISO 文件内文件的绝对路径。

src_file

路径 / 必需

模块执行所在的机器上的文件路径和文件名。

delete_files

列表 / 元素=字符串

应删除的 ISO 文件内文件的绝对路径。

默认值: []

dest_iso

路径 / 必需

自定义 ISO 文件的路径。

src_iso

路径 / 必需

这是源 ISO 文件的路径。

属性

属性

支持

描述

check_mode

支持:完全支持

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

diff_mode

支持:不支持

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

备注

注意

  • pycdlib 库声明它支持 Python 2.7 和 3.4+。

  • pycdlib 中的 add_file 函数会将 ISO 中现有的 ISO9660 / Rock Ridge 1.12 / Joliet / UDF 类型文件覆盖。但它不会覆盖具有 Rock Ridge 1.09 / 1.10 的 ISO 中的现有文件。因此,我们采取了变通方案“删除现有文件,然后为具有 Rock Ridge 的 ISO 添加文件”。

示例

- name: "Customize ISO file"
  community.general.iso_customize:
    src_iso: "/path/to/ubuntu-22.04-desktop-amd64.iso"
    dest_iso: "/path/to/ubuntu-22.04-desktop-amd64-customized.iso"
    delete_files:
      - "/boot.catalog"
    add_files:
      - src_file: "/path/to/grub.cfg"
        dest_file: "/boot/grub/grub.cfg"
      - src_file: "/path/to/ubuntu.seed"
        dest_file: "/preseed/ubuntu.seed"
  register: customize_iso_result

返回值

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

描述

dest_iso

字符串

自定义 ISO 文件的路径。

返回:成功时

示例: "/path/to/customized.iso"

src_iso

字符串

源 ISO 文件的路径。

返回:成功时

示例: "/path/to/file.iso"

作者

  • 邹雨华 (@ZouYuhua)