# iso_extract – Extract files from an ISO image

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Status

## 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 added in 2.4 | Default: "7z" | The path to the `7z` executable to use for extracting files from the ISO.
files list / required |  | A list of files to extract from the image. Extracting directories does not work.

force
boolean
added in 2.4

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 2.13.
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
      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.