iso_extract – Extract files from an ISO image¶
New in version 2.3.
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
-
/ required
|
The destination directory to extract files to.
|
|
executable
-
added in 2.4 |
Default: "7z"
|
The path to the
7z executable to use for extracting files from the ISO. |
files
-
/ required
|
A list of files to extract from the image.
Extracting directories does not work.
|
|
force
boolean
added in 2.4 |
|
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.aliases: thirsty |
image
-
/ 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 v2.3 this module was using
mount
andumount
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
iso_extract:
image: /tmp/rear-test.iso
dest: /tmp/virt-rear/
files:
- isolinux/kernel
- isolinux/initrd.cgz
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Jeroen Hoekx (@jhoekx)
- Matt Robinson (@ribbons)
- Dag Wieers (@dagwieers)
Hint
If you notice any issues in this documentation you can edit this document to improve it.