community.general.iso_extract 模块 – 从 ISO 镜像提取文件

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,有关详细信息,请参阅要求

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

概要

  • 此模块有两种可能的操作方式。

  • 如果系统上安装了 7zip,则此模块会将文件从 ISO 提取到临时目录,并在需要时将文件复制到给定的目标位置。

  • 如果用户具有挂载功能(Linux 上的 CAP_SYS_ADMIN),则此模块会将 ISO 镜像挂载到临时位置,并在需要时将文件复制到给定的目标位置。

要求

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

  • 需要 7z(来自 7zipp7zip 包)

  • 或者挂载功能(root 访问权限或 Linux 上的 CAP_SYS_ADMIN 功能)

参数

参数

注释

dest

路径 / 必需

要将文件提取到的目标目录。

executable

路径

用于从 ISO 提取文件的 7z 可执行文件的路径。

如果未提供,它将假定值为 7z

files

列表 / 元素=字符串 / 必需

要从镜像中提取的文件列表。

提取目录不起作用。

force

布尔值

如果为 true,当内容与源不同时,将替换远程文件。

如果为 false,则仅当目标不存在时,才会提取和复制文件。

选项

  • false

  • true ← (默认)

image

别名:path,src

路径 / 必需

要从中提取文件的 ISO 镜像。

password

字符串

在 community.general 10.1.0 中添加

用于解密 ISO 中文件的密码。

仅在使用 7z 时使用。

密码用作 7z 的命令行参数。这是一个潜在的安全风险,如果其他人可以在同一台机器上的适当时刻列出正在运行的进程,则密码可能会被泄露。

属性

属性

支持

描述

check_mode

支持:完全

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改的内容(或可能需要在 check_mode 中更改的内容)的详细信息。

注意

注意

  • 从 ISO 镜像提取文件时,仅考虑文件校验和(内容)。如果 force=false,则仅检查文件的存在性。

示例

- name: Extract kernel and ramdisk from a LiveCD
  community.general.iso_extract:
    image: /tmp/rear-test.iso
    dest: /tmp/virt-rear/
    files:
    - isolinux/kernel
    - isolinux/initrd.cgz

作者

  • Jeroen Hoekx (@jhoekx)

  • Matt Robinson (@ribbons)

  • Dag Wieers (@dagwieers)