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 вместо этого.
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

async

boolean

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

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

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

Варианты:

  • false
  • true

attributes

aliases: 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

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

deltarpm_metadata_percentage

string

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

deltarpm_percentage

string

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

description

string

Читаемая человеком строка, описывающая репозиторий. Этот параметр соответствует свойству «name» в файле репозитория.

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

enabled

boolean

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

Значение по умолчанию для Yum — true.

Варианты:

  • false
  • true

enablegroups

boolean

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

Значение по умолчанию для Yum — true.

Варианты:

  • false
  • true

exclude

list / elements=string

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

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

failovermethod

string

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

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

Варианты:

  • "roundrobin"
  • "priority"

file

string

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

gpgcakey

string

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

gpgcheck

boolean

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

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

Варианты:

  • false
  • true

gpgkey

list / elements=string

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

Это также может быть список из нескольких URL-адресов.

group

string

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

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

http_caching

string

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

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

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

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

Варианты:

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

include

string

Включает внешний файл конфигурации. Поддерживаются как локальный путь, так и URL. Файл конфигурации будет вставлен в позицию строки 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 для данного репозитория. Это может улучшить скорость передачи, используя одно подключение при загрузке нескольких файлов из репозитория.

Варианты:

  • false
  • true

keepcache

string

Либо 1 или 0. Определяет, сохраняет ли yum кэш заголовков и пакетов после успешной установки.

Этот параметр устарел и будет удалён в версии 2.20.

Варианты:

  • "0"
  • "1"

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».

Варианты:

  • "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 файла, содержащего список baseurl.

Этот, baseurl или metalink параметры необходимы, если state установлено в present.

mirrorlist_expire

string

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

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

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

added in ansible-core 2.11

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

Варианты:

  • false
  • true

имя

строка / обязательно

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

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

владелец

строка

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

Если не указано, используется текущий пользователь, за исключением случаев, когда вы являетесь root, в этом случае сохраняется предыдущее владение.

Задавая числовое имя пользователя, предполагается, что это идентификатор пользователя, а не имя пользователя. Избегайте числовых имён пользователей, чтобы избежать этой путаницы.

пароль

строка

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

приоритет

строка

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

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

защита

логическое

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

Варианты:

  • false
  • true

прокси

строка

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

пароль_прокси

строка

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

имя_пользователя_прокси

строка

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

repo_gpgcheck

логическое

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

Варианты:

  • false
  • true

reposdir

путь

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

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

повторы

строка

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

s3_enabled

логическое

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

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

Варианты:

  • false
  • true

selevel

строка

Часть уровня контекста файловой системы SELinux.

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

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

serole

строка

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

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

setype

строка

Часть типа контекста файловой системы SELinux.

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

seuser

строка

Часть пользователя контекста файловой системы SELinux.

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

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

skip_if_unavailable

логическое

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

Варианты:

  • false
  • true

ssl_check_cert_permissions

логическое

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

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

Варианты:

  • false
  • true

sslcacert

aliases: ca_cert

строка

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

sslclientcert

aliases: client_cert

строка

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

sslclientkey

aliases: client_key

string

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

sslverify

aliases: validate_certs

boolean

Определяет, должен ли yum проверять сертификаты/хосты SSL вообще.

Варианты:

  • false
  • true

state

string

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

Варианты:

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

throttle

string

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

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

timeout

string

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

ui_repoid_vars

string

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

unsafe_writes

boolean

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

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

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

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

Варианты:

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

username

string

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

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

diff_mode

Поддержка: полная

Возвращает подробности о том, что изменилось (или, возможно, требует изменения в режиме check_mode), когда режим diff включен.

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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/yum_repository_module.html

Spec-Zone.ru

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