Spec-Zone.ru › Ansible

Модуль ansible.builtin.yum_repository — добавление и удаление репозиториев YUM

Примечание

Этот модуль входит в ansible-core и включен во все установки Ansible. В большинстве случаев можно использовать краткое имя модуля yum_repository, даже не указывая ключевое слово collections. Однако для удобства перехода к документации модуля и во избежание конфликтов с другими коллекциями, в которых может быть модуль с таким же именем, рекомендуем использовать полное имя коллекции (FQCN) ansible.builtin.yum_repository.

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Добавление и удаление репозиториев YUM в дистрибутивах Linux на основе RPM.
  • Чтобы обновить существующее описание репозитория, используйте вместо этого community.general.ini_file.

Параметры

Параметр

Комментарии

async

boolean

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

В ansible-core 2.11, 2.12 и 2.13 значение по умолчанию — true.

Этот параметр удален в RHEL 8. Если вы используете одну из перечисленных выше версий, можно установить для этого параметра значение null, чтобы не передавать неизвестный параметр конфигурации.

Этот параметр объявлен устаревшим, поскольку был удален в системах, поддерживаемых ansible-core, и будет удален в ansible-core 2.22.

Допустимые значения:

  • false
  • true

attributes

псевдонимы: attr

string

Атрибуты, которыми должен обладать созданный объект файловой системы.

Сведения о поддерживаемых флагах см. на странице руководства для chattr в целевой системе.

Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой lsattr.

По умолчанию предполагается оператор =; в противном случае в строку необходимо включить оператор + или -.

bandwidth

string

Максимальная доступная пропускная способность сети в байтах в секунду. Используется с параметром throttle.

Если throttle задано в процентах, а bandwidth равно 0, ограничение пропускной способности будет отключено. Если throttle задано как скорость передачи данных (байт/с), этот параметр игнорируется. По умолчанию — 0 (ограничение пропускной способности отключено).

baseurl

list / elements=string

URL каталога, в котором находится каталог «repodata» репозитория yum.

Также можно указать список из нескольких URL.

Этот параметр, а также параметры metalink или mirrorlist необходимы, если для state задано значение present.

cost

string

Относительная стоимость доступа к этому репозиторию. Полезно для задания приоритета пакетов одного репозитория над пакетами другого.

countme

boolean

добавлено в ansible-core 2.18

Следует ли еженедельно добавлять специальный флаг к случайно выбранному запросу metalink/mirrorlist. Это позволяет владельцу репозитория оценить количество использующих его систем.

Допустимые значения:

  • false
  • true

deltarpm_metadata_percentage

string

Если относительный размер метаданных deltarpm по сравнению с пакетами превышает это значение, метаданные deltarpm не загружаются из репозитория. Обратите внимание, что можно указать значения больше 100, поэтому 200 означает, что размер метаданных должен составлять половину размера пакетов. Используйте 0, чтобы отключить эту проверку и всегда загружать метаданные.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удален в ansible-core 2.22.

deltarpm_percentage

string

Если относительный размер дельты по сравнению с пакетом превышает это значение, дельта не используется. Используйте 0, чтобы отключить обработку delta rpm. В локальных репозиториях (с file://baseurl) delta rpm по умолчанию отключены.

description

string

Понятное пользователю описание репозитория. Этот параметр соответствует свойству name в файле репозитория.

Этот параметр необходим только в том случае, если state=present.

enabled

boolean

Указывает yum, следует ли использовать этот репозиторий.

Значение yum по умолчанию — true.

Допустимые значения:

  • false
  • true

enablegroups

boolean

Определяет, разрешит ли yum использовать группы пакетов для этого репозитория.

Значение yum по умолчанию — true.

Допустимые значения:

  • false
  • true

exclude

псевдонимы: excludepkgs

list / elements=string

Список пакетов, исключаемых из обновлений или установки. Элементы списка следует разделять пробелами. Допускаются шаблоны оболочки с подстановочными знаками (например, * и ?).

Список также можно задать как обычный массив YAML.

Псевдоним excludepkgs добавлен в ansible-core 2.18.

failovermethod

string

roundrobin случайным образом выбирает URL из списка для начала работы, а при сбое соединения с узлом переходит к следующему URL.

priority начинает с первого указанного baseurl и последовательно перебирает их.

Допустимые значения:

  • "roundrobin"
  • "priority"

file

string

Имя файла без расширения .repo, в который следует сохранить репозиторий. По умолчанию используется значение name.

gpgcakey

string

URL файла ключа CA репозитория в формате ASCII-armored.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удален в ansible-core 2.22.

gpgcheck

boolean

Указывает yum, следует ли проверять подписи GPG пакетов.

Значение по умолчанию не задано. Если значение не указано, будет использоваться системная настройка из /etc/yum.conf или системное значение по умолчанию false.

Допустимые значения:

  • false
  • true

gpgkey

list / elements=string

URL файла ключа GPG репозитория в формате ASCII-armored.

Также можно указать список из нескольких URL.

group

string

Имя группы, которой должен принадлежать объект файловой системы; значение передается команде chown.

Если значение не задано, используется текущая группа пользователя; если пользователь — root, можно сохранить прежнее владение.

Числовое имя группы (например, «1000») будет считаться идентификатором группы (GID), а не именем группы. Во избежание неоднозначности не используйте имена групп, состоящие только из цифр.

http_caching

string

Определяет, как следует instruировать вышестоящие кэши HTTP об обработке HTTP-загрузок, выполняемых Yum.

all означает, что кэшироваться должны все HTTP-загрузки.

packages означает, что кэшироваться должны только загрузки RPM-пакетов (но не загрузки метаданных репозитория).

none означает, что HTTP-загрузки не должны кэшироваться.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удален в ansible-core 2.22.

Допустимые значения:

  • "all"
  • "packages"
  • "none"

include

string

Подключить внешний файл конфигурации. Поддерживаются локальный путь и URL. Файл конфигурации будет вставлен в месте строки include=. Подключенные файлы могут содержать дополнительные строки include. Если будет обнаружен цикл включений, Yum завершит работу с ошибкой.

includepkgs

list / elements=string

Список пакетов, которые следует использовать только из этого репозитория. Элементы списка следует разделять пробелами. Допускаются шаблоны оболочки с подстановочными знаками (например, * и ?). Здесь поддерживаются переменные подстановки (например, $releasever).

Список также можно задать как обычный массив YAML.

ip_resolve

string

Определяет, как yum разрешает имена узлов.

4 или IPv4 — разрешать только IPv4-адреса.

6 или IPv6 — разрешать только IPv6-адреса.

Допустимые значения:

  • "4"
  • "6"
  • "IPv4"
  • "IPv6"
  • "whatever"

keepalive

boolean

Указывает yum, следует ли использовать HTTP/1.1 keepalive для этого репозитория. Это может увеличить скорость передачи данных, позволяя использовать одно соединение при загрузке нескольких файлов из репозитория.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удален в ansible-core 2.22.

Допустимые значения:

  • false
  • true

metadata_expire

string

Время (в секундах), по истечении которого метаданные устаревают.

Значение по умолчанию — 6 часов.

metadata_expire_filter

string

Фильтровать время metadata_expire, позволяя обменять точность на скорость, если команда не требует актуальных данных. Каждая команда yum может указать, насколько своевременные данные ей нужны из удаленных репозиториев: от «Сейчас будет установка/обновление, поэтому данные должны быть актуальными» до «Достаточно любых доступных данных».

never — ничего не фильтруется, всегда соблюдается metadata_expire.

read-only:past — фильтруются команды, которым нужны только данные о прошлом, чтобы метаданные не считались устаревшими. Например, yum history info (если для истории нужно найти сведения о предыдущей транзакции, значит, удаленный пакет по определению был доступен в прошлом).

read-only:present — команды, для которых важны как прошлые, так и будущие данные. Например, yum list yum.

read-only:future — команды, которые, вероятно, приведут к запуску других команд, которым потребуются самые свежие метаданные. Например, yum check-update.

Обратите внимание, что этот параметр не переопределяет yum clean expire-cache.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удален в ansible-core 2.22.

Допустимые значения:

  • "never"
  • "read-only:past"
  • "read-only:present"
  • "read-only:future"

metalink

string

Задает URL файла metalink для repomd.xml; список зеркал для всего репозитория создается путем преобразования зеркал файла repomd.xml в baseurl.

Этот параметр, а также параметры baseurl или mirrorlist необходимы, если для state задано значение present.

mirrorlist

string

Задает URL файла со списком базовых URL.

Этот параметр, а также параметры baseurl или metalink необходимы, если для state задано значение present.

mirrorlist_expire

string

Время (в секундах), по истечении которого локально кэшированный список зеркал устаревает.

Значение по умолчанию — 6 часов.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удален в ansible-core 2.22.

mode

any

Права доступа, которыми должен обладать созданный объект файловой системы.

Если вы привыкли к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Ansible необходимо предоставить достаточно информации для их корректного разбора. Для единообразия заключайте восьмеричные числа в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и самостоятельно преобразовал ее в число. Добавление ведущего нуля (например, 0755) иногда работает, но может привести к ошибкам в циклах и некоторых других ситуациях.

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

Начиная с Ansible 1.8 режим можно указывать в символьном формате (например, u+rwx или u=rw,g=r,o=r).

Если mode не указано и целевой объект файловой системы не существует, при задании режима для создаваемого объекта будет использоваться системное значение по умолчанию umask.

Если mode не указано и целевой объект файловой системы существует, будет использован режим существующего объекта файловой системы.

Указание mode — лучший способ гарантировать создание объектов файловой системы с правильными правами доступа. Дополнительные сведения см. в CVE-2020-1736.

module_hotfixes

boolean

добавлено в ansible-core 2.11

Отключить фильтрацию модулей RPM и сделать доступными все RPM из репозитория. Значение по умолчанию — null.

Допустимые значения:

  • false
  • true

name

string / обязательный

Уникальный идентификатор репозитория. Этот параметр задает имя раздела репозитория в файле репозитория.

Этот параметр необходим только в том случае, если для state задано значение present или absent.

owner

string

Имя пользователя, которому должен принадлежать объект файловой системы; значение передается команде chown.

Если значение не задано, используется текущий пользователь; если пользователь — root, можно сохранить прежнее владение.

Числовое имя пользователя (например, «1000») будет считаться идентификатором пользователя (UID), а не именем пользователя. Во избежание неоднозначности не используйте имена пользователей, состоящие только из цифр.

password

string

Пароль для базовой аутентификации с указанным именем пользователя.

priority

string

Задает упорядоченную защиту репозиториев. Значение — целое число от 1 до 99.

Этот параметр работает только при установленном подключаемом модуле YUM Priorities.

protect

boolean

Защищать пакеты от обновлений из других репозиториев.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удален в ansible-core 2.22.

Допустимые значения:

  • false
  • true

proxy

string

URL прокси-сервера, который должен использовать yum. Задайте _none_, чтобы отключить глобальную настройку прокси.

proxy_password

string

Пароль для этого прокси.

proxy_username

string

Имя пользователя для подключения к прокси.

repo_gpgcheck

boolean

Указывает yum, следует ли проверять подписи GPG метаданных репозитория.

Допустимые значения:

  • false
  • true

reposdir

path

Каталог, в котором будут храниться файлы .repo.

По умолчанию: "/etc/yum.repos.d"

retries

string

Задает количество повторных попыток получения файла, прежде чем будет возвращена ошибка. Если задать 0, yum будет пытаться бесконечно.

s3_enabled

boolean

Включает поддержку репозиториев S3.

Этот параметр работает только при установленном подключаемом модуле YUM S3.

Допустимые значения:

  • false
  • true

selevel

string

Уровень в контексте объекта файловой системы SELinux.

Это атрибут MLS/MCS, иногда называемый range.

Если задано значение _default, будет использоваться часть политики level, если она доступна.

serole

string

Часть контекста объекта файловой системы SELinux, отвечающая за роль.

Если задано значение _default, будет использоваться часть политики role, если она доступна.

setype

string

Часть контекста объекта файловой системы SELinux, отвечающая за тип.

Если задано значение _default, будет использоваться часть политики type, если она доступна.

seuser

string

Часть контекста объекта файловой системы SELinux, отвечающая за пользователя.

По умолчанию используется политика system, если применимо.

Если задано значение _default, будет использоваться часть политики user, если она доступна.

skip_if_unavailable

boolean

Если задано значение true, yum продолжит работу, если по какой-либо причине не удастся связаться с этим репозиторием. Задавайте это значение с осторожностью, поскольку при выполнении любой команды проверяются все репозитории.

Варианты:

  • false
  • true

ssl_check_cert_permissions

boolean

Определяет, должен ли yum проверять права доступа к путям сертификатов в репозитории (как удалённых, так и локальных).

Если не удаётся прочитать какой-либо из файлов, yum принудительно задаст для skip_if_unavailable значение true. Это особенно полезно для процессов без прав root, использующих yum с репозиториями, в которых файлы клиентских сертификатов доступны только для чтения пользователю root.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удалён в ansible-core 2.22.

Варианты:

  • false
  • true

sslcacert

псевдонимы: ca_cert

string

Путь к каталогу, содержащему базы данных центров сертификации, которые yum должен использовать для проверки SSL-сертификатов.

sslclientcert

псевдонимы: client_cert

string

Путь к SSL-сертификату клиента, который yum должен использовать для подключения к репозиториям и удалённым сайтам.

sslclientkey

псевдонимы: client_key

string

Путь к SSL-ключу клиента, который yum должен использовать для подключения к репозиториям и удалённым сайтам.

sslverify

псевдонимы: validate_certs

boolean

Определяет, должен ли yum проверять SSL-сертификаты и узлы.

Варианты:

  • false
  • true

state

string

Состояние файла репозитория.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

throttle

string

Включает ограничение пропускной способности при загрузке.

Этот параметр можно задать как абсолютную скорость передачи данных в байтах/с. К значению пропускной способности можно добавить префикс СИ (k, M или G).

timeout

string

Количество секунд ожидания подключения до истечения времени ожидания.

ui_repoid_vars

string

При отображении идентификатора репозитория добавляет к строке указанные переменные yum, если они используются в baseurl/etc. Переменные добавляются в указанном (и найденном) порядке.

Этот параметр объявлен устаревшим, поскольку не действует при использовании dnf в качестве базового менеджера пакетов, и будет удалён в ansible-core 2.22.

unsafe_writes

boolean

Определяет, когда использовать атомарные операции для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы.

По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако иногда конфигурация систем или неисправности мешают этому. Например, объекты файловой системы, смонтированные Docker, нельзя атомарно обновить из контейнера — их можно записать только небезопасным способом.

Этот параметр позволяет Ansible при сбое атомарных операций прибегнуть к небезопасным методам обновления объектов файловой системы (однако он не заставляет Ansible выполнять небезопасную запись).

ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных.

Варианты:

  • false ← (по умолчанию)
  • true

username

string

Имя пользователя для базовой аутентификации в репозитории или любом URL.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: full

Может выполняться в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект; если режим не поддерживается, действие будет пропущено.

diff_mode

Поддержка: full

В режиме diff возвращает сведения об изменениях (или возможных изменениях в режиме check_mode).

platform

Платформа: rhel

Целевые ОС и семейства ОС, с которыми можно работать

Примечания

Примечание

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

Примеры

- name: Add repository
  ansible.builtin.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)
  ansible.builtin.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)
  ansible.builtin.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
  ansible.builtin.command: yum clean metadata

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

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

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

Общие возвращаемые значения описаны здесь; ниже приведены поля, характерные только для этого модуля:

Ключ

Описание

repo

string

имя репозитория

Возвращается: при успехе

Пример: "epel"

state

string

состояние целевого объекта после выполнения

Возвращается: при успехе

Пример: "present"

Авторы

  • Jiri Tyr (@jtyr)

Ссылки на коллекцию

  • Отслеживание ошибок
  • Репозиторий (исходный код)
  • Общение

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

Spec-Zone.ru

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