Spec-Zone.ru › Ansible 2.9

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, удаляет все пакеты-листья из системы, которые изначально были установлены как зависимости пользовательских пакетов, но больше не требуются ни одним из таких пакетов. Должен использоваться отдельно или когда состояние отсутствует
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
string
добавлен в 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
-
По умолчанию:
"/"
Указывает альтернативный installroot, относительно которого будут устанавливаться все пакеты.
list
-
Различные (неидемпотентные) команды для использования с /usr/bin/ansible и не с playbooks. См. примеры.
lock_timeout
integer
добавлен в 2.8
По умолчанию:
30
Время ожидания освобождения файла блокировки dnf.
name
list / elements=string / обязательно
Имя пакета или спецификатор пакета с версией, например 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
-
  • отсутствует
  • присутствует
  • установлен
  • удален
  • последняя версия
Устанавливать (present, latest) или удалять (absent) пакет.
По умолчанию None, однако фактически действие по умолчанию present, если для этого модуля включена опция autoremove, тогда absent подразумевается.
update_cache
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
Вынудить dnf проверить, не устарел ли кэш, и перескачать его при необходимости. Имеет значение только если состояние присутствует или последняя версия.

псевдонимы: expire-cache
update_only
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
При использовании последней версии, обновлять только установленные пакеты. Не устанавливать новые пакеты.
Имеет значение только если состояние последняя версия
validate_certs
boolean
добавлено в 2.7
    Варианты:
  • нет
  • да ←
Это применимо только при использовании 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 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. [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.9/modules/dnf_module.html

Spec-Zone.ru

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