Spec-Zone.ru › Ansible 2.8

dnf – Управляет пакетами с помощью менеджера пакетов dnf

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Состояние

Обзор

  • Устанавливает, обновляет, удаляет и перечисляет пакеты и группы с помощью менеджера пакетов dnf.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.6
  • python-dnf
  • для опции autoremove требуется dnf >= 2.0.1”

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_downgrade
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Указывает, разрешено ли понизить версию указанного пакета и версии, возможно, уже установленной более новой версии этого пакета. Обратите внимание, что установка allow_downgrade=True может заставить этот модуль вести себя неидемпотентно. Задача может закончиться набором пакетов, которые не соответствуют полному списку указанных пакетов для установки (потому что зависимости между пониженным пакетом и другими могут привести к изменениям в пакетах, которые были в предыдущей транзакции).
autoremove
boolean
добавлено в 2.4
    Варианты:
  • нет ←
  • да
Если yes, удаляет все «листовые» пакеты из системы, которые изначально были установлены как зависимости пользовательских установленных пакетов, но которые больше не требуются ни одним таким пакетом. Следует использовать самостоятельно или при состоянии absent
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 подписей пакетов, которые будут установлены. Оказывает влияние только если состояние present или latest.
Эта настройка влияет на пакеты, установленные из репозитория, а также на «локальные» пакеты, установленные из файловой системы или URL.
disable_plugin
-
добавлено в 2.7
Имя плагина для отключения для операции установки/обновления. Отключенные плагины не сохранятся после транзакции.
disablerepo
-
Идентификатор репозитория репозиториев для отключения для операции установки/обновления. Эти репозитории не сохранятся после транзакции. При указании нескольких репозиториев разделяйте их запятыми.
download_dir
строка
добавлено в 2.8
Указывает альтернативную директорию для хранения пакетов.
Оказывает влияние только если указано download_only.
download_only
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Только загрузить пакеты, не устанавливать их.
enable_plugin
-
добавлено в 2.7
Имя плагина для включения для операции установки/обновления. Включенный плагин не сохранится после транзакции.
enablerepo
-
Идентификатор репозитория репозиториев для включения для операции установки/обновления. Эти репозитории не сохранятся после транзакции. При указании нескольких репозиториев разделяйте их запятыми.
exclude
-
добавлено в 2.7
Имя(а) пакета(ов) для исключения, когда state=present или latest. Может быть списком или строкой, разделенной запятыми.
install_repoquery
boolean
добавлено в 2.7
  • нет
  • да ←
Это фактически нет-действие в DNF, так как оно не требуется в DNF, но является принятым параметром для совместимости с модулем yum.
install_weak_deps
boolean
добавлено в 2.8
  • нет
  • да ←
Также будут установлены все пакеты, связанные слабой зависимостью.
installroot
-
добавлено в 2.3
Значение по умолчанию:
"/"
Указывает альтернативный installroot, относительно которого будут установлены все пакеты.
list
-
Различные (неидемпотентные) команды для использования с /usr/bin/ansible и не с playbooks. См. примеры.
lock_timeout
целое число
добавлено в 2.8
Значение по умолчанию:
30
Время ожидания освобождения файла блокировки dnf.
name
- / требуется
Имя пакета или спецификатор пакета с версией, например name-1.0. При использовании state=latest, это может быть '*', что означает выполнение: dnf -y update. Вы также можете передать URL или локальный путь к файлу rpm. Чтобы работать с несколькими пакетами, это может принимать строку пакетов, разделенных запятыми, или список пакетов.

псевдонимы: pkg
releasever
-
добавлено в 2.6
Указывает альтернативную версию выпуска, из которой будут установлены все пакеты.
security
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Если установлено yes, и state=latest, то устанавливаются только обновления, которые были помечены как относящиеся к безопасности.
skip_broken
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Пропустить пакеты с поврежденными зависимостями (devsolve) и создающими проблемы.
state
-
    Варианты:
  • absent
  • present
  • installed
  • removed
  • latest
Установка (present, latest) или удаление (absent) пакета.
Значение по умолчанию None, однако фактически действие по умолчанию present, если опция autoremove включена для этого модуля, то absent предполагается.
update_cache
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Принудительно заставить dnf проверить, не устарел ли кэш, и перескачать, если необходимо. Оказывает влияние только если состояние present или latest.

псевдонимы: expire-cache
update_only
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
При использовании latest, только обновлять установленные пакеты. Не устанавливать пакеты.
Оказывает влияние только если состояние latest
validate_certs
boolean
added in 2.7
    Выберите:
  • нет
  • да ←
Это применимо только при использовании https-url в качестве источника rpm. Например, для localinstall. Если установлено значение no, сертификаты SSL не будут проверены.
Это значение следует устанавливать только для сайтов, контролируемых лично, использующих самозаверяющие сертификаты, так как это позволяет избежать проверки источника сайта.

Примечания

Примечание

  • При использовании с loop:, каждый пакет будет обрабатываться индивидуально. Гораздо эффективнее передавать список напрямую в опцию name.
  • Удаление групп не работает, если группа была установлена с помощью Ansible, потому что API dnf в upstream не правильно помечает группы как установленные. Поэтому при удалении модуль не может определить, что группа установлена (https://bugzilla.redhat.com/show_bug.cgi?id=1620324)

Примеры

- name: install the latest version of Apache
  dnf:
    name: httpd
    state: latest

- 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

Статус

  • Этот модуль гарантированно не будет иметь изменений в интерфейсе, не совместимых с предыдущими версиями. [stableinterface]
  • Этот модуль поддерживается командой разработчиков Ansible. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • Игорь Гнатенко (@ignatenkobrain) <i.gnatenko.brain@gmail.com>
  • Cristian van Ee (@DJMuggs) <cristian at cvee.org>
  • Berend De Schouwer (@berenddeschouwer)
  • Adam Miller (@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.8/modules/dnf_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API