Nota

Este módulo es parte de ansible-base e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede usar el nombre corto del módulo yum_repository incluso sin especificar el collections: palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.

Nuevo en la versión 2.1: de ansible.builtin

  • Sinopsis
  • Parámetros
  • Notas
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Agregue o elimine repositorios YUM en distribuciones de Linux basadas en RPM.
  • Si desea actualizar una definición de repositorio existente, utilice community.general.ini_file en lugar de.

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
asincrónicobooleano
    Opciones:

  • no
Si se establece en yes Yum descargará paquetes y metadatos de este repositorio en paralelo, si es posible.
atributoscuerda agregado en 2.3 de ansible.builtin Los atributos que debe tener el archivo o directorio resultante. Para obtener indicadores compatibles, consulte la página de manual para chattr en el sistema de destino Esta cadena debe contener los atributos en el mismo orden que el mostrado por lsattr.Los = El operador se asume como predeterminado, de lo contrario + o - los operadores deben incluirse en la cadena.
alias: attr
banda anchacuerda Defecto:
0
Ancho de banda de red máximo disponible en bytes / segundo. Usado con el acelerador opción. acelerador es un porcentaje y el ancho de banda es 0 entonces se desactivará la limitación del ancho de banda. Si acelerador se expresa como una velocidad de datos (bytes / seg), esta opción se ignora. El valor predeterminado es 0 (sin limitación de ancho de banda).
baseurllista / elementos = cadena URL al directorio donde se encuentra el directorio ‘repodata’ del repositorio yum.También puede ser una lista de múltiples URL. metalink o lista de espejos los parámetros son necesarios si estado se establece en present.
costocuerda Defecto:
1000
Costo relativo de acceder a este repositorio. Útil para pesar los paquetes de un repositorio como mayor / menor que cualquier otro.
deltarpm_metadata_percentagecuerda Defecto:
100
Cuando el tamaño relativo de los metadatos deltarpm frente a pkgs es mayor que este, los metadatos deltarpm no se descargan del repositorio. Tenga en cuenta que puede dar valores sobre 100, asi que 200 significa que se requiere que los metadatos sean la mitad del tamaño de los paquetes. Usar 0 para desactivar esta verificación y descargar siempre los metadatos.
deltarpm_percentagecuerda Defecto:
75
Cuando el tamaño relativo de delta vs pkg es mayor que este, no se usa delta. Usar 0 para desactivar el procesamiento delta rpm. Repositorios locales (con archivo: // baseurl) tienen delta rpms desactivado de forma predeterminada.
descripcióncuerda Una cadena legible por humanos que describe el repositorio. Esta opción corresponde a la propiedad “nombre” en el archivo de repositorio. Este parámetro solo es necesario si estado se establece en present.
activadobooleano
    Opciones:

  • no
Esto le dice a yum si usa o no este repositorio. El valor predeterminado de Yum es true.
enablegroupsbooleano
    Opciones:

  • no
Determina si yum permitirá el uso de grupos de paquetes para este repositorio. El valor predeterminado de Yum es true.
excluirlista / elementos = cadena Lista de paquetes para excluir de actualizaciones o instalaciones. Esta debería ser una lista separada por espacios. Shell globs usando comodines (p. Ej. * y ?) están permitidos La lista también puede ser una matriz YAML normal.
método de conmutación por errorcuerda
    Opciones:

  • roundrobin
  • prioridad
roundrobin selecciona aleatoriamente una URL de la lista de URL para comenzar y avanza a través de cada una de ellas cuando encuentra una falla al comunicarse con el host.priority comienza desde el primero baseurl enumerados y los lee secuencialmente.
expedientecuerda Nombre de archivo sin el .repo extensión para guardar el repositorio. Por defecto, el valor de nombre.
gpgcakeycuerda Una URL que apunta al archivo de claves de CA blindado con ASCII para el repositorio.
gpgcheckbooleano
    Opciones:

  • no
Le dice a yum si debe o no realizar una verificación de firma GPG en los paquetes. Sin configuración predeterminada. Si no se establece el valor, la configuración del sistema de /etc/yum.conf o el sistema predeterminado de no se utilizará.
gpgkeylista / elementos = cadena Una URL que apunta al archivo de claves GPG blindado ASCII para el repositorio. También puede ser una lista de varias URL.
grupocuerda Nombre del grupo que debería ser propietario del archivo / directorio, como se enviaría a chown.
http_cachingcuerda
    Opciones:

  • todos
  • paquetes
  • ninguno
Determina cómo se instruye a las cachés HTTP ascendentes para manejar cualquier descarga HTTP que Yum haga.all significa que todas las descargas HTTP deben almacenarse en caché.packages significa que solo se deben almacenar en caché las descargas de paquetes RPM (pero no las descargas de metadatos del repositorio).none significa que no se deben almacenar en caché las descargas HTTP.
incluircuerda Incluir archivo de configuración externo. Se admiten tanto la ruta local como la URL. El archivo de configuración se insertará en la posición del incluir = línea. Los archivos incluidos pueden contener más líneas de inclusión. Yum abortará con un error si se detecta un bucle de inclusión.
includepkgslista / elementos = cadena Lista de paquetes que solo desea usar desde un repositorio. Esta debería ser una lista separada por espacios. Shell globs usando comodines (p. Ej. * y ?) están permitidos. Variables de sustitución (p. Ej. $releasever) se respetan aquí. La lista también puede ser una matriz YAML normal.
ip_resolvecuerda
    Opciones:

  • 4
  • 6
  • IPv4
  • IPv6
  • lo que
Determina cómo yum resuelve los nombres de host.4 o IPv4 – resolver solo en direcciones IPv4.6 o IPv6 – resolver solo en direcciones IPv6.
mantener vivabooleano
    Opciones:

  • no
Esto le dice a yum si se debe usar HTTP / 1.1 keepalive con este repositorio. Esto puede mejorar las velocidades de transferencia mediante el uso de una conexión al descargar varios archivos de un repositorio.
guardar cachécuerda
    Opciones:

  • 0
  • 1
Cualquiera 1 o 0. Determina si yum mantiene o no la caché de encabezados y paquetes después de una instalación exitosa.
metadata_expirecuerda Defecto:
21600
Tiempo (en segundos) después del cual caducarán los metadatos. El valor predeterminado es 6 horas.
metadata_expire_filtercuerda
    Opciones:

  • Nunca
  • solo lectura: pasado
  • solo lectura: presente
  • solo lectura: futuro
Filtrar el metadata_expire tiempo, permitiendo un cambio de velocidad por precisión si un comando no lo requiere. Cada comando yum puede especificar que requiere un cierto nivel de calidad de puntualidad de los repositorios remotos. desde “Estoy a punto de instalar / actualizar, así que es mejor que esté actualizado” a “Todo lo que esté disponible es lo suficientemente bueno”.never – Nada se filtra, obedece siempre metadata_expire.read-only:past – Los comandos que solo se preocupan por la información pasada se filtran de los metadatos que caducan. P.ej. historia de yum info (si el historial necesita buscar algo sobre una transacción anterior, entonces, por definición, el paquete remoto estaba disponible en el pasado).read-only:present – Comandos equilibrados entre pasado y futuro. P.ej. yum lista yum.read-only:future – Comandos que probablemente resulten en la ejecución de otros comandos que requerirán los últimos metadatos. P.ej. yum comprobar-actualizarTenga en cuenta que esta opción no anula “yum clean expire-cache”.
metalinkcuerda Especifica una URL a un archivo metalink para repomd.xml, se genera una lista de espejos para todo el repositorio al convertir los espejos para el archivo repomd.xml en un baseurl.Este el baseurl o lista de espejos los parámetros son necesarios si estado se establece en present.
lista de espejoscuerda Especifica una URL a un archivo que contiene una lista de baseurls. baseurl o metalink los parámetros son necesarios si estado se establece en present.
mirrorlist_expirecuerda Defecto:
21600
Tiempo (en segundos) después del cual caducará la lista de réplicas almacenada en caché local. El valor predeterminado es 6 horas.
modocrudo Los permisos que debe tener el archivo o directorio resultante. / usr / bin / chmod recuerde que los modos son en realidad números octales. Debe agregar un cero a la izquierda para que el analizador YAML de Ansible sepa que es un número octal (como 0644 o 01777) o citarlo (como '644' o '1777') para que Ansible reciba una cadena y pueda hacer su propia conversión de cadena a número. Dar a Ansible un número sin seguir una de estas reglas terminará con un número decimal que tendrá resultados inesperados. A partir de Ansible 1.8, se puede especificar el modo como modo simbólico (por ejemplo, u+rwx o u=rw,g=r,o=r).Si mode no se especifica y el archivo de destino no existe, el predeterminado umask en el sistema se utilizará al configurar el modo para el archivo recién creado. mode no se especifica y el archivo de destino lo hace existe, se utilizará el modo del archivo existente. mode es la mejor manera de garantizar que los archivos se creen con los permisos correctos. Consulte CVE-2020-1736 para obtener más detalles.
module_hotfixesbooleano agregado en 2.11 de ansible.builtin
    Opciones:

  • no
Deshabilite el filtrado de RPM del módulo y haga que todos los RPM del repositorio estén disponibles. El valor predeterminado es None.
nombrecuerda / requerido ID de repositorio único. Esta opción crea el nombre de la sección del repositorio en el archivo de repositorio. Este parámetro solo es necesario si estado se establece en present o absent.
dueñocuerda Nombre del usuario que debería ser propietario del archivo / directorio, como se enviaría a chown.
contraseñacuerda Contraseña para usar con el nombre de usuario para la autenticación básica.
prioridadcuerda Defecto:
99
Hacer cumplir la protección ordenada de los repositorios. El valor es un número entero de 1 a 99. Esta opción solo funciona si está instalado el complemento YUM Priorities.
protegerbooleano
    Opciones:

  • no
Proteja los paquetes de las actualizaciones de otros repositorios.
apoderadocuerda URL del servidor proxy que debería usar yum. Ajustado a _none_ para deshabilitar la configuración de proxy global.
proxy_passwordcuerda Contraseña para este proxy.
proxy_usernamecuerda Nombre de usuario que se utilizará para el proxy.
repo_gpgcheckbooleano
    Opciones:

  • no
Esto le dice a yum si debe o no realizar una verificación de firma GPG en los repodatos de este repositorio.
reposdirsendero Defecto:
“/etc/yum.repos.d”
Directorio donde el .repo los archivos se almacenarán.
reintentoscuerda Defecto:
10
Establezca el número de veces que se debe reintentar cualquier intento de recuperar un archivo antes de devolver un error. Estableciendo esto en 0 hace que yum intente para siempre.
s3_enabledbooleano
    Opciones:

  • no
Habilita el soporte para repositorios S3. Esta opción solo funciona si el complemento YUM S3 está instalado.
selevelcuerda La parte de nivel del contexto del archivo SELinux. Este es el atributo MLS / MCS, a veces conocido como range.Cuando se establece en _default, usará el level parte de la póliza si está disponible.
serolacuerda El rol parte del contexto del archivo SELinux. _default, usará el role parte de la póliza si está disponible.
setypecuerda La parte de tipo del contexto del archivo SELinux. _default, usará el type parte de la póliza si está disponible.
seusercuerda La parte del usuario del contexto del archivo SELinux. system política, cuando corresponda. _default, usará el user parte de la póliza si está disponible.
skip_if_unavailablebooleano
    Opciones:

  • no
Si se establece en yes yum continuará ejecutándose si no se puede contactar con este repositorio por cualquier motivo. Esto debe establecerse con cuidado ya que todos los repositorios se consultan para cualquier comando dado.
ssl_check_cert_permissionsbooleano
    Opciones:

  • no
Si yum debe verificar los permisos en las rutas de los certificados en el repositorio (tanto remoto como local) .Si no podemos leer ninguno de los archivos, yum forzará skip_if_unavailable ser yes. Esto es más útil para los procesos no root que usan yum en repositorios que tienen archivos de certificado de cliente que solo puede leer el root.
sslcacertcuerda Ruta al directorio que contiene las bases de datos de las autoridades de certificación que yum debe usar para verificar los certificados SSL.
alias: ca_cert
sslclientcertcuerda Ruta al certificado de cliente SSL que yum debe usar para conectarse a repositorios / sitios remotos.
alias: client_cert
sslclientkeycuerda Ruta a la clave de cliente SSL que yum debe usar para conectarse a repositorios / sitios remotos.
alias: client_key
sslverifybooleano
    Opciones:

  • no
Define si yum debe verificar los certificados / hosts SSL en absoluto.
alias: validate_certs
estadocuerda
    Opciones:

  • ausente
  • regalo
Estado del archivo de repositorio.
aceleradorcuerda Habilite la limitación del ancho de banda para las descargas. Esta opción se puede expresar como una velocidad de datos absoluta en bytes / seg. Se puede agregar un prefijo SI (k, M o G) al valor del ancho de banda.
se acabó el tiempocuerda Defecto:
30
Número de segundos para esperar una conexión antes de que se agote el tiempo de espera.
ui_repoid_varscuerda Defecto:
“releasever basearch”
Cuando se muestra un ID de repositorio, agregue estas variables yum a la cadena si se usan en el baseurl/ etc. Las variables se agregan en el orden en que se enumeran (y se encuentran).
unsafe_writesbooleano agregado en 2.2 de ansible.builtin
    Opciones:

  • no
Influir en el momento de utilizar la operación atómica para evitar la corrupción de datos o lecturas inconsistentes del archivo de destino. De forma predeterminada, este módulo utiliza operaciones atómicas para evitar la corrupción de datos o lecturas inconsistentes de los archivos de destino, pero a veces los sistemas están configurados o simplemente dañados de manera que evitan esto. . Un ejemplo son los archivos montados en la ventana acoplable, que no se pueden actualizar atómicamente desde el interior del contenedor y solo se pueden escribir de manera insegura. Esta opción permite que Ansible recurra a métodos inseguros para actualizar archivos cuando fallan las operaciones atómicas (sin embargo, no es así forzar a Ansible a realizar escrituras inseguras). Las escrituras no seguras están sujetas a condiciones de carrera y pueden provocar daños en los datos.
nombre de usuariocuerda Nombre de usuario que se utilizará para la autenticación básica en un repositorio o en cualquier URL.

Notas

Nota

  • Todos los comentarios se eliminarán si se modifica un archivo de repositorio existente.
  • El orden de las secciones se conserva en un archivo de repositorio existente.
  • Los parámetros de una sección están ordenados alfabéticamente en un archivo de repositorio existente.
  • El archivo de repositorio se eliminará automáticamente si no contiene ningún repositorio.
  • Al eliminar un repositorio, tenga en cuenta que la caché de metadatos puede permanecer en el disco hasta que ejecute yum clean all. Utilice un controlador de notificaciones para esto.
  • los params El parámetro se eliminó en Ansible 2.5 debido a eludir el manejo de parámetros de Ansible

Ejemplos de

-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

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
repositoriocuerda éxito nombre del repositorio
Muestra:epel
estadocuerda éxito estado del objetivo, después de la ejecución
Muestra:regalo

Autores

  • Jiri Tyr (@jtyr)