Модуль community.general.dnf_versionlock – блокировка версий пакетов в системах на базе dnf
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля могут потребоваться дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.dnf_versionlock.
Добавлено в community.general 4.0.0
Краткое описание
- Блокирует версии пакетов с помощью плагина
versionlockв системах на базеdnf. Этот плагин принимает набор имен пакетов и их версий и исключает все остальные версии этих пакетов. Например, это позволяет защитить пакеты от обновления до более новых версий. Состояние плагина, отражающее блокировку пакетов, — этоlocklist.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- dnf
- dnf-plugin-versionlock
Параметры
Параметр | Комментарии |
|---|---|
name list / elements=string | Спецификация имени пакета, которую нужно добавить в Этот параметр не может использоваться вместе с По умолчанию: |
raw boolean | Не разрешать спецификации имен пакетов в NEVRA для определения конкретной версии, которую нужно заблокировать. Вместо этого спецификации имен пакетов используются как есть. Это позволяет блокировать версии пакета, которые пока недоступны. Варианты:
|
state string | Добавить (
Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: частичная Логика плагина Иногда модуль может спрогнозировать изменения в | Может работать в режиме |
diff_mode | Поддержка: отсутствует | В режиме diff возвращает сведения об изменениях (или о тех, которые, возможно, требуется внести в |
Примечания
Примечание
- В идеальном мире у плагина
versionlockбыл бы режим пробного запуска, который позволял бы точно знать, что произойдет. Пока приходится полагаться на максимально точное предположение о его поведении, основанное на анализе кода. - В большинстве случаев, когда требуется заблокировать или разблокировать определенные версии пакета, модуль работает достаточно хорошо.
- Не работает с
dnf5.
Примеры
- name: Prevent installed nginx from being updated
community.general.dnf_versionlock:
name: nginx
state: present
- name: Prevent multiple packages from being updated
community.general.dnf_versionlock:
name:
- nginx
- haproxy
state: present
- name: Remove lock from nginx to be updated again
community.general.dnf_versionlock:
name: nginx
state: absent
- name: Exclude bind 32:9.11 from installs or updates
community.general.dnf_versionlock:
name: bind-32:9.11*
state: excluded
- name: Keep bash package in major version 4
community.general.dnf_versionlock:
name: bash-0:4.*
raw: true
state: present
- name: Delete all entries in the locklist of versionlock
community.general.dnf_versionlock:
state: clean
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
locklist_post list / elements=string | Список блокировок после выполнения модуля. Возвращается: при успешном выполнении и (если это не режим check или состояние не clean) Пример: |
locklist_pre list / elements=string | Список блокировок до выполнения модуля. Возвращается: при успешном выполнении Пример: |
specs_toadd list / elements=string | Спецификации имен пакетов, которые versionlock должен добавить. Возвращается: при успешном выполнении Пример: |
specs_todelete list / elements=string | Спецификации имен пакетов, которые versionlock должен удалить. Возвращается: при успешном выполнении Пример: |
Ссылки на коллекцию
© 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/dnf_versionlock_module.html