Spec-Zone.ru › Ansible 2.10

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
логический
добавлен в 2.7 ansible.builtin
    Варианты:
  • нет ←
  • да
Указывает, разрешено ли понизить версию установленного пакета. Обратите внимание, что установка allow_downgrade=True может привести к неидемпотентному поведению этого модуля. Задача может закончиться с набором пакетов, не соответствующим полному списку указанных пакетов для установки (потому что зависимости между пониженным пакетом и другими могут вызвать изменения в пакетах, которые были в предыдущей транзакции).
allowerasing
логический
добавлен в 2.10 ansible.builtin
    Варианты:
  • нет ←
  • да
Если yes, то это разрешает удаление установленных пакетов для разрешения зависимостей.
autoremove
логический
добавлен в 2.4 ansible.builtin
    Варианты:
  • нет ←
  • да
Если yes, удаляет все "листовые" пакеты из системы, которые изначально были установлены как зависимости пользовательских пакетов, но больше не требуются ни одним из таких пакетов. Должен использоваться отдельно или когда состояние отсутствует
bugfix
логический
добавлен в 2.7 ansible.builtin
    Варианты:
  • нет ←
  • да
Если установлено yes, и state=latest, тогда устанавливаются только обновления, которые были помечены как исправления ошибок.
Обратите внимание, что, аналогично ``dnf upgrade-minimal``, этот фильтр применяется и к зависимостям.
conf_file
строка
Удаленный файл конфигурации dnf для использования в транзакции.
disable_excludes
строка
добавлен в 2.7 ansible.builtin
Отключить исключения, определенные в файлах конфигурации DNF.
Если установлено all, отключает все исключения.
Если установлено main, отключает исключения, определенные в [main] в dnf.conf.
Если установлено repoid, отключает исключения, определенные для данного идентификатора репозитория.
disable_gpg_check
логический
    Варианты:
  • нет ←
  • да
Выключает ли проверку подписей GPG пакетов, которые устанавливаются. Действует только в том случае, если состояние present или latest.
Эта настройка влияет на пакеты, установленные из репозитория, а также на "локальные" пакеты, установленные из файловой системы или URL.
disable_plugin
строка
добавлен в 2.7 ansible.builtin
Имя плагина для отключения для операции установки/обновления. Отключенные плагины не будут сохраняться после транзакции.
disablerepo
строка
Идентификатор репозитория для отключения для операции установки/обновления. Эти репозитории не будут сохраняться после транзакции. При указании нескольких репозиториев разделяйте их запятыми.
download_dir
строка
добавлен в 2.8 ansible.builtin
Указывает альтернативную директорию для хранения пакетов.
Действует только при указании download_only.
download_only
логический
добавлен в 2.7 ansible.builtin
    Варианты:
  • нет ←
  • да
Только загрузить пакеты, не устанавливать их.
enable_plugin
строка
добавлен в 2.7 ansible.builtin
Имя плагина для включения для операции установки/обновления. Включенный плагин не будет сохраняться после транзакции.
enablerepo
строка
Идентификатор репозитория для включения для операции установки/обновления. Эти репозитории не будут сохраняться после транзакции. При указании нескольких репозиториев разделяйте их запятыми.
exclude
строка
добавлен в 2.7 ansible.builtin
Имя(я) пакета(ов) для исключения, когда состояние=present или latest. Это может быть список или строка, разделенная запятыми.
install_repoquery
логический
добавлен в 2.7 ansible.builtin
    Варианты:
  • нет
  • да ←
Это фактически бесполезно в DNF, так как это не нужно в DNF, но это принятый параметр для соответствия функциональности/совместимости с модулем yum.
install_weak_deps
логический
добавлен в 2.8 ansible.builtin
    Варианты:
  • нет
  • да ←
Также установит все пакеты, связанные слабой зависимостью.
installroot
строка
добавлен в 2.3 ansible.builtin
По умолчанию:
"/"
Указывает альтернативный installroot, относительно которого будут установлены все пакеты.
list
строка
Различные (неидемпотентные) команды для использования с /usr/bin/ansible и не с плейбуками. Смотрите примеры.
lock_timeout
целое число
добавлен в 2.8 ansible.builtin
По умолчанию:
30
Время ожидания освобождения файла блокировки dnf.
name
список / элементы=строка / обязательный
Имя пакета или спецификатор пакета с версией, например, name-1.0. При использовании state=latest, это может быть '*', что означает выполнение: dnf -y update. Также можно указать url или локальный путь к файлу rpm. Для работы с несколькими пакетами это может принимать строку с именами пакетов, разделённых запятыми, или список пакетов.

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

псевдонимы: expire-cache
update_only
логический
добавлен в 2.7 ansible.builtin
    Варианты:
  • нет ←
  • да
При использовании последней версии, обновлять только установленные пакеты. Не устанавливать новые пакеты.
Действует только в том случае, если состояние latest
validate_certs
логический
добавлен в 2.7 ansible.builtin
    Варианты:
  • нет
  • да ←
Это применимо только в том случае, если используется 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: 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/dnf_module.html

Spec-Zone.ru

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