Spec-Zone.ru › Ansible 2.7

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_only
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Только загрузить пакеты, не устанавливать их.
enable_plugin
-
добавлено в 2.5
Имя плагина для включения для операции установки/обновления. Включенный плагин не сохраняется после завершения транзакции.
enablerepo
-
Идентификатор репозитория репозиториев для включения для операции установки/обновления. Эти репозитории не сохраняются после завершения транзакции. При указании нескольких репозиториев разделяйте их символом ",".
Начиная с Ansible 2.7, это может быть список вместо "," разделителя.
exclude
-
добавлено в 2.0
Имя(а) пакета(ов) для исключения при state=present или latest
installroot
-
добавлено в 2.3
Значение по умолчанию:
"/"
Указывает альтернативный installroot, относительно которого будут установлены все пакеты.
list
-
Имя пакета для выполнения эквивалента yum list <package>. Кроме перечисления пакетов, также можно перечислить следующие: installed, updates, available и repos.
name
-
Имя пакета или спецификатор пакета с версией, например, name-1.0.
Если указана предыдущая версия, задача также должна включить allow_downgrade. См. документацию allow_downgrade для замечаний по понижению версии пакетов.
При использовании state=latest, это может быть '*', что означает запуск yum -y update.
Также можно передать URL или локальный путь к файлу rpm (с помощью state=present). Для работы с несколькими пакетами можно указать список пакетов через запятую или (с версии 2.0) список пакетов.

псевдонимы: pkg
releasever
-
добавлено в 2.7
Значение по умолчанию:
null
Указывает альтернативную версию выпуска, из которой будут устанавливаться все пакеты.
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
добавлено в 1.9
    Варианты:
  • нет ←
  • да
Принудительно заставить yum проверить, не устарел ли кэш, и перескачать его при необходимости. Оказывает влияние только в случае, если состояние есть или последняя версия.

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

Примеры

- 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. [core]

Поддержка Red Hat

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

Авторы

  • Команда Ansible Core
  • Seth Vidal
  • 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.7/modules/yum_module.html

Spec-Zone.ru

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