yum — Управляет пакетами с помощью менеджера пакетов yum
Описание
- Устанавливает, обновляет, понижает версию, удаляет и перечисляет пакеты и группы с помощью менеджера пакетов yum.
- Этот модуль работает только с Python 2. Если вам требуется поддержка Python 3, обратитесь к модулю dnf.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- yum
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_downgrade (добавлен в 2.4) |
| Указывает, разрешено ли понижение версии указанного пакета и его версии до, возможно, уже установленной более новой версии этого пакета. Обратите внимание, что установка allow_downgrade=True может привести к тому, что этот модуль будет вести себя не идемпотентным образом. Задача может завершиться с набором пакетов, который не соответствует полному списку указанных пакетов для установки (потому что зависимости между пониженным пакетом и другими могут вызвать изменения в пакетах, которые были в предыдущей транзакции). |
| conf_file | Файл удаленной конфигурации yum, который следует использовать для транзакции. | |
| disable_gpg_check |
| Отключить проверку 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 (добавлен в 2.4) |
| Если установлено значение yes, и state=latest, тогда устанавливаются только обновления, которые были помечены как относящиеся к безопасности. |
| skip_broken (добавлен в 2.3) |
| Решить проблемы depsolve, удалив пакеты, которые вызывают проблемы из транзакции. |
| state |
| Установить ( present или installed, latest) или удалить (absent или removed) пакет. |
| update_cache (добавлен в 1.9) |
| Принудительно заставить yum проверить, устарел ли кэш, и перекачать его при необходимости. Действует только при состоянии present или latest. псевдонимы: expire-cache |
| update_only (добавлен в 2.5) |
| При использовании latest, обновлять только установленные пакеты. Не устанавливать новые пакеты. Действует только при состоянии latest
|
| validate_certs (добавлен в 2.1) |
| Это относится только к использованию URL https в качестве источника 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», чтобы увидеть, к какой категории принадлежит группа, которую вы хотите установить.
Примеры
- name: install the latest version of Apache
yum:
name: httpd
state: latest
- 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, что означает, что разработчики этого модуля гарантируют, что не будет внесено никаких несовместимых изменений в интерфейс.
Поддержка
Для получения дополнительной информации о поддержке этого модуля Red Hat, пожалуйста, обратитесь к этой статье базы знаний
Автор
- Команда Ansible Core
- 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.5/modules/yum_module.html