community.general.iso_extract – Extract files from an ISO image

Note

This plugin is part of the community.general collection (version 2.2.0).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.iso_extract.

Synopsis

  • This module has two possible ways of operation.

  • If 7zip is installed on the system, this module extracts files from an ISO into a temporary directory and copies files to a given destination, if needed.

  • If the user has mount-capabilities (CAP_SYS_ADMIN on Linux) this module mounts the ISO image to a temporary location, and copies files to a given destination, if needed.

Requirements

The below requirements are needed on the host that executes this module.

  • Either 7z (from 7zip or p7zip package)

  • Or mount capabilities (root-access, or CAP_SYS_ADMIN capability on Linux)

Parameters

Parameter Choices/Defaults Comments
dest
path / required
The destination directory to extract files to.
executable
path
The path to the 7z executable to use for extracting files from the ISO.
If not provided, it will assume the value 7z.
files
list / elements=string / required
A list of files to extract from the image.
Extracting directories does not work.
force
boolean
    Choices:
  • no
  • yes ←
If yes, which will replace the remote file when contents are different than the source.
If no, the file will only be extracted and copied if the destination does not already exist.
Alias thirsty has been deprecated and will be removed in community.general 3.0.0.

aliases: thirsty
image
path / required
The ISO image to extract files from.

aliases: path, src

Notes

Note

  • Only the file checksum (content) is taken into account when extracting files from the ISO image. If force=no, only checks the presence of the file.

  • In Ansible 2.3 this module was using mount and umount commands only, requiring root access. This is no longer needed with the introduction of 7zip for extraction.

Examples

- 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

Authors

  • Jeroen Hoekx (@jhoekx)

  • Matt Robinson (@ribbons)

  • Dag Wieers (@dagwieers)