Spec-Zone.ru › Ansible 2.6

unarchive - Распаковывает архив после (необязательно) копирования его с локального компьютера.

Новая версия с 1.4.

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Статус
  • Техническое обслуживание
    • Поддержка
    • Автор

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
(добавлено в 2.3)
Атрибуты файла или каталога. Для получения поддерживаемых флагов обратитесь к справке man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в lsattr.

псевдонимы: attr
copy
bool
    Варианты:
  • нет
  • да ←
Если true, файл копируется с локального «master» на целевой компьютер, в противном случае плагин ищет архив src на целевом компьютере.
Этот параметр устарел в пользу remote_src.
Этот параметр несовместим с remote_src.
creates
(добавлено в 1.6)
Если указанный абсолютный путь (файл или каталог) уже существует, этот шаг не будет выполнен.
decrypt
bool

(добавлено в 2.4)
    Варианты:
  • нет
  • да
Значение по умолчанию:
"да"
Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault.
dest
обязательный
Абсолютный удаленный путь, куда должен быть распакован архив.
exclude
(добавлено в 2.1)
Список каталогов и файлов, которые необходимо исключить из действия распаковки.
extra_opts
(добавлено в 2.1)
Значение по умолчанию:
""
Укажите дополнительные параметры, передав массив.
group
Имя группы, которая должна владеть файлом/каталогом, как если бы это было передано в chown.
keep_newer
bool

(добавлено в 2.1)
    Варианты:
  • нет ←
  • да
Не заменять существующие файлы, которые новее файлов из архива.
list_files
bool

(добавлено в 2.0)
    Варианты:
  • нет ←
  • да
Если установлено в True, возвращается список файлов, содержащихся в tarball.
mode
Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо указать ведущую ноль, чтобы парсер YAML Ansible понимал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '0644'), чтобы Ansible получил строку и мог самостоятельно преобразовать строку в число. Если вы передадите Ansible число без одного из этих правил, результат будет десятичным числом, что может привести к неожиданным результатам. Начиная с версии 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r).
owner
Имя пользователя, который должен владеть файлом/каталогом, как если бы это было передано в chown.
remote_src
bool

(добавлено в 2.2)
    Варианты:
  • нет ←
  • да
Установите значение yes, чтобы указать, что архивированный файл уже находится на удаленной системе и не локален для контроллера Ansible.
Этот параметр несовместим с copy.
selevel Значение по умолчанию:
"s0"
Часть уровня контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. _default функция работает так же, как для seuser.
serole
Часть роли контекста файла SELinux, _default функция работает так же, как для seuser.
setype
Часть типа контекста файла SELinux, _default функция работает так же, как для seuser.
seuser
Часть пользователя контекста файла SELinux. Будет по умолчанию использовать политику системы, если применимо. Если установлено значение _default, будет использоваться user часть политики, если она доступна.
src
обязательный
Если remote_src=no (по умолчанию), локальный путь к файлу архива для копирования на целевой сервер; может быть абсолютным или относительным. Если remote_src=yes, путь на целевом сервере к существующему файлу архива для распаковки.
Если remote_src=yes и src содержат ://, удаленный компьютер сначала загрузит файл из URL-адреса. (добавлено в 2.0). Это только для простых случаев, для полной поддержки загрузки используйте модуль get_url.
unsafe_writes
bool

(добавлено в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Один из примеров – смонтированные файлы Docker, они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом.
Эта булева опция позволяет Ansible переходить к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных.
validate_certs
bool

(добавлено в 2.2)
    Варианты:
  • нет
  • да ←
Это относится только к использованию URL-адреса HTTPS в качестве источника файла.
Это должно быть установлено в значение no только для сайтов под собственным контролем, использующих самозаверяющие сертификаты.
До версии 2.2 код работал так, как будто это было установлено в значение yes.

Примечания

Примечание

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

Для получения списка других модулей, которые также поддерживаются командой Ansible Core, см. здесь.

Поддержка

Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/unarchive_module.html

Spec-Zone.ru

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