Spec-Zone.ru › Ansible 2.6

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

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Статус
  • Техническое обслуживание
    • Поддержка
    • Автор

Обзор

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

Требования

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

  • yum

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_downgrade
bool

(добавлен в 2.4)
    Варианты:
  • нет ←
  • да
Указывает, разрешено ли понижать версию установленного пакета. Обратите внимание, что установка allow_downgrade=True может привести к неидемпотентному поведению модуля. Задача может закончиться с набором пакетов, не соответствующим полному списку указанных пакетов для установки (поскольку зависимости между пониженным пакетом и другими пакетами могут вызвать изменения в пакетах, которые были в предыдущей транзакции).
bugfix
(добавлен в 2.6)
Значение по умолчанию:
"нет"
Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как исправление ошибок.
conf_file
Файл удаленного конфигурации yum для использования в транзакции.
disable_gpg_check
bool
    Варианты:
  • нет ←
  • да
Отключает проверку подписей GPG пакетов, которые будут установлены. Действует только если состояние равно present или latest.
disable_plugin
(добавлен в 2.5)
Имя плагина для отключения в операции установки/обновления. Отключенные плагины не сохранятся после транзакции.
disablerepo
Идентификатор репозитория для отключения в операции установки/обновления. Эти репозитории не сохранятся после транзакции. Для указания нескольких репозиториев разделяйте их запятыми.
enable_plugin
(добавлен в 2.5)
Имя плагина для включения в операции установки/обновления. Включенный плагин не сохранится после транзакции.
enablerepo
Идентификатор репозитория для включения в операции установки/обновления. Эти репозитории не сохранятся после транзакции. Для указания нескольких репозиториев разделяйте их запятыми.
exclude
(добавлен в 2.0)
Имя(я) пакета(ов) для исключения, когда состояние=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
security
bool

(добавлен в 2.4)
    Варианты:
  • нет ←
  • да
Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как связанные с безопасностью.
skip_broken
bool

(добавлен в 2.3)
    Варианты:
  • нет ←
  • да
Решить проблемы depsolve, удалив пакеты, вызывающие проблемы, из транзакции.
state
    Варианты:
  • отсутствует
  • установлен
  • последняя версия
  • настоящий ←
  • удален
Установить (present или installed, latest) или удалить (absent или removed) пакет.
present и installed просто гарантируют, что желаемый пакет установлен.
latest обновит указанный пакет, если он не является последней доступной версией.
absent и removed удалят указанный пакет.
update_cache
bool

(добавлен в 1.9)
    Варианты:
  • нет ←
  • да
Принудительно заставляет yum проверить, не устарел ли кэш, и перескачать его при необходимости. Действует только если состояние равно present или latest.

псевдонимы: expire-cache
update_only
bool

(добавлен в 2.5)
    Варианты:
  • нет ←
  • да
При использовании latest, обновляются только установленные пакеты. Пакеты не устанавливаются.
Действует только если состояние равно latest
validate_certs
bool

(добавлен в 2.1)
    Варианты:
  • нет
  • да ←
Это относится только к использованию 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"

Статус

Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет внесено обратной несовместимых изменений в интерфейс.

Техническое обслуживание

Этот модуль помечен как core, что означает, что он поддерживается командой Ansible Core Team. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.

Список других модулей, поддерживаемых командой Ansible Core Team, см. в разделе здесь.

Поддержка

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

Автор

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

Подсказка

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/yum_module.html

Spec-Zone.ru

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