community.general.dpkg_divert – Переопределение версии файла пакета Debian
Примечание
Этот плагин является частью коллекции community.general (версия 1.3.2).
Для его установки используйте: 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 список / элементы=строка | при_успехе | Команды 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 список / элементы=строка | при_успехе | Соответствующие сообщения dpkg-divert (stdout или stderr). Пример: [ "Удаление 'локального отклонения /etc/foobarrc в /etc/foobarrc.distrib'", "Добавление 'отклонения /etc/foobarrc в /etc/foobarrc.distrib от ansible'" ] | |
Авторы
- quidame (@quidame)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/dpkg_divert_module.html