Extract an archive
New in version 2014.1.0.
salt.states.archive.
extracted
(name, source, archive_format, archive_user=None, user=None, group=None, tar_options=None, source_hash=None, if_missing=None, keep=False)¶New in version 2014.1.0.
State that make sure an archive is extracted in a directory. The downloaded archive is erased if successfully extracted. The archive is downloaded only if necessary.
Note
If if_missing
is not defined, this state will check for name
instead. If name
exists, it will assume the archive was previously
extracted successfully and will not extract it again.
Example, tar with flag for lmza compression:
graylog2-server:
archive.extracted:
- name: /opt/
- source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.lzma
- source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
- tar_options: J
- archive_format: tar
- if_missing: /opt/graylog2-server-0.9.6p1/
Example, tar with flag for verbose output:
graylog2-server:
archive.extracted:
- name: /opt/
- source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.gz
- source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
- archive_format: tar
- tar_options: v
- user: root
- group: root
- if_missing: /opt/graylog2-server-0.9.6p1/
The user to own each extracted file.
Deprecated since version 2014.7.2: replaced by standardized user parameter.
archive_format: tar
, otherwise optional.
It needs to be the tar argument specific to the archive being extracted,
such as 'J' for LZMA or 'v' to verbosely list files processed.
Using this option means that the tar executable on the target will
be used, which is less platform independent.
Main operators like -x, --extract, --get, -c and -f/--file
should not be used here.
If archive_format
is zip
or rar
and this option is not set,
then the Python tarfile module is used. The tarfile module supports gzip
and bz2 in Python 2.