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)