Spec-Zone.ru › Ansible

Модуль community.general.decompress — распаковывает сжатые файлы

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить ее, используйте: ansible-galaxy collection install community.general. Для использования этого модуля могут потребоваться дополнительные зависимости. Подробнее см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.general.decompress.

Добавлено в community.general 10.1.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Распаковывает сжатые файлы.
  • Исходный (сжатый) файл и целевой (распакованный) файл находятся на удаленном узле.
  • После распаковки исходный файл можно удалить.

Требования

На узле, выполняющем этот модуль, необходимы следующие компоненты.

  • При использовании формата xz требуется lzma (стандартная библиотека Python 3).

Параметры

Параметр

Комментарии

attributes

псевдонимы: attr

строка

Атрибуты, которые должен иметь результирующий файловый объект.

Поддерживаемые флаги можно найти на целевой системе на странице руководства для chattr.

Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются в lsattr.

По умолчанию предполагается оператор =; в противном случае в строке необходимо указать операторы + или -.

dest

путь

Имя целевого файла, в который распаковывается сжатый файл.

Если целевой файл существует, его содержимое будет усечено и перезаписано.

Если параметр не указан, имя целевого файла формируется из src путем удаления расширения формата сжатия. Например, если src равен /path/to/file.txt.gz, а format равен gz, то dest равен /path/to/file.txt. Если файл src не имеет расширения для текущего format, имя файла dest формируется добавлением _decompressed к имени файла src. Например, если src равен /path/to/file.myextension, имя файла (dest) будет /path/to/file.myextension_decompressed.

format

строка

Формат сжатия, используемый для распаковки.

Варианты:

  • "gz" ← (по умолчанию)
  • "bz2"
  • "xz"

group

строка

Имя группы, которой должен принадлежать файловый объект; значение передается в chown.

Если значение не указано, используется текущая группа текущего пользователя. Если вы работаете от имени root, можно сохранить прежнего владельца.

mode

любой

Права доступа, которые должен иметь результирующий файловый объект.

Если вы привыкли к /usr/bin/chmod, помните, что режимы доступа на самом деле задаются восьмеричными числами. Ansible необходимо предоставить достаточно информации, чтобы правильно их интерпретировать. Для предсказуемого результата заключайте восьмеричные числа в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и самостоятельно преобразовал ее в число. Добавление ведущего нуля (например, 0755) иногда работает, но может привести к ошибке в циклах и некоторых других ситуациях.

Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет воспринято как десятичное, что приведет к неожиданным результатам.

Начиная с Ansible 1.8, режим можно задавать в символьном формате (например, u+rwx или u=rw,g=r,o=r).

Если mode не указан и целевой файловый объект не существует, при установке режима для нового файлового объекта будет использоваться системное значение по умолчанию umask.

Если mode не указан и целевой файловый объект существует, будет использоваться режим существующего файлового объекта.

Указание mode — лучший способ гарантировать, что файловые объекты создаются с правильными правами доступа. Подробнее см. CVE-2020-1736.

owner

строка

Имя пользователя, которому должен принадлежать файловый объект; значение передается в chown.

Если значение не указано, используется текущий пользователь. Если вы работаете от имени root, можно сохранить прежнего владельца.

Числовое имя пользователя будет интерпретироваться как идентификатор пользователя, а не как имя. Во избежание этой неоднозначности не используйте числовые имена пользователей.

remove

логическое значение

Удалить исходный сжатый файл после распаковки.

Варианты:

  • false ← (по умолчанию)
  • true

selevel

строка

Часть уровня контекста файлового объекта SELinux.

Это атрибут MLS/MCS, иногда называемый range.

Если задано значение _default, будет использоваться часть политики level, если она доступна.

serole

строка

Часть роли контекста файлового объекта SELinux.

Если задано значение _default, будет использоваться часть политики role, если она доступна.

setype

строка

Часть типа контекста файлового объекта SELinux.

Если задано значение _default, будет использоваться часть политики type, если она доступна.

seuser

строка

Часть пользователя контекста файлового объекта SELinux.

По умолчанию используется политика system, если применимо.

Если задано значение _default, будет использоваться часть политики user, если она доступна.

src

путь / обязательный

Абсолютный путь на удаленном узле к файлу для распаковки.

unsafe_writes

логическое значение

Определяет, когда использовать атомарную операцию, чтобы предотвратить повреждение данных или несогласованное чтение целевого файлового объекта.

По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых файловых объектов. Однако иногда конфигурация систем или их неисправности не позволяют этого. Например, файловые объекты, смонтированные в Docker, невозможно атомарно обновить из контейнера — их можно записать только небезопасным способом.

Этот параметр позволяет Ansible при сбое атомарных операций использовать небезопасные методы обновления файловых объектов (однако он не заставляет Ansible выполнять небезопасную запись).

ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных.

Варианты:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения статуса, не изменяя целевой объект.

diff_mode

Поддержка: отсутствует

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_mode).

Примеры

- name: Decompress file /path/to/file.txt.gz into /path/to/file.txt (gz compression is used by default)
  community.general.decompress:
    src: /path/to/file.txt.gz
    dest: /path/to/file.txt

- name: Decompress file /path/to/file.txt.gz into /path/to/file.txt
  community.general.decompress:
    src: /path/to/file.txt.gz

- name: Decompress file compressed with bzip2
  community.general.decompress:
    src: /path/to/file.txt.bz2
    dest: /path/to/file.txt
    format: bz2

- name: Decompress file and delete the compressed file afterwards
  community.general.decompress:
    src: /path/to/file.txt.gz
    dest: /path/to/file.txt
    remove: true

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

dest

строка

Путь к распакованному файлу.

Возвращается: при успехе

Пример: "/path/to/file.txt"

Авторы

  • Stanislav Shamilov (@shamilovstas)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/decompress_module.html

Spec-Zone.ru

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