yum_repository – Добавление или удаление репозиториев YUM
Новая версия с 2.1.
Обзор
- Добавление или удаление репозиториев YUM в дистрибутивах Linux на основе RPM.
- Если вы хотите обновить существующее определение репозитория, используйте ini_file вместо этого.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| async boolean |
| Если установлено значение yes, Yum будет загружать пакеты и метаданные из этого репозитория параллельно, если это возможно. |
| attributes - добавлен в 2.3 | Атрибуты файла или директории. Для получения поддерживаемых флагов обратитесь к странице руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr. = оператор предполагается по умолчанию, иначе + или - операторы должны быть включены в строку.псевдонимы: attr | |
| bandwidth - | Значение по умолчанию: 0 | Максимальная доступная пропускная способность сети в байтах/секунду. Используется с параметром throttle. Если throttle — процент, а bandwidth — 0, то ограничение пропускной способности будет отключено. Если throttle выражен как скорость передачи данных (байты/сек), этот параметр игнорируется. Значение по умолчанию — 0 (ограничение пропускной способности отсутствует). |
| baseurl - | URL каталога, где хранится директория 'repodata' репозитория yum. Это также может быть список нескольких URL. Этот, metalink или mirrorlist параметры необходимы, если state установлено в present. | |
| cost - | Значение по умолчанию: 1000 | Относительная стоимость доступа к этому репозиторию. Полезно для взвешивания пакетов одного репозитория как больше/меньше, чем других. |
| deltarpm_metadata_percentage - | Значение по умолчанию: 100 | Когда относительный размер метаданных deltarpm по сравнению с пакетами больше этого значения, метаданные deltarpm не загружаются из репозитория. Обратите внимание, что вы можете указывать значения больше 100, так 200 означает, что метаданные должны быть вполовину меньше размера пакетов. Используйте 0 чтобы отключить эту проверку и всегда загружать метаданные. |
| deltarpm_percentage - | Значение по умолчанию: 75 | Когда относительный размер delta по сравнению с пакетом больше этого значения, delta не используется. Используйте 0 чтобы отключить обработку delta rpm. У локальных репозиториев (с file:// baseurl) delta rpm отключены по умолчанию. |
| description - | Строка для отображения, описывающая репозиторий. Этот параметр соответствует свойству "name" в файле репозитория. Этот параметр необходим только если state установлено на present. | |
| enabled boolean |
| Указывает yum, использовать ли этот репозиторий. |
| enablegroups boolean |
| Определяет, позволит ли yum использовать группы пакетов для этого репозитория. |
| exclude - | Список пакетов, которые нужно исключить из обновлений или установок. Это должен быть список, разделенный пробелами. Разрешены оболочки командной строки с подстановками (например, * и ?).Список также может быть обычным YAML-массивом. | |
| failovermethod - |
| roundrobin случайным образом выбирает URL из списка URL для начала и продолжает по каждому из них, когда возникает ошибка соединения с хостом.priority начинает с первого указанного baseurl и читает их последовательно. |
| file - | Имя файла без .repo расширения для сохранения репозитория. По умолчанию используется значение name. | |
| gpgcakey - | URL, указывающий на файл ключа CA репозитория в ASCII-формате. | |
| gpgcheck boolean |
| Указывает yum, выполнять ли проверку подписи GPG пакетов. Значение по умолчанию не задано. Если значение не установлено, будет использоваться системное значение из /etc/yum.conf или системное значение по умолчанию no. |
| gpgkey - | URL, указывающий на файл ключа GPG репозитория в ASCII-формате. Это также может быть список нескольких URL. | |
| group - | Имя группы, которой должен принадлежать файл/директория, как это передается в chown. | |
| http_caching - |
| Определяет, как кеши HTTP-серверов будут обрабатывать загружаемые yum HTTP-запросы. all означает, что все HTTP-загрузки должны кешироваться.packages означает, что должны кешироваться только загружаемые пакеты RPM (но не метаданные репозитория).none означает, что HTTP-загрузки кешироваться не должны. |
| include - | Включить внешний файл конфигурации. Поддерживаются как локальные пути, так и URL. Файл конфигурации будет вставлен в позицию строки include=. Включенные файлы могут содержать дополнительные строки включения. Yum прервется с ошибкой, если обнаружен цикл включения. | |
| includepkgs - | Список пакетов, которые нужно использовать только из репозитория. Это должен быть список, разделенный пробелами. Разрешены оболочки командной строки с подстановками (например, * и ?). Подстановки переменных (например, $releasever) учитываются здесь.Список также может быть обычным YAML-массивом. | |
| ip_resolve - |
| Определяет, как yum разрешает имена хостов. 4 или IPv4 - разрешение только на IPv4 адреса.6 или IPv6 - разрешение только на IPv6 адреса. |
| keepalive boolean |
| Указывает yum, использовать ли HTTP/1.1 keepalive с этим репозиторием. Это может улучшить скорость передачи, используя одно соединение при загрузке нескольких файлов из репозитория. |
| keepcache - |
| Либо 1 или 0. Определяет, сохраняется ли кеш заголовков и пакетов yum после успешной установки. |
| metadata_expire - | Значение по умолчанию: 21600 | Время (в секундах), после которого метаданные истекут. Значение по умолчанию — 6 часов. |
| metadata_expire_filter - |
| Фильтрует время metadata_expire, позволяя обменять скорость на точность, если команда этого не требует. Каждая команда yum может указать, что она требует определённого уровня актуальности информации с удалённых репозиториев, от "Я собираюсь установить/обновить, поэтому информация должна быть актуальной" до "Любая доступная информация подойдёт". never - Ничего не фильтруется, всегда подчиняется metadata_expire.read-only:past - Команды, которые заботятся только о прошлой информации, отфильтровываются от устаревших метаданных. Например, информация команды yum 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. Этот параметр, baseurl или mirrorlist, необходим, если параметр state установлен на present. | |
| mirrorlist - | Указывает URL-адрес файла, содержащего список baseurl. Этот параметр, baseurl или metalink, необходим, если параметр state установлен на present. | |
| mirrorlist_expire - | По умолчанию: 21600 | Время (в секундах) после которого кэшированный локально mirrorlist истечёт. Значение по умолчанию — 6 часов. |
| mode - | Режим, в котором должен быть файл или каталог. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущий ноль, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') чтобы Ansible получил строку и мог самостоятельно преобразовать её в число. Передача Ansible числа без соблюдения одного из этих правил приведёт к десятичному числу, что может привести к неожиданным результатам. Начиная с версии 1.8, режим может быть указан как символический режим (например, u+rwx или u=rw,g=r,o=r). | |
| name - / обязательно | Уникальный идентификатор репозитория. Этот параметр формирует имя раздела репозитория в файле репозитория. Этот параметр обязателен только если параметр state установлен на present или absent. | |
| owner - | Имя пользователя, который должен владеть файлом/каталогом, как если бы это передавалось в команду chown. | |
| password - | Пароль для использования с именем пользователя для аутентификации по протоколу Basic. | |
| priority - | По умолчанию: 99 | Принудительное упорядоченное применение защиты репозиториев. Значение является целым числом от 1 до 99. Этот параметр работает только при установленной плагине YUM Priorities. |
| protect boolean |
| Защищает пакеты от обновлений из других репозиториев. |
| proxy - | URL прокси-сервера, который должен использовать yum. Установите в _none_ для отключения глобальной настройки прокси. | |
| proxy_password - | Имя пользователя для использования с прокси. | |
| proxy_username - | Пароль для этого прокси. | |
| repo_gpgcheck boolean |
| Этот параметр указывает yum, нужно ли ему проверять подпись GPG для repodata из этого репозитория. |
| reposdir - | По умолчанию: "/etc/yum.repos.d" | Директория, в которой будут храниться файлы .repo. |
| retries - | По умолчанию: 10 | Установите количество попыток повторного получения файла перед возвратом ошибки. Установка значения 0 заставляет yum пытаться бесконечно. |
| s3_enabled boolean |
| Включает поддержку репозиториев 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 boolean |
| Если установлено значение yes yum продолжит выполнение, если к этому репозиторию нельзя подключиться по какой-либо причине. Этот параметр следует устанавливать с осторожностью, поскольку все репозитории используются для любой команды. |
| ssl_check_cert_permissions boolean |
| Указывает, должна ли yum проверять разрешения на пути к сертификатам в репозитории (как удалённым, так и локальным). Если какой-либо из файлов недоступен для чтения, yum принудительно установит skip_if_unavailable в yes. Это особенно полезно для процессов, не имеющих прав root, которые используют yum для репозиториев, содержащих файлы клиентских сертификатов, доступные только для root. |
| sslcacert - | Путь к каталогу, содержащему базы данных центров сертификации, которые yum должен использовать для проверки SSL-сертификатов. | |
| sslclientcert - | Путь к SSL-сертификату клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам. | |
| sslclientkey - | Путь к SSL-ключу клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам. | |
| sslverify boolean |
| Определяет, должен ли yum вообще проверять SSL-сертификаты/хосты. |
| state - |
| Состояние файла репозитория. |
| throttle - | Включить ограничение пропускной способности для загрузок. Этот параметр можно выразить как абсолютную скорость передачи данных в байтах/сек. К значению пропускной способности можно добавить префикс SI (к, М или Г). | |
| timeout - | По умолчанию: 30 | Количество секунд ожидания соединения перед таймаутом. |
| ui_repoid_vars - | Значение по умолчанию: "releasever basearch" | При отображении идентификатора репозитория к строке добавляются эти переменные yum, если они используются в baseurl/etc. Переменные добавляются в указанном порядке (и найдены). |
| unsafe_writes boolean добавлен в 2.2 |
| По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это предотвращает. Один пример — файлы, смонтированные с помощью Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только ненадёжным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов при сбое атомарных операций (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. |
| username - | Имя пользователя для использования при базовой аутентификации на репозитории или любом URL. |
Примечания
Примечание
- Все комментарии будут удалены при изменении существующего файла репозитория.
- Порядок разделов сохраняется в существующем файле репозитория.
- Параметры в разделе упорядочены по алфавиту в существующем файле репозитория.
- Файл репозитория будет автоматически удален, если он не содержит репозиторий.
- При удалении репозитория следует учитывать, что кэш метаданных может остаться на диске, пока не будет выполнено
yum clean all. Используйте обработчик уведомлений для этого. - Параметр
paramsбыл удален в Ansible 2.5 из-за обхода обработки параметров Ansible.
Примеры
- 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
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| repo строка | успех | имя репозитория Пример: epel |
| state строка | успех | состояние целевого объекта после выполнения Пример: present |
Статус
- Для этого модуля гарантированы отсутствие изменений интерфейса, несовместимых со старыми версиями, в будущем. [stableinterface]
- Этот модуль поддерживается основной командой Ansible. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Jiri Tyr (@jtyr)
Подсказка
Если вы обнаружите какие-либо проблемы в данной документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/yum_repository_module.html