ansible.builtin.dnf – Управляет пакетами с помощью менеджера пакетов dnf
Примечание
Этот модуль входит в состав ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля dnf, даже не указывая ключевое слово collections:. Тем не менее, рекомендуется использовать полное имя модуля (FQCN) для удобной ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новое в версии 1.9: из ansible.builtin
Описание
- Устанавливает, обновляет, удаляет и перечисляет пакеты и группы с помощью менеджера пакетов dnf.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- python-dnf
- для опции autoremove требуется dnf >= 2.0.1”
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_downgrade boolean добавлен в версии 2.7 ansible.builtin |
| Указывает, разрешено ли понижение версии указанного пакета и версии до, возможно, уже установленной более новой версии этого пакета. Обратите внимание, что установка allow_downgrade=True может сделать этот модуль неидемпотентным. Задача может завершиться набором пакетов, не соответствующим полному списку указанных пакетов для установки (потому что зависимости между пониженным пакетом и другими могут вызвать изменения в пакетах, которые были в предыдущей транзакции). |
| allowerasing boolean добавлен в версии 2.10 ansible.builtin |
| Если yes, он разрешает удаление установленных пакетов для разрешения зависимостей. |
| autoremove boolean добавлен в версии 2.4 ansible.builtin |
| Если yes, удаляет все «листовые» пакеты из системы, которые изначально были установлены в качестве зависимостей пользовательских установленных пакетов, но больше не требуются ни одним таким пакетом. Следует использовать отдельно или когда состояние absent |
| bugfix boolean добавлен в версии 2.7 ansible.builtin |
| Если установлено yes, и state=latest, тогда устанавливаются только обновления, которые были помечены как исправление ошибок.Обратите внимание, что, аналогично ``dnf upgrade-minimal``, этот фильтр применяется и к зависимостям. |
| conf_file string | Файл удаленного конфигурации dnf, используемый для транзакции. | |
| disable_excludes string добавлен в версии 2.7 ansible.builtin | Отключить исключения, определенные в файлах конфигурации DNF. Если установлено all, отключаются все исключения.Если установлено main, отключаются исключения, определенные в [main] в dnf.conf.Если установлено repoid, отключаются исключения, определенные для данного идентификатора репозитория. | |
| disable_gpg_check boolean |
| Нужно ли отключить проверку GPG подписей устанавливаемых пакетов. Действует только если состояние present или latest. Эта настройка влияет на пакеты, установленные из репозитория, а также на «локальные» пакеты, установленные из файловой системы или URL. |
| disable_plugin list / elements=string добавлен в версии 2.7 ansible.builtin |
Имя плагина для отключения для операции установки/обновления. Отключенные плагины не сохранятся после транзакции. | |
| disablerepo list / elements=string |
Идентификатор репозитория для отключения на операции установки/обновления. Эти репозитории не сохранятся после транзакции. При указании нескольких репозиториев разделяйте их запятой. | |
| download_dir string добавлен в версии 2.8 ansible.builtin | Указывает альтернативную директорию для хранения пакетов. Действует только если указано download_only. | |
| download_only boolean добавлен в версии 2.7 ansible.builtin |
| Только загрузить пакеты, не устанавливать их. |
| enable_plugin list / elements=string добавлен в версии 2.7 ansible.builtin |
Имя плагина для включения для операции установки/обновления. Включенный плагин не сохранится после транзакции. | |
| enablerepo list / elements=string |
Идентификатор репозитория для включения на операции установки/обновления. Эти репозитории не сохранятся после транзакции. При указании нескольких репозиториев разделяйте их запятой. | |
| exclude list / elements=string добавлен в версии 2.7 ansible.builtin | Имя(я) пакета для исключения при состоянии=present или latest. Это может быть список или строка, разделенная запятыми. | |
| install_repoquery boolean добавлен в версии 2.7 ansible.builtin |
| Это фактически нет-операция в DNF, так как она не нужна в DNF, но является принятым параметром для обеспечения одинаковой функциональности/совместимости с модулем yum. |
| install_weak_deps boolean добавлен в версии 2.8 ansible.builtin |
| Также будут установлены все пакеты, связанные слабой зависимостью. |
| installroot string добавлен в версии 2.3 ansible.builtin | Значение по умолчанию: "/" | Указывает альтернативный installroot, относительно которого будут установлены все пакеты. |
| list string | Различные (неидемпотентные) команды для использования с /usr/bin/ansible и не playbook. См. примеры. | |
| lock_timeout integer добавлен в версии 2.8 ansible.builtin | Значение по умолчанию: 30 | Время ожидания освобождения файла блокировки dnf. |
| name list / elements=string / required | Имя пакета или спецификатор пакета с версией, например name-1.0. При использовании state=latest, это может быть '*' , что означает выполнить: dnf -y update. Также можно передать URL или локальный путь к файлу rpm. Для работы с несколькими пакетами это может принимать строку, разделенную запятыми, или список пакетов.Операторы сравнения для версии пакета допустимы здесь >, <, >=, <=. Пример - name>=1.0псевдонимы: pkg | |
| nobest boolean добавлен в версии 2.11 ansible.builtin |
| Установите best option в False, чтобы транзакции не ограничивались только лучшими кандидатами. |
| releasever string добавлен в версии 2.6 ansible.builtin | Указывает альтернативную версию, из которой будут установлены все пакеты. | |
| security boolean добавлен в версии 2.7 ansible.builtin |
| Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как связанные с безопасностью.Обратите внимание, что, аналогично ``dnf upgrade-minimal``, этот фильтр применяется и к зависимостям. |
| skip_broken boolean добавлен в версии 2.7 ansible.builtin |
| Пропустить пакеты с поврежденными зависимостями(devsolve) и создающими проблемы. |
| state string |
| Установка ( present, latest) или удаление (absent) пакета.Значение по умолчанию None, однако фактическое действие по умолчанию present, если параметр autoremove включен для данного модуля, тогда absent определяется по умолчанию. |
| update_cache boolean добавлен в версии 2.7 ansible.builtin |
| Принудительно заставить dnf проверить, не устарел ли кэш, и перескачать его при необходимости. Действует только если состояние present или latest. псевдонимы: expire-cache |
| update_only boolean добавлен в версии 2.7 ansible.builtin |
| При использовании latest, обновляются только установленные пакеты. Пакеты не устанавливаются. Действует только если состояние latest
|
| validate_certs boolean добавлен в версии 2.7 ansible.builtin |
| Это относится только к использованию https url в качестве источника rpm. например, для localinstall. Если установлено no, сертификаты SSL не будут проверены.Это следует устанавливать только на контролируемых лично сайтах, использующих самозаверяющие сертификаты, так как это позволяет избежать проверки источника сайта. |
Примечания
Примечание
- При использовании с
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: Install Apache >= 2.4
dnf:
name: httpd>=2.4
state: present
- name: Install the latest version of Apache and MariaDB
dnf:
name:
- httpd
- mariadb-server
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
Авторы
- Игорь Гнатенко (@ignatenkobrain) <i.gnatenko.brain@gmail.com>
- Кристиан ван И (DJMuggs) <cristian at cvee.org>
- Беренд де Шоувер (@berenddeschouwer)
- Адам Миллер (@maxamillion) <admiller@redhat.com>
© 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/ansible/builtin/dnf_module.html