Spec-Zone.ru › Ansible 2.8

unarchive – Распаковывает архив (при необходимости) после копирования его с локальной машины

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Статус

Описание

  • Модуль unarchive распаковывает архив.
  • По умолчанию он скопирует исходный файл с локальной системы на целевую перед распаковкой.
  • Установите remote_src=yes, чтобы распаковать архив, который уже существует на целевой системе.
  • Если требуется проверка контрольной суммы, используйте get_url или uri вместо этого для получения файла и установки remote_src=yes.
  • Для целевых систем Windows используйте модуль win_unzip.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
добавлен в 2.3
Атрибуты, которые должны иметь результирующий файл или каталог.
Чтобы получить поддерживаемые флаги, см. руководство к chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr.
Оператор = используется по умолчанию, в противном случае необходимо включить операторы + или - в строку.

псевдонимы: attr
copy
булево
    Варианты:
  • нет
  • да ←
Если true, файл копируется с локального 'master' на целевую машину, в противном случае плагин будет искать архив src на целевой машине.
Этот параметр устарел в пользу remote_src.
Этот параметр несовместим с remote_src.
creates
путь
Если указанный абсолютный путь (файл или каталог) уже существует, этот шаг не будет выполнен.
decrypt
булево
добавлен в 2.4
    Варианты:
  • нет
  • да ←
Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault.
dest
путь / обязательно
Абсолютный удаленный путь, куда должен быть распакован архив.
exclude
список
добавлен в 2.1
Список каталогов и файлов, которые следует исключить из действия распаковки.
extra_opts
список
добавлен в 2.1
По умолчанию:
""
Укажите дополнительные параметры, передав массив.
group
строка
Имя группы, которая должна владеть файлом/каталогом, как если бы это было передано в chown.
keep_newer
булево
добавлен в 2.1
    Варианты:
  • нет ←
  • да
Не заменять существующие файлы, которые старше файлов из архива.
list_files
булево
добавлен в 2.0
    Варианты:
  • нет ←
  • да
Если установлено в True, возвращается список файлов, содержащихся в архиве tar.
mode
строка
Разрешения, которые должен иметь результирующий файл или каталог.
Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы можете либо добавить ведущую нуль, чтобы интерпретатор YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и смог преобразовать её в число.
Передача Ansible числа без соблюдения одного из этих правил приведёт к десятичному числу, что может привести к неожиданным результатам.
Начиная с Ansible 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r).
owner
строка
Имя пользователя, который должен владеть файлом/каталогом, как если бы это было передано в chown.
remote_src
булево
добавлен в 2.2
    Варианты:
  • нет ←
  • да
Установите yes, чтобы указать, что архивный файл уже находится на удалённой системе, а не на локальном контроллере Ansible.
Этот параметр несовместим с copy.
selevel
строка
По умолчанию:
"s0"
Часть уровня контекста файла SELinux.
Это атрибут MLS/MCS, иногда известный как range.
Когда установлено _default, будет использована часть политики level, если она доступна.
serole
строка
Часть роли контекста файла SELinux.
Когда установлено _default, будет использована часть политики role, если она доступна.
setype
строка
Часть типа контекста файла SELinux.
Если установлено _default, будет использована часть политики type, если она доступна.
seuser
строка
Часть пользователя контекста файла SELinux.
По умолчанию используется политика system, если применимо.
Если установлено _default, будет использована часть политики user, если она доступна.
src
путь / обязательно
Если remote_src=no (по умолчанию), локальный путь к файлу архива для копирования на целевой сервер; может быть абсолютным или относительным. Если remote_src=yes, путь на целевом сервере к существующему архивному файлу для распаковки.
Если remote_src=yes и src содержат ://, удалённая машина сначала загрузит файл с URL. (добавлен в версии 2.0). Это только для простых случаев, для полной поддержки загрузки используйте модуль get_url.
unsafe_writes
булево
добавлен в 2.2
    Варианты:
  • нет ←
  • да
Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны так, что это предотвращается. Один из примеров – это файлы, монтированные через Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только в небезопасном режиме.
Этот параметр позволяет Ansible использовать небезопасные методы обновления файлов, когда атомарные операции завершаются ошибкой (хотя он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
validate_certs
булево
добавлен в 2.2
    Варианты:
  • нет
  • да ←
Это применимо только в случае использования URL https в качестве источника файла.
Это должно быть установлено в no только для сайтов, контролируемых пользователем, использующих самозаверяющий сертификат.
До версии 2.2 код работал так, как будто это было установлено в yes.

Примечания

Примечание

  • Требуется команда gtar/unzip на целевом хосте.
  • Может обрабатывать файлы .zip, используя unzip, а также файлы .tar, .tar.gz, .tar.bz2 и .tar.xz, используя gtar.
  • Использует аргумент gtar’s --diff для расчета изменений. Если этот arg не поддерживается, архив всегда будет распакован.
  • Существующие файлы/каталоги в пункте назначения, которые отсутствуют в архиве, не затрагиваются. Это поведение аналогично обычному извлечению из архива.
  • Существующие файлы/каталоги в пункте назначения, которые отсутствуют в архиве, игнорируются при определении необходимости распаковки архива.

См. также

См. также

archive – Создаёт сжатый архив одного или нескольких файлов или деревьев
Официальная документация модуля archive.
iso_extract – Извлекает файлы из образа ISO
Официальная документация модуля iso_extract.
win_unzip – Распаковывает сжатые файлы и архивы на узле Windows
Официальная документация модуля win_unzip.

Примеры

- name: Extract foo.tgz into /var/lib/foo
  unarchive:
    src: foo.tgz
    dest: /var/lib/foo

- name: Unarchive a file that is already on the remote machine
  unarchive:
    src: /tmp/foo.zip
    dest: /usr/local/bin
    remote_src: yes

- name: Unarchive a file that needs to be downloaded (added in 2.0)
  unarchive:
    src: https://example.com/example.zip
    dest: /usr/local/bin
    remote_src: yes

- name: Unarchive a file with extra options
  unarchive:
    src: /tmp/foo.zip
    dest: /usr/local/bin
    extra_opts:
    - --transform
    - s/^xxx/yyy/

Статус

  • Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается командой Ansible Core. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке данного модуля Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • Michael DeHaan

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/unarchive_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API