dnf – Управляет пакетами с помощью менеджера пакетов dnf
Новая версия 1.9.
Описание
- Устанавливает, обновляет, удаляет и перечисляет пакеты и группы с помощью менеджера пакетов dnf.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- python-dnf
- для опции autoremove необходимо dnf >= 2.0.1”
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_downgrade boolean добавлено в 2.7 |
| Указывает, разрешено ли понижение версии указанного пакета и версии, возможно, уже установленной более высокой версии этого пакета. Обратите внимание, что установка allow_downgrade=True может заставить этот модуль вести себя неидемпотентно. Задача может завершиться набором пакетов, который не соответствует полному списку указанных пакетов для установки (потому что зависимости между пониженным пакетом и другими могут вызвать изменения в пакетах, которые были в более ранней транзакции). |
| autoremove boolean добавлено в 2.4 |
| Если yes, удаляет все "листовые" пакеты из системы, которые изначально были установлены как зависимости пользовательских пакетов, но больше не требуются ни одним из таких пакетов. Должен использоваться самостоятельно или когда состояние отсутствует |
| bugfix boolean добавлено в 2.7 |
| Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как связанные с исправлениями ошибок. |
| conf_file - | Файл удалённой конфигурации dnf, который следует использовать для транзакции. | |
| disable_excludes - добавлено в 2.7 | Отключить исключения, определённые в файлах конфигурации DNF. Если установлено all, отключает все исключения.Если установлено main, отключает исключения, определённые в [main] в dnf.conf.Если установлено repoid, отключает исключения, определённые для данного идентификатора репозитория. | |
| disable_gpg_check boolean |
| Отключить проверку GPG подписей устанавливаемых пакетов. Действует только если состояние есть или последняя версия. |
| disable_plugin - добавлено в 2.7 |
Имя плагина для отключения для операции установки/обновления. Отключенные плагины не сохраняются после завершения транзакции. | |
| disablerepo - |
Идентификатор репозитория для отключения репозиториев для операции установки/обновления. Эти репозитории не сохраняются после завершения транзакции. При указании нескольких репозиториев разделяйте их запятой. | |
| download_only boolean добавлено в 2.7 |
| Только скачать пакеты, не устанавливать их. |
| enable_plugin - добавлено в 2.7 |
Имя плагина для включения для операции установки/обновления. Включенный плагин не сохраняется после завершения транзакции. | |
| enablerepo - |
Идентификатор репозитория для включения репозиториев для операции установки/обновления. Эти репозитории не сохраняются после завершения транзакции. При указании нескольких репозиториев разделяйте их запятой. | |
| exclude - добавлено в 2.7 | Имя(а) пакета(ов) для исключения, когда state=present или latest. Это может быть список или строка, разделённая запятыми. | |
| install_repoquery boolean добавлено в 2.7 |
| Это фактически бесполезная операция в DNF, так как это не нужно в DNF, но является принятым параметром для обеспечения одинаковости функций/совместимости с модулем yum. |
| installroot - добавлено в 2.3 | По умолчанию: "/" | Указывает альтернативный installroot, относительно которого будут установлены все пакеты. |
| list - | Различные (неидемпотентные) команды для использования с /usr/bin/ansible и не playbooks. См. примеры. | |
| name - / обязательно | Имя пакета или спецификатор пакета с версией, например name-1.0. При использовании state=latest, это может быть '*' что означает запуск: dnf -y update. Также можно передать URL или локальный путь к файлу rpm. Для работы с несколькими пакетами это может принять строку, разделённую запятыми, пакетов или список пакетов.псевдонимы: pkg | |
| releasever - добавлено в 2.6 | По умолчанию: null | Указывает альтернативную версию, с которой будут установлены все пакеты. |
| security boolean добавлено в 2.7 |
| Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как связанные с безопасностью. |
| skip_broken boolean добавлено в 2.7 |
| Пропустить пакеты с повреждёнными зависимостями(devsolve) и вызывающими проблемы. |
| state - |
| Установка ( present, latest) или удаление (absent) пакета.По умолчанию None, однако фактически действие по умолчанию - present, если параметр autoremove включён для данного модуля, то absent подразумевается. |
| update_cache boolean добавлено в 2.7 |
| Вынудить dnf проверить, не устарел ли кеш, и перескачать при необходимости. Действует только если состояние есть или последняя версия. псевдонимы: expire-cache |
| update_only boolean добавлено в 2.7 |
| При использовании latest, обновлять только установленные пакеты. Не устанавливать новые пакеты. Действует только если состояние последняя версия |
| validate_certs boolean добавлено в 2.7 |
| Это применимо только при использовании https url в качестве источника rpm. Например, для localinstall. Если установлено no, сертификаты SSL не будут проверены.Это должно быть установлено только в no на контролируемых вами сайтах, использующих самозаверяющие сертификаты, так как это позволяет избежать проверки источника сайта. |
Примечания
Примечание
- При использовании с
loop:каждый пакет будет обрабатываться индивидуально, гораздо эффективнее передать список непосредственно в опциюname. - Удалённые группы не работают, если группа была установлена с помощью Ansible, потому что API upstream dnf неправильно помечает группы как установленные, поэтому при удалении модуль не может определить, что группа установлена (https://bugzilla.redhat.com/show_bug.cgi?id=1620324)
Примеры
- name: install the latest version of Apache
dnf:
name: httpd
state: latest
- name: remove the Apache package
dnf:
name: httpd
state: absent
- name: install the latest version of Apache from the testing repo
dnf:
name: httpd
enablerepo: testing
state: present
- name: upgrade all packages
dnf:
name: "*"
state: latest
- name: install the nginx rpm from a remote repo
dnf:
name: 'http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm'
state: present
- name: install nginx rpm from a local file
dnf:
name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
state: present
- name: install the 'Development tools' package group
dnf:
name: '@Development tools'
state: present
- name: Autoremove unneeded packages installed as dependencies
dnf:
autoremove: yes
- name: Uninstall httpd but keep its dependencies
dnf:
name: httpd
state: absent
autoremove: no
- name: install a modularity appstream with defined stream and profile
dnf:
name: '@postgresql:9.6/client'
state: present
- name: install a modularity appstream with defined stream
dnf:
name: '@postgresql:9.6'
state: present
- name: install a modularity appstream with defined profile
dnf:
name: '@postgresql/client'
state: present
Статус
- Этот модуль гарантирует отсутствие обратной несовместимости в будущих изменениях интерфейса. [stableinterface]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Игорь Гнатенко (@ignatenkobrain) <i.gnatenko.brain@gmail.com>
- Cristian van Ee (@DJMuggs) <cristian at cvee.org>
- Беренд де Шоувер (@berenddeschouwer)
- Адам Миллер (@maxamillion) <admiller@redhat.com>
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/dnf_module.html