community.general.dpkg_divert – Переопределение версии файла пакета debian
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.dpkg_divert.
Новое в версии 0.2.0: of community.general
Обзор
- Отклонение используется для
dpkgпонимания, что только данный пакет (или местный администратор) может установить файл в указанном месте. Другие пакеты, поставляющие собственную версию этого файла, будут вынуждены отклонить его, т.е. установить его в другом месте. Это позволяет сохранять изменения в файле, предоставляемом пакетом debian, предотвращая его перезапись при обновлении пакета. - Этот модуль управляет отклонениями файлов пакетов debian, используя утилиту командной строки
dpkg-divert. Он может либо создать, либо удалить отклонение для заданного файла, а также обновить существующее отклонение, чтобы изменить его держателя и/или его местоположение отклонения.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- dpkg-divert >= 1.15.0 (семейство Debian)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| divert путь | Местоположение, куда будут отклоняться версии файла. По умолчанию добавляется суффикс .distrib к пути к файлу.Этот параметр игнорируется, когда state=absent. | |
| force логическое значение |
| При rename=true и force=true переименование выполняется, даже если целевой файл уже существует, т.е. содержимое существующего файла в этом месте будет потеряно. Этот параметр игнорируется, когда rename=false. |
| holder строка | Имя пакета, чья копия файла не отклонена, также известный как держатель отклонения или пакет, к которому относится отклонение. Фактический пакет не должен быть установлен или даже существовать, чтобы его имя было допустимым. Если не указано, отклонение принадлежит 'LOCAL', что зарезервировано/предназначено dpkg для локальных отклонений. Этот параметр игнорируется, когда state=absent. | |
| path путь / обязательно | Исходный и абсолютный путь к файлу, который необходимо отклонить или отменить отклонение. Этот путь уникален, т.е. невозможно получить два отклонения для одного и того же path. | |
| rename логическое значение |
| Фактически переместить файл в сторону (когда state=present) или обратно (когда state=absent), но только при изменении состояния отклонения. Этот параметр не оказывает влияния при попытке добавить отклонение, которое уже существует, или при удалении несуществующего. Если force=true, переименование не удается, если целевой файл уже существует (эта блокировка является функцией dpkg-divert, а ее обход — функцией модуля). |
| state строка |
| Когда state=absent, удалить отклонение указанного path; когда state=present, создать отклонение, если оно не существует, или обновить его пакет holder или местоположение divert, если оно уже существует. |
Примечания
Примечание
- Этот модуль поддерживает check_mode и diff.
Примеры
- 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: yes
- name: Remove the busybox diversion and move the diverted file back
community.general.dpkg_divert:
path: /usr/bin/busybox
state: absent
rename: yes
force: yes
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| commands список / элементы=строка | on_success | Команды dpkg-divert, запущенные внутри модуля. Пример: [ "/usr/bin/dpkg-divert --no-rename --remove /etc/foobarrc", "/usr/bin/dpkg-divert --package ansible --no-rename --add /etc/foobarrc" ] | |
| diversion словарь | всегда | Состояние отклонения после выполнения задачи. Пример: { "divert": "/etc/foobarrc.distrib", "holder": "LOCAL", "path": "/etc/foobarrc" "state": "present" } | |
| divert строка | успешно | Местоположение отклоненного файла. | |
| holder строка | успешно | Пакет, содержащий отклонение. | |
| path строка | успешно | Путь к файлу для отклонения/отмены отклонения. | |
| state строка | успешно | Состояние отклонения. | |
| messages список / элементы=строка | on_success | Соответствующие сообщения dpkg-divert (stdout или stderr). Пример: [ "Удаление 'локального отклонения /etc/foobarrc в /etc/foobarrc.distrib'", "Добавление 'отклонения /etc/foobarrc в /etc/foobarrc.distrib пакетом ansible'" ] | |
Авторы
- quidame (@quidame)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/dpkg_divert_module.html