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 utilizar el nombre corto del módulo yum 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.

  • Sinopsis
  • Requisitos
  • Parámetros
  • Notas
  • Ejemplos de

Sinopsis

  • Instala, actualiza, degrada, elimina y enumera paquetes y grupos con la mmm gerente de empaquetación.
  • Este módulo solo funciona en Python 2. Si necesita compatibilidad con Python 3, consulte la ansible.builtin.dnf módulo.

Nota

Este módulo tiene un correspondiente complemento de acción.

Requisitos

Los siguientes requisitos son necesarios en el host que ejecuta este módulo.

  • mmm

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
allow_downgradebooleano agregado en 2.4 de ansible.builtin
    Opciones:

  • no
Especifique si el paquete y la versión nombrados pueden degradar una versión superior tal vez ya instalada de ese paquete. Tenga en cuenta que la configuración de allow_downgrade = True puede hacer que este módulo se comporte de una manera no idempotente. La tarea podría terminar con un conjunto de paquetes que no coincide con la lista completa de paquetes especificados para instalar (porque las dependencias entre el paquete degradado y otros pueden causar cambios en los paquetes que estaban en la transacción anterior).
autoremovebooleano agregado en 2.7 de ansible.builtin
    Opciones:

  • no
Si yes, elimina todos los paquetes “hoja” del sistema que se instalaron originalmente como dependencias de los paquetes instalados por el usuario, pero que ya no son necesarios para ninguno de estos paquetes. Debe usarse solo o cuando el estado es ausenteNOTA: Esta función requiere yum> = 3.4.3 (RHEL / CentOS 7+)
arreglo del fallobooleano agregado en 2.6 de ansible.builtin
    Opciones:

  • no
Si se establece en yes, y state=latest luego solo instala las actualizaciones que se han marcado como relacionadas con la corrección de errores.
conf_filecuerda agregado en 0.6 de ansible.builtin El archivo de configuración de yum remoto que se utilizará para la transacción.
disable_excludescuerda agregado en 2.7 de ansible.builtin Deshabilite las exclusiones definidas en los archivos de configuración de YUM. all, deshabilita todas las exclusiones. main, inhabilitar las exclusiones definidas en [main] en yum.conf. Si se establece en repoid, inhabilita las exclusiones definidas para el ID de repositorio dado.
disable_gpg_checkbooleano agregado en 1.2 de ansible.builtin
    Opciones:

  • no
Si se debe deshabilitar la verificación GPG de las firmas de los paquetes que se están instalando. Tiene efecto solo si el estado es regalo o más reciente.
disable_pluginlista / elementos = cadena agregado en 2.5 de ansible.builtin Enchufar nombre a deshabilitar para la operación de instalación / actualización. Los complementos deshabilitados no persistirán más allá de la transacción.
deshabilitarlista / elementos = cadena agregado en 0.9 de ansible.builtin Repoid de repositorios para deshabilitar para la operación de instalación / actualización. Estos repositorios no persistirán más allá de la transacción. Al especificar varios repositorios, sepárelos con un ",".A partir de Ansible 2.7, esto puede ser alternativamente una lista en lugar de "," cuerda separada
download_dircuerda agregado en 2.8 de ansible.builtin Especifica un directorio alternativo para almacenar paquetes. Tiene efecto solo si download_only está especificado.
download_onlybooleano agregado en 2.7 de ansible.builtin
    Opciones:

  • no
Solo descargue los paquetes, no los instale.
enable_pluginlista / elementos = cadena agregado en 2.5 de ansible.builtin Enchufar nombre para habilitar la operación de instalación / actualización. El complemento habilitado no persistirá más allá de la transacción.
enablerepolista / elementos = cadena agregado en 0.9 de ansible.builtin Repoid de repositorios para habilitar la operación de instalación / actualización. Estos repositorios no persistirán más allá de la transacción. Al especificar varios repositorios, sepárelos con un ",".A partir de Ansible 2.7, esto puede ser alternativamente una lista en lugar de "," cuerda separada
excluirlista / elementos = cadena agregado en 2.0 de ansible.builtin Nombre (s) del paquete para excluir cuando el estado = presente, o el último
install_repoquerybooleano agregado en 1.5 de ansible.builtin
    Opciones:

  • no
Si el repositorio no está disponible, instale yum-utils. Si el sistema está registrado en RHN o en un satélite de RHN, el repositorio permite consultar todos los canales asignados al sistema. También es necesario usar el parámetro ‘list’. NOTA: Esto se ejecutará y se registrará como una transacción de yum separada que tiene lugar antes de cualquier otra instalación o eliminación. NOTA: Esto usará los repositorios habilitados predeterminados del sistema sin tener en cuenta disablerepo / enablerepo dado al módulo.
install_weak_depsbooleano agregado en 2.8 de ansible.builtin
    Opciones:

  • no
También instalará todos los paquetes vinculados por una relación de dependencia débil. NOTA: Esta característica requiere yum> = 4 (RHEL / CentOS 8+)
installrootcuerda agregado en 2.3 de ansible.builtin Defecto:
“/”
Especifica una raíz de instalación alternativa, relativa a la que se instalarán todos los paquetes.
listacuerda Nombre del paquete para ejecutar el equivalente de yum list –show-duplicates contra. Además de enumerar los paquetes, el uso también puede enumerar lo siguiente: installed, updates, available y repos.Este parámetro es mutuamente excluyente con name.
lock_timeoutentero agregado en 2.8 de ansible.builtin Defecto:
30
Cantidad de tiempo para esperar a que se libere el archivo de bloqueo yum.
nombrelista / elementos = cadena Un nombre de paquete o un especificador de paquete con versión, como name-1.0Los operadores de comparación para la versión del paquete son válidos aquí. >, <, >=, <=. Ejemplo - name>=1.0Si se especifica una versión anterior, la tarea también debe convertirse allow_downgrade sobre. Ver el allow_downgrade documentación para advertencias con paquetes de degradación. Cuando se usa state = latest, esto puede ser '*' lo que significa correr yum -y updateTambién puede pasar una URL o una ruta local a un archivo rpm (usando state = present). Para operar en varios paquetes, esto puede aceptar una cadena de paquetes separados por comas o (a partir de 2.0) una lista de paquetes.
alias: pkg
soltarcuerda agregado en 2.7 de ansible.builtin Especifica una versión alternativa desde la que se instalarán todos los paquetes.
seguridadbooleano agregado en 2.4 de ansible.builtin
    Opciones:

  • no
Si se establece en yes, y state=latest luego solo instala las actualizaciones que se han marcado como relacionadas con la seguridad.
skip_brokenbooleano agregado en 2.3 de ansible.builtin
    Opciones:

  • no
Omitir paquetes con dependencias rotas (devsolve) y están causando problemas.
estadocuerda
    Opciones:

  • ausente
  • instalado
  • más reciente
  • regalo
  • remoto
Ya sea para instalar (present o installed, latest), o eliminar (absent o removed) un paquete.present y installed simplemente se asegurará de que se instale el paquete deseado.latest actualizará el paquete especificado si no es de la última versión disponible.absent y removed eliminará el paquete especificado. None, sin embargo, en efecto, la acción predeterminada es present a menos que el autoremove la opción está habilitada para este módulo, entonces absent se infiere.
update_cachebooleano agregado en 1.9 de ansible.builtin
    Opciones:

  • no
Obligue a yum a verificar si el caché está desactualizado y vuelva a descargarlo si es necesario. Tiene efecto solo si el estado es regalo o más reciente.
alias: expire-cache
update_onlybooleano agregado en 2.5 de ansible.builtin
    Opciones:

  • no
Cuando utilice la última versión, actualice solo los paquetes instalados. No instale paquetes Tiene efecto solo si el estado es más reciente
use_backendcuerda agregado en 2.7 de ansible.builtin
    Opciones:

  • auto
  • mmm
  • yum4
  • dnf
Este módulo admite yum (como siempre lo ha hecho), esto se conoce como yum3/YUM3/yum-deprecated por desarrolladores de yum upstream. A partir de Ansible 2.7+, este módulo también admite YUM4, que es el "nuevo yum" y tiene una dnf backend De forma predeterminada, este módulo seleccionará el backend en función de la ansible_pkg_mgr hecho.
validate_certsbooleano agregado en 2.1 de ansible.builtin
    Opciones:

  • no
Esto solo se aplica si se usa una URL https como fuente de rpm. por ejemplo, para localinstall. Si se establece en no, los certificados SSL no se validarán. Esto solo debe establecerse en no utilizado en sitios controlados personalmente mediante certificados autofirmados, ya que evita verificar el sitio de origen. Antes de 2.1, el código funcionaba como si estuviera configurado para yes.

Notas

Nota

  • Cuando se usa con un loop: cada paquete se procesará individualmente, es mucho más eficiente pasar la lista directamente al name opción.
  • En versiones anteriores a 1.9.2, este módulo instaló y eliminó cada paquete proporcionado al módulo yum por separado. Esto causaba problemas cuando los paquetes especificados por nombre de archivo o url tenían que instalarse o eliminarse juntos. En 1.9.2 esto se corrigió para que los paquetes se instalen en una transacción yum. Sin embargo, si uno de los paquetes agrega un nuevo repositorio de yum del que provienen los otros paquetes (como epel-release), entonces ese paquete debe instalarse en una tarea separada. Esto imita el comportamiento de la línea de comandos de yum.
  • Yum en sí tiene dos tipos de grupos. Los "grupos de paquetes" se especifican en el propio rpm, mientras que los "grupos de entorno" se especifican en un archivo separado (generalmente por la distribución). Desafortunadamente, esta división se vuelve evidente para los usuarios de ansible porque ansible necesita operar en el grupo de paquetes en una sola transacción y yum requiere que los grupos se especifiquen de diferentes maneras cuando se usan de esa manera. Los grupos de paquetes se especifican como “@ desarrollo-herramientas” y los grupos de entorno son “@ ^ gnome-desktop-environment”. Utilice el comando "yum group list hidden ids" para ver en qué categoría de grupo se encuentra el grupo que desea instalar.
  • El módulo yum no admite borrar el caché de yum de una manera idempotente, por lo que se decidió no implementarlo, el único método es usar el comando y llamar al comando yum directamente, a saber, "comando: yum limpiar todo" https://github.com/ansible/ansible/pull/31450#issuecomment-352889579

Ejemplos de

-name: Install the latest version of Apache
  yum:name: httpd
    state: latest

-name: Install Apache >= 2.4
  yum:name: httpd>=2.4
    state: present

-name: Install a list of packages (suitable replacement for 2.11 loop deprecation warning)
  yum:name:- nginx
      - postgresql
      - postgresql-server
    state: present

-name: Install a list of packages with a list variable
  yum:name:" packages "vars:packages:- httpd
    - httpd-tools

-name: Remove the Apache package
  yum:name: httpd
    state: absent

-name: Install the latest version of Apache from the testing repo
  yum:name: httpd
    enablerepo: testing
    state: present

-name: Install one specific version of Apache
  yum:name: httpd-2.2.29-1.4.amzn1
    state: present

-name: Upgrade all packages
  yum:name:'*'state: latest

-name: Upgrade all packages, excluding kernel & foo related packages
  yum:name:'*'state: latest
    exclude: kernel*,foo*

-name: Install the nginx rpm from a remote repo
  yum:name: http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
    state: present

-name: Install nginx rpm from a local file
  yum:name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
    state: present

-name: Install the 'Development tools' package group
  yum:name:"@Development tools"state: present

-name: Install the 'Gnome desktop' environment group
  yum:name:"@^gnome-desktop-environment"state: present

-name: List ansible packages and register result to print with debug later
  yum:list: ansible
  register: result

-name: Install package with multiple repos enabled
  yum:name: sos
    enablerepo:"epel,ol7_latest"-name: Install package with multiple repos disabled
  yum:name: sos
    disablerepo:"epel,ol7_latest"-name: Download the nginx package but do not install it
  yum:name:- nginx
    state: latest
    download_only:true

Autores

  • Equipo principal de Ansible
  • Seth Vidal (@skvidal)
  • Eduard Snesarev (@ verm666)
  • Berend De Schouwer (@berenddeschouwer)
  • Abhijeet Kasurde (@Akasurde)
  • Adam Miller (@maxamillion)