unarchive - Распаковывает архив после (необязательно) копирования его с локального компьютера.
Новая версия с 1.4.
Описание
- Модуль
unarchiveраспаковывает архив. - По умолчанию он копирует исходный файл с локальной системы на целевой сервер перед распаковкой.
- Установите
remote_src=yesдля распаковки архива, который уже существует на целевом сервере. - Для целевых систем Windows используйте модуль win_unzip.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлено в 2.3) | Значение по умолчанию: None | Атрибуты, которые должен иметь файл или директория. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr. псевдонимы: attr |
| copy |
| Если true, файл копируется с локального «главного» на целевой компьютер, иначе плагин будет искать архив src на целевом компьютере. Этот параметр устарел в пользу remote_src.Этот параметр несовместим с remote_src. |
| creates (добавлено в 1.6) | Если указанный абсолютный путь (файл или директория) уже существует, этот шаг не будет выполнен. | |
| decrypt (добавлено в 2.4) |
Yes | Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| dest обязательно | Абсолютный удаленный путь, куда должен быть распакован архив. | |
| exclude (добавлено в 2.1) | Список директорий и файлов, которые следует исключить из действия распаковки. | |
| extra_opts (добавлено в 2.1) | Значение по умолчанию: | Укажите дополнительные параметры, передав массив. |
| group | Значение по умолчанию: None | Имя группы, которая должна владеть файлом/директорией, как это передается в chown. |
| keep_newer (добавлено в 2.1) |
| Не заменять существующие файлы, которые новее, чем файлы из архива. |
| list_files (добавлено в 2.0) |
| Если установлено в True, возвращается список файлов, содержащихся в архиве tarball. |
| mode | Значение по умолчанию: None | Режим файла или директории. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Пропуск ведущей нули, вероятно, приведет к непредсказуемым результатам. Начиная с версии 1.8, режим может быть указан как символьный режим (например, u+rwx или u=rw,g=r,o=r). |
| owner | Значение по умолчанию: None | Имя пользователя, который должен владеть файлом/директорией, как это передается в chown. |
| remote_src (добавлено в 2.2) |
| Установите в yes для указания, что архивированный файл уже находится на удаленной системе, а не на локальном контроллере Ansible.Этот параметр несовместим с copy. |
| selevel | Значение по умолчанию: s0 | Уровень части контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает так же, как для seuser. |
| serole | Значение по умолчанию: None | Роль части контекста файла SELinux, функция _default работает так же, как для seuser. |
| setype | Значение по умолчанию: None | Тип части контекста файла SELinux, функция _default работает так же, как для seuser. |
| seuser | Значение по умолчанию: None | Пользовательская часть контекста файла SELinux. По умолчанию будет использовать политику системы, если применимо. Если установлено в _default, будет использоваться часть политики user при наличии. |
| src обязательно | Если remote_src=no (значение по умолчанию), локальный путь к файлу архива, который нужно скопировать на целевой сервер; может быть абсолютным или относительным. Если remote_src=yes, путь на целевом сервере к существующему файлу архива для распаковки.Если remote_src=yes и src содержат ://, удаленный компьютер сначала загрузит файл из URL. (добавлено в версии 2.0). Это только для простых случаев, для полной поддержки загрузки используйте модуль get_url. | |
| unsafe_writes (добавлено в 2.2) |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, иногда системы настроены или просто сломаны таким образом, что это невозможно. Одним примером являются файлы, смонтированные с помощью Docker; они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом. Этот логический параметр позволяет 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не поддерживается, архив всегда будет распакован. - Существующие файлы/директории в пункте назначения, которые не находятся в архиве, не затрагиваются. Это то же поведение, что и при обычном извлечении архива.
- Существующие файлы/директории в пункте назначения, которые не находятся в архиве, игнорируются для определения, должен ли быть распакован архив или нет.
- Для целевых систем 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
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет иметь обратную совместимость.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.5/modules/unarchive_module.html