Spec-Zone.ru › Ansible

Модуль community.general.dpkg_divert — переопределение версии файла из пакета Debian

Примечание

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

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

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

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

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

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

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

  • Перенаправление предназначено для dpkg информации о том, что устанавливать файл в заданное расположение разрешено только определённому пакету (или локальному администратору). Другие пакеты, содержащие собственную версию этого файла, принудительно divert её, то есть устанавливают файл в другое расположение. Это позволяет сохранять изменения файла, предоставленного пакетом Debian, предотвращая его перезапись при обновлении пакета.
  • Этот модуль управляет перенаправлениями файлов пакетов Debian с помощью инструмента командной строки dpkg-divert. Он может создавать и удалять перенаправление для указанного файла, а также обновлять существующее перенаправление, изменяя его holder и/или его расположение divert.

Требования

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

  • dpkg-divert >= 1.15.0 (семейство Debian)

Параметры

Параметр

Комментарии

divert

путь

Расположение, куда перенаправляются версии файла.

По умолчанию к пути файла добавляется суффикс .distrib.

Этот параметр игнорируется, если state=absent.

force

логический

Если rename=true и force=true, переименование выполняется, даже если целевой файл уже существует; иными словами, существующее содержимое файла в этом расположении будет потеряно.

Этот параметр игнорируется, если rename=false.

Допустимые значения:

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

holder

строка

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

Фактический пакет не обязательно должен быть установлен или даже существовать, чтобы его имя считалось допустимым. Если параметр не указан, перенаправление принадлежит «LOCAL» — имени, зарезервированному dpkg для локальных перенаправлений.

Этот параметр игнорируется, если state=absent.

path

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

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

rename

логический

Фактически переместить файл в сторону (если state=present) или вернуть обратно (если state=absent), но только при изменении состояния перенаправления. Этот параметр не действует при попытке добавить уже существующее перенаправление или удалить несуществующее.

Если не задано force=true, переименование завершается ошибкой, если файл назначения уже существует (эта блокировка является функцией dpkg-divert, а её обход — функцией модуля).

Допустимые значения:

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

state

строка

Если state=absent, удалить перенаправление указанного path; если state=present, создать перенаправление, если оно не существует, либо обновить пакет holder или расположение divert, если перенаправление уже существует.

Допустимые значения:

  • "absent"
  • "present" ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

В режиме сравнения возвращает сведения об изменениях (или о том, что, возможно, потребуется изменить в check_mode).

Примеры

- name: Divert /usr/bin/busybox to /usr/bin/busybox.distrib and keep file in place
  community.general.dpkg_divert:
    path: /usr/bin/busybox

- name: Divert /usr/bin/busybox by package 'branding'
  community.general.dpkg_divert:
    path: /usr/bin/busybox
    holder: branding

- name: Divert and rename busybox to busybox.dpkg-divert
  community.general.dpkg_divert:
    path: /usr/bin/busybox
    divert: /usr/bin/busybox.dpkg-divert
    rename: true

- name: Remove the busybox diversion and move the diverted file back
  community.general.dpkg_divert:
    path: /usr/bin/busybox
    state: absent
    rename: true
    force: true

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

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

Ключ

Описание

commands

список / элементы=строка

Команды dpkg-divert, выполненные модулем.

Возвращается: on_success

Пример: ["/usr/bin/dpkg-divert --no-rename --remove /etc/foobarrc"]

diversion

словарь

Состояние перенаправления после выполнения задачи.

Возвращается: всегда

Пример: {"divert": "/etc/foobarrc.distrib", "holder": "LOCAL", "path": "/etc/foobarrc", "state": "present"}

divert

строка

Расположение перенаправленного файла.

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

holder

строка

Пакет, которому принадлежит перенаправление.

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

path

строка

Путь к файлу, перенаправление которого нужно создать или отменить.

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

state

строка

Состояние перенаправления.

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

messages

список / элементы=строка

Сообщения dpkg-divert (stdout или stderr).

Возвращается: on_success

Пример: ["Removing 'local diversion of /etc/foobarrc to /etc/foobarrc.distrib'"]

Авторы

  • quidame (@quidame)

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

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

© 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/dpkg_divert_module.html

Spec-Zone.ru

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