Spec-Zone.ru › Ansible 2.8

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

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

Описание

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

Требования

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

  • yum

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_downgrade
boolean
добавлено в 2.4
    Варианты:
  • нет ←
  • да
Указывает, разрешено ли понизить версию указанного пакета и его версии, если уже установлена более новая версия этого пакета. Обратите внимание, что установка allow_downgrade=True может сделать этот модуль неидемпотентным. Задача может завершиться набором пакетов, который не соответствует полному списку указанных пакетов для установки (потому что зависимости между пониженным пакетом и другими могут привести к изменениям в пакетах, которые были в предыдущей транзакции).
autoremove
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Если yes, удаляет все пакеты «листьев» из системы, которые изначально были установлены как зависимости пользовательских пакетов, но больше не требуются ни одним из таких пакетов. Должно использоваться самостоятельно или когда состояние отсутствует
ПРИМЕЧАНИЕ: для этой функции требуется yum >= 3.4.3 (RHEL/CentOS 7+)
bugfix
-
добавлено в 2.6
Значение по умолчанию:
"нет"
Если установлено значение yes, и state=latest, то устанавливаются только обновления, которые были помечены как исправление ошибок.
conf_file
-
Файл удалённой конфигурации yum, который нужно использовать для транзакции.
disable_excludes
-
добавлено в 2.7
Отключить исключения, определённые в файлах конфигурации YUM.
Если установлено all, отключаются все исключения.
Если установлено main, отключаются исключения, определённые в [main] в yum.conf.
Если установлено repoid, отключаются исключения, определённые для данного идентификатора репозитория.
disable_gpg_check
boolean
    Варианты:
  • нет ←
  • да
Отключать ли проверку подписей GPG пакетов, которые устанавливаются. Воздействует только если состояние есть или последняя.
disable_plugin
-
добавлено в 2.5
Имя плагина для отключения для операции установки/обновления. Отключенные плагины не сохранятся после транзакции.
disablerepo
-
Идентификатор репозитория для отключения репозиториев для операции установки/обновления. Эти репозитории не сохранятся после транзакции. При указании нескольких репозиториев разделяйте их ",".
Начиная с Ansible 2.7, это может быть список вместо "," разделителя строки.
download_dir
string
добавлено в 2.8
Указывает альтернативную директорию для хранения пакетов.
Воздействует только если указано download_only.
download_only
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Только загрузить пакеты, не устанавливать их.
enable_plugin
-
добавлено в 2.5
Имя плагина для включения для операции установки/обновления. Включенный плагин не сохранится после транзакции.
enablerepo
-
Идентификатор репозитория для включения репозиториев для операции установки/обновления. Эти репозитории не сохранятся после транзакции. При указании нескольких репозиториев разделяйте их ",".
Начиная с Ansible 2.7, это может быть список вместо "," разделителя строки.
exclude
-
добавлено в 2.0
Имя(я) пакета(ов) для исключения, когда состояние=present или последняя
install_weak_deps
boolean
добавлено в 2.8
  • нет
  • да ←
Также установит все пакеты, связанные слабой зависимостью.
ПРИМЕЧАНИЕ: для этой функции требуется yum >= 4 (RHEL/CentOS 8+)
installroot
-
добавлено в 2.3
Значение по умолчанию:
"/"
Указывает альтернативный installroot, относительно которого будут устанавливаться все пакеты.
list
-
Имя пакета для выполнения эквивалента yum list <package> против. В дополнение к перечислению пакетов можно также перечислить следующие: installed, updates, available и repos.
lock_timeout
integer
добавлено в 2.8
Значение по умолчанию:
30
Время ожидания освобождения файла блокировки yum.
name
-
Имя пакета или спецификатор пакета с версией, например name-1.0.
Если указана предыдущая версия, задаче также необходимо включить allow_downgrade. См. документацию allow_downgrade для замечаний по понижению версий пакетов.
При использовании state=latest, это может быть '*', что означает выполнение yum -y update.
Вы также можете передать URL или локальный путь к файлу rpm (используя state=present). Для работы с несколькими пакетами можно принять строку пакетов, разделённую запятыми, или (начиная с 2.0) список пакетов.

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

псевдонимы: expire-cache
update_only
boolean
added in 2.5
    Choices:
  • no ←
  • yes
При использовании latest, обновляются только установленные пакеты. Пакеты не устанавливаются.
Действует только если состояние latest
use_backend
-
added in 2.7
    Choices:
  • auto ←
  • yum
  • yum4
  • dnf
Этот модуль поддерживает yum (как всегда), это известно как yum3/YUM3/yum-deprecated разработчиками yum. Начиная с Ansible 2.7+, этот модуль также поддерживает YUM4, который является «новым yum», и имеет бэкенд dnf.
По умолчанию этот модуль выбирает бэкенд на основе факта ansible_pkg_mgr.
validate_certs
boolean
added in 2.1
    Choices:
  • no
  • yes ←
Это применимо только при использовании https url в качестве источника rpm. Например, для localinstall. Если установлено no, сертификаты SSL не будут проверены.
Это следует устанавливать только в no на сайтах с собственными сертификатами, так как это позволяет избежать проверки источника сайта.
До версии 2.1 код работал так, как будто это было установлено на yes.

Примечания

Примечание

  • При использовании с loop: каждый пакет будет обрабатываться индивидуально, гораздо эффективнее передать список напрямую в опцию name.
  • В версиях до 1.9.2 этот модуль устанавливал и удалял каждый пакет, предоставленный модулю yum, по отдельности. Это вызывало проблемы, когда пакеты, указанные по имени файла или URL, должны были быть установлены или удалены вместе. В 1.9.2 эта проблема была исправлена, так что пакеты устанавливаются в одной транзакции yum. Однако, если один из пакетов добавляет новый репозиторий yum, из которого происходят другие пакеты (например, epel-release), то этот пакет необходимо установить в отдельном задании. Это имитирует поведение командной строки yum.
  • Сам yum имеет два типа групп. «Группы пакетов» задаются в самом rpm, в то время как «средовые группы» задаются в отдельном файле (обычно дистрибутивом). К сожалению, это разделение становится очевидным для пользователей ansible, потому что ansible нужно работать с группой пакетов в одной транзакции, а yum требует, чтобы группы задавались различными способами при использовании таким образом. Группы пакетов задаются как «@development-tools», а среды — «@^gnome-desktop-environment». Используйте команду «yum group list hidden ids», чтобы увидеть к какой категории группы принадлежит группа, которую вы хотите установить.
  • Модуль yum не поддерживает очистку кэша yum и не был реализован, единственный метод — использование оболочки и непосредственное вызов команды yum, а именно «shell: yum clean all» https://github.com/ansible/ansible/pull/31450#issuecomment-352889579

Примеры

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

- name: ensure a list of packages installed
  yum:
    name: "{{ packages }}"
  vars:
    packages:
    - httpd
    - httpd-tools

- name: remove the Apache package
  yum:
    name: httpd
    state: absent

- name: install the latest version of Apache from the testing repo
  yum:
    name: httpd
    enablerepo: testing
    state: present

- name: install one specific version of Apache
  yum:
    name: httpd-2.2.29-1.4.amzn1
    state: present

- name: upgrade all packages
  yum:
    name: '*'
    state: latest

- name: upgrade all packages, excluding kernel & foo related packages
  yum:
    name: '*'
    state: latest
    exclude: kernel*,foo*

- name: install the nginx rpm from a remote repo
  yum:
    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
  yum:
    name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
    state: present

- name: install the 'Development tools' package group
  yum:
    name: "@Development tools"
    state: present

- name: install the 'Gnome desktop' environment group
  yum:
    name: "@^gnome-desktop-environment"
    state: present

- name: List ansible packages and register result to print with debug later.
  yum:
    list: ansible
  register: result

- name: Install package with multiple repos enabled
  yum:
    name: sos
    enablerepo: "epel,ol7_latest"

- name: Install package with multiple repos disabled
  yum:
    name: sos
    disablerepo: "epel,ol7_latest"

- name: Install a list of packages
  yum:
    name:
      - nginx
      - postgresql
      - postgresql-server
    state: present

- name: Download the nginx package but do not install it
  yum:
    name:
      - nginx
    state: latest
    download_only: true

Статус

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

Поддержка Red Hat

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

Авторы

  • Команда Ansible Core
  • Seth Vidal (@skvidal)
  • Eduard Snesarev (@verm666)
  • Berend De Schouwer (@berenddeschouwer)
  • Abhijeet Kasurde (@Akasurde)
  • Adam Miller (@maxamillion)

Подсказка

Если вы заметите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 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/yum_module.html

Spec-Zone.ru

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