Spec-Zone.ru › Ansible 2.7

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

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

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

Описание

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

Параметры

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

псевдонимы: attr
copy
boolean
    Варианты:
  • нет
  • да ←
Если значение true, файл копируется с локального 'master' на целевой компьютер, в противном случае плагин будет искать архив src на целевом компьютере.
Этот параметр устарел в пользу remote_src.
Этот параметр несовместим с remote_src.
creates
-
добавлен в 1.6
Если указанный абсолютный путь (файл или каталог) уже существует, этот шаг не будет выполнен.
decrypt
boolean
добавлен в 2.4
    Варианты:
  • нет
  • да ←
Этот параметр управляет автоматическим дешифрованием исходных файлов с помощью vault.
dest
- / обязательно
Абсолютный удаленный путь, куда должен быть распакован архив.
exclude
-
добавлен в 2.1
Список каталогов и файлов, которые нужно исключить из действия распаковки.
extra_opts
-
добавлен в 2.1
По умолчанию:
""
Укажите дополнительные параметры, передав массив.
group
-
Имя группы, которая должна владеть файлом/каталогом, как если бы оно передавалось в chown.
keep_newer
boolean
добавлен в 2.1
    Варианты:
  • нет ←
  • да
Не заменять существующие файлы, которые новее, чем файлы из архива.
list_files
boolean
добавлен в 2.0
    Варианты:
  • нет ←
  • да
Если установлено значение True, возвращается список файлов, содержащихся в архиве.
mode
-
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и выполнил собственное преобразование из строки в число. Если Ansible получит число без соблюдения одного из этих правил, это будет десятичное число, что приведет к непредсказуемым результатам. Начиная с версии 1.8, режим может быть указан как символический режим (например, u+rwx или u=rw,g=r,o=r).
owner
-
Имя пользователя, который должен владеть файлом/каталогом, как если бы оно передавалось в chown.
remote_src
boolean
добавлен в 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
boolean
добавлен в 2.2
    Варианты:
  • нет ←
  • да
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов при сбое атомарных операций (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
validate_certs
boolean
добавлен в 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. [ядро]

Поддержка 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.7/modules/unarchive_module.html

Spec-Zone.ru

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