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