Spec-Zone.ru › Ansible 2.4

yum_repository - Добавление или удаление репозиториев YUM

Введено в версии 2.1.

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

  • Добавление или удаление репозиториев YUM в дистрибутивах Linux на основе RPM.

Параметры

параметр обязательно по умолчанию выбор комментарии
async
нет да
  • да
  • нет
Если установлено в yes, Yum будет загружать пакеты и метаданные из этого репозитория параллельно, если возможно.
attributes
(добавлен в 2.3)
нет None
Атрибуты, которые должен иметь файл или директория. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в отображении lsattr.
псевдонимы: attr
bandwidth
нет
Максимальная доступная пропускная способность сети в байтах в секунду. Используется с параметром throttle.
Если throttle — процент, а bandwidth — 0, то ограничение пропускной способности будет отключено. Если throttle выражается как скорость передачи данных (байты/сек), этот параметр игнорируется. По умолчанию 0 (без ограничения пропускной способности).
baseurl
нет
URL-адрес каталога, в котором находится каталог «repodata» репозитория Yum.
Он также может быть списком нескольких URL-адресов.
Этот или параметр mirrorlist необходим, если параметр state установлен в present.
cost
нет 1000
Относительная стоимость доступа к этому репозиторию. Полезно для взвешивания пакетов одного репозитория как больших/меньших, чем любые другие.
deltarpm_metadata_percentage
нет 100
Когда относительный размер метаданных deltarpm по сравнению с пакетами превышает это значение, метаданные deltarpm не загружаются из репозитория. Обратите внимание, что вы можете задавать значения более 100, так 200 означает, что метаданные должны быть вдвое меньше размера пакетов. Используйте 0 для отключения этой проверки и всегда загружайте метаданные.
deltarpm_percentage
нет 75
Когда относительный размер дельты по сравнению с пакетом больше этого значения, дельта не используется. Используйте 0 для отключения обработки дельта-rpm. В локальных репозиториях (с baseurl file://) дельта-rpm отключена по умолчанию.
description
нет
Строка, читаемая человеком, описывающая репозиторий.
Этот параметр необходим только если параметр state установлен в present.
enabled
нет да
  • да
  • нет
Это сообщает Yum, использовать ли этот репозиторий.
enablegroups
нет да
  • да
  • нет
Определяет, позволит ли Yum использовать группы пакетов для этого репозитория.
exclude
нет
Список пакетов, которые следует исключить из обновлений или установок. Это должен быть список, разделенный пробелами. Разрешены оболочки командной строки с использованием подстановочных знаков (например, * и ?).
Список также может быть обычным массивом YAML.
failovermethod
нет roundrobin
  • roundrobin
  • priority
roundrobin случайным образом выбирает URL из списка URL-адресов для начала и продолжает проходить по каждому из них, когда возникает сбой при подключении к хосту.
priority начинается с первого указанного baseurl и последовательно считывает их.
file
нет
Файл для сохранения репозитория. По умолчанию значение name.
gpgcakey
нет
URL, указывающий на файл ключа CA в формате ASCII для репозитория.
gpgcheck
нет нет
  • да
  • нет
Сообщает Yum, должен ли он выполнять проверку подписи GPG для пакетов.
gpgkey
нет
URL, указывающий на файл ключа GPG в формате ASCII для репозитория.
Он также может быть списком нескольких URL-адресов.
group
нет
Имя группы, которой должен принадлежать файл/каталог, как если бы это было передано в chown.
http_caching
нет all
  • all
  • packages
  • none
Определяет, как сторонние HTTP-кэши обрабатывают любые HTTP-загрузки, которые выполняет Yum.
all означает, что все HTTP-загрузки должны быть кэшированы.
packages означает, что должны быть кэшированы только загрузки пакетов RPM (но не загрузки метаданных репозитория).
none означает, что ни одна HTTP-загрузка не должна быть кэширована.
include
нет
Включить внешний конфигурационный файл. Поддерживаются локальный путь и URL. Конфигурационный файл будет вставлен в позицию строки include=. Включенные файлы могут содержать дополнительные строки включения. Yum прекратит работу с ошибкой, если будет обнаружен цикл включения.
includepkgs
нет
Список пакетов, которые вы хотите использовать только из репозитория. Это должен быть список, разделенный пробелами. Разрешены оболочки командной строки с использованием подстановочных знаков (например, * и ?). Здесь учитываются переменные подстановки (например, $releasever).
Список также может быть обычным массивом YAML.
ip_resolve
нет whatever
  • 4
  • 6
  • IPv4
  • IPv6
  • whatever
Определяет, как Yum разрешает имена хостов.
4 или IPv4 — разрешить только IPv4-адреса.
6 или IPv6 — разрешить только IPv6-адреса.
keepalive
нет нет
  • да
  • нет
Это сообщает Yum, использовать ли HTTP/1.1 keepalive с этим репозиторием. Это может улучшить скорость передачи, используя одно подключение при загрузке нескольких файлов из репозитория.
keepcache
нет 1
  • 0
  • 1
Либо 1 или 0. Определяет, сохраняет ли yum кэш заголовков и пакетов после успешной установки.
metadata_expire
нет 21600
Время (в секундах) после которого метаданные истекут.
Значение по умолчанию — 6 часов.
metadata_expire_filter
нет read-only:present
  • never
  • read-only:past
  • read-only:present
  • read-only:future
Фильтровать время metadata_expire, позволяя обменять скорость на точность, если команда этого не требует. Каждая команда yum может указать, что она требует определенного уровня актуальности от удаленных репозиториев. От «я собираюсь установить/обновить, поэтому это должно быть актуальным» до «любой доступный вариант годится».
never — ничего не отфильтровывается, всегда подчиняется metadata_expire.
read-only:past — команды, которые заботятся только о прошедшей информации, отфильтровываются от истечения срока действия метаданных. Например, информация команды yum history (если history нужно искать что-либо о предыдущей транзакции, то по определению удалённый пакет был доступен в прошлом).
read-only:present — команды, которые сбалансированы между прошлым и будущим. Например, yum list yum.
read-only:future — команды, которые, скорее всего, приведут к запуску других команд, которые потребуют последние метаданные. Например, yum check-update.
Обратите внимание, что этот параметр не переопределяет «yum clean expire-cache».
metalink
нет
Указывает URL-адрес файла metalink для repomd.xml, список зеркал для всего репозитория генерируется путём преобразования зеркал для файла repomd.xml в baseurl.
mirrorlist
нет
Указывает URL-адрес файла, содержащего список baseurl.
Этот или параметр baseurl необходим, если параметр state установлен в present.
mirrorlist_expire
нет 21600
Время (в секундах), после которого кэшированный локально mirrorlist истечёт.
Значение по умолчанию — 6 часов.
mode
нет
Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Пропуск стартовой нули, скорее всего, приведёт к непредвиденным результатам. С версии 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r).
name
да
Уникальный идентификатор репозитория.
Этот параметр необходим только если параметр state установлен в present или absent.
owner
нет
Имя пользователя, который должен владеть файлом/каталогом, как если бы это было передано в chown.
params
нет
Параметр, позволяющий пользователю перезаписать любой из других параметров. Для удаления параметра установите значение параметра в null.
password
нет
Пароль для использования с именем пользователя для аутентификации по схеме basic.
priority
нет 99
Принудительно упорядоченная защита репозиториев. Значение — целое число от 1 до 99.
Этот параметр работает только если установлен плагин YUM Priorities.
protect
нет нет
  • да
  • нет
Защитить пакеты от обновлений из других репозиториев.
proxy
нет
URL-адрес прокси-сервера, который должен использовать yum. Установите значение в _none_ для отключения глобальной настройки прокси.
proxy_password
нет
Имя пользователя для использования с прокси.
proxy_username
нет
Пароль для этого прокси.
repo_gpgcheck
нет нет
  • да
  • нет
Это сообщает Yum, должен ли он выполнять проверку подписи GPG для repodata из этого репозитория.
reposdir
нет /etc/yum.repos.d
Директория, в которой будут храниться файлы .repo.
retries
нет 10
Установите количество попыток повторного выполнения попытки извлечения файла до возврата ошибки. Установка значения 0 заставит yum пытаться всегда.
s3_enabled
нет нет
  • да
  • нет
Включает поддержку репозиториев S3.
Этот параметр работает только в том случае, если установлена плагин YUM S3.
selevel
нет s0
Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает как для seuser.
serole
нет
Часть контекста файла SELinux, роль. Функция _default работает как для seuser.
setype
нет
Часть контекста файла SELinux, тип. Функция _default работает как для seuser.
seuser
нет
Часть контекста файла SELinux, пользователь. Будет использоваться системная политика, если применимо. Если установлено значение _default, будет использоваться часть политики user (если доступна).
skip_if_unavailable
нет нет
  • да
  • нет
Если установлено значение yes, yum продолжит работу, если к этому репозиторию невозможно подключиться по какой-либо причине. Этот параметр следует устанавливать с осторожностью, поскольку для любого данного командного запроса просматриваются все репозитории.
ssl_check_cert_permissions
нет нет
  • да
  • нет
Определяет, должен ли yum проверять разрешения на пути к сертификатам в репозитории (как удалённые, так и локальные).
Если какие-либо файлы не поддаются чтению, yum принудительно устанавливает значение skip_if_unavailable в yes. Это наиболее полезно для процессов, не выполняемых от имени root, которые используют yum с репозиториями, имеющими файлы сертификатов клиента, доступные только для root.
sslcacert
нет
Путь к каталогу, содержащему базы данных центров сертификации, которые yum должен использовать для проверки SSL-сертификатов.
sslclientcert
нет
Путь к SSL-сертификату клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам.
sslclientkey
нет
Путь к SSL-ключу клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам.
sslverify
нет да
  • да
  • нет
Определяет, должен ли yum вообще проверять SSL-сертификаты/хосты.
state
нет наличие
  • отсутствует
  • наличие
Состояние файла репозитория.
throttle
нет
Включить ограничение пропускной способности для загрузок.
Этот параметр может быть выражен как абсолютная скорость передачи данных в байтах/сек. К значению пропускной способности можно добавить префикс СИ (к, М или Г).
timeout
нет 30
Количество секунд ожидания подключения перед истечением времени ожидания.
ui_repoid_vars
нет releasever basearch
При отображении идентификатора репозитория добавьте эти переменные yum к строке, если они используются в baseurl/etc. Переменные добавляются в указанном порядке (и найденные).
unsafe_writes
(добавлено в 2.2)
нет
  • да
  • нет
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов. Иногда системы настроены или просто сломаны таким образом, что это предотвращается. Один из примеров - файлы, смонтированные через docker; их невозможно обновлять атомарно, а обновление возможно только небезопасным способом.
Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это может привести к гонкам и повреждению данных.
username
нет
Имя пользователя для использования при базовой аутентификации репозитория или любого URL.

Примеры

- name: Add repository
  yum_repository:
    name: epel
    description: EPEL YUM repo
    baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/

- name: Add multiple repositories into the same file (1/2)
  yum_repository:
    name: epel
    description: EPEL YUM repo
    file: external_repos
    baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/
    gpgcheck: no

- name: Add multiple repositories into the same file (2/2)
  yum_repository:
    name: rpmforge
    description: RPMforge YUM repo
    file: external_repos
    baseurl: http://apt.sw.be/redhat/el7/en/$basearch/rpmforge
    mirrorlist: http://mirrorlist.repoforge.org/el7/mirrors-rpmforge
    enabled: no

# Handler showing how to clean yum metadata cache
- name: yum-clean-metadata
  command: yum clean metadata
  args:
    warn: no

# Example removing a repository and cleaning up metadata cache
- name: Remove repository (and clean up left-over metadata)
  yum_repository:
    name: epel
    state: absent
  notify: yum-clean-metadata

- name: Remove repository from a specific repo file
  yum_repository:
    name: epel
    file: external_repos
    state: absent

#
# Allow to overwrite the yum_repository parameters by defining the parameters
# as a variable in the defaults or vars file:
#
# my_role_somerepo_params:
#   # Disable GPG checking
#   gpgcheck: no
#   # Remove the gpgkey option
#   gpgkey: null
#
- name: Add Some repo
  yum_repository:
    name: somerepo
    description: Some YUM repo
    baseurl: http://server.com/path/to/the/repo
    gpgkey: http://server.com/keys/somerepo.pub
    gpgcheck: yes
    params: "{{ my_role_somerepo_params }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для данного модуля:

имя описание возвращаемое тип пример
repo
имя репозитория
успех строка epel
state
состояние целевого объекта после выполнения
успех строка наличие

Примечания

Примечание

  • Все комментарии будут удалены при изменении существующего файла репозитория.
  • Порядок разделов сохраняется в существующем файле репозитория.
  • Параметры в разделе упорядочены алфавитно в существующем файле репозитория.
  • Файл репозитория будет автоматически удалён, если он не содержит ни одного репозитория.
  • При удалении репозитория следует учитывать, что кэш метаданных может оставаться на диске до тех пор, пока вы не запустите yum clean all. Для этого используйте обработчик уведомлений.

Статус

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

Информация о поддержке

Дополнительную информацию о поддержке данного модуля компанией Red Hat можно найти в этом knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Дополнительную помощь в разработке модулей, если вы заинтересованы, можно найти в Справочной информации по сообществу и участию в разработке, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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