Spec-Zone.ru › Ansible 2.9

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
строка
добавлен в 2.8
Указывает альтернативную директорию для хранения пакетов.
Оказывает влияние только если указано download_only.
download_only
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
Только скачивание пакетов, не устанавливать их.
enable_plugin
-
добавлен в 2.5
Имя плагина для включения для операции установки/обновления. Включенный плагин не сохранится после транзакции.
enablerepo
-
Идентификатор репозитория репозиториев для включения для операции установки/обновления. Эти репозитории не сохранятся после транзакции. При указании нескольких репозиториев разделяйте их ",".
Начиная с Ansible 2.7, это может быть список вместо "," разделенного строка
exclude
-
Имя(а) пакета(ов) для исключения, когда state=present или latest
install_weak_deps
boolean
добавлен в 2.8
    Варианты:
  • нет
  • да ←
Также установит все пакеты, связанные слабой зависимостью.
ПРИМЕЧАНИЕ: Эта функция требует yum >= 4 (RHEL/CentOS 8+)
installroot
-
По умолчанию:
"/"
Указывает альтернативный installroot, относительно которого будут установлены все пакеты.
list
-
Имя пакета для запуска эквивалента yum list --show-duplicates против. В дополнение к списку пакетов, вы также можете перечислить следующее: installed, updates, available и repos.
Этот параметр взаимоисключает name.
lock_timeout
целое число
добавлен в 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
    Варианты:
  • нет ←
  • да
Пропустить пакеты с нарушенными зависимостями(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
добавлен в 2.5
    Варианты:
  • нет ←
  • да
При использовании latest, только обновлять установленные пакеты. Не устанавливать пакеты.
Оказывает влияние только если состояние последняя версия
use_backend
-
добавлено в 2.7
    Варианты:
  • auto ←
  • yum
  • yum4
  • dnf
Этот модуль поддерживает yum (как всегда), это известно как yum3/YUM3/yum-deprecated разработчиками yum от сторонних производителей. Начиная с Ansible 2.7+, этот модуль также поддерживает YUM4, который является «новым yum», и имеет dnf бэкэнд.
По умолчанию, этот модуль выберет бэкэнд на основе факта ansible_pkg_mgr.
validate_certs
boolean
    Варианты:
  • 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 напрямую, а именно «command: 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. [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.9/modules/yum_module.html

Spec-Zone.ru

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