GROG.package

Paquete

Ansible Galaxy Estado de Construcción Última etiqueta Chat en Gitter

Un rol para gestionar paquetes en diferentes sistemas operativos.

Este rol actualmente soporta apt, yum, dnf, brew, zypper, pacman y portage. ¡Siente libre de enviar un pull o solicitud de característica para añadir tu gestor de paquetes favorito!

Atención:

  • Este rol maneja las diferencias de nombre entre gestores de paquetes, pero no entre distribuciones que usan el mismo gestor de paquetes.
  • La cobertura de pruebas es bastante pequeña, ¡así que por favor reporta errores!

Requisitos

  • Los hosts deben estar preparados para el uso de ansible (tener python, etc.)
  • Privilegios de root, por ejemplo become: yes

Variables del Rol

Variable Descripción Valor por defecto
package_list Lista de paquetes (¡ver detalles!) []
package_list_host Lista de paquetes (¡ver detalles!) []
package_list_group Lista de paquetes (¡ver detalles!) []
package_state Estado por defecto del paquete 'present'
package_update_cache ¿Actualizar la caché? yes
package_cache_valid_time ¿Cuánto tiempo es válida la caché de paquetes? (segundos) 3600

Detalles de package_list

package_list, package_list_host y package_list_group se combinan al gestionar los paquetes. Puedes usar las listas de hosts y grupos para especificar paquetes por host o grupo.

La lista de paquetes te permite definir qué paquetes deben ser gestionados. Cada elemento en la lista puede tener los siguientes atributos:

Variable Descripción Requerido
name Nombre del paquete
state Estado del paquete no
apt Nombre del paquete para apt no
apt_ignore Ignorar paquete para apt no
apt_install_recommends Si se deben instalar dependencias recomendadas para apt no
apk Nombre del paquete para apk no
apk_ignore Ignorar paquete para apk no
yum Nombre del paquete para yum no
yum_ignore Ignorar paquete para yum no
dnf Nombre del paquete para dnf no
dnf_ignore Ignorar paquete para dnf no
brew Nombre del paquete para brew no
brew_ignore Ignorar paquete para brew no
zypper Nombre del paquete para zypper no
zypper_ignore Ignorar paquete para zypper no
pacman Nombre del paquete para pacman no
pacman_ignore Ignorar paquete para pacman no
portage Nombre del paquete para portage no
portage_ignore Ignorar paquete para portage no
opkg Nombre del paquete para opkg no
opkg_ignore Ignorar paquete para opkg no

Por defecto, se utilizan package_state y item.name al gestionar los paquetes. Sin embargo, si se define item.state o un nombre de paquete más específico (por ejemplo, item.apt), estos se utilizarán en su lugar. Si quieres que un paquete sea ignorado para algunos gestores de paquetes, puedes añadir ***_ignore: yes.

Ejemplo de package_list
package_list:
  - name: paquete
  - name: paquete1
    state: absent
  - name: paquete2
    apt: nombre_paquete2_apt
  - name: paquete3
    apt_ignore: yes
    yum: nombre_paquete3_yum
    pacman: nombre_paquete3_pacman
    portage: nombre_paquete3_portage

Dependencias

Ninguna.

Ejemplo de Playbook

---
- hosts: servidores
  roles:
  - { role: GROG.package,
      become: yes,
        package_list: [
          { name: htop,
            brew: htop-osx },
          { name: tree }
        ]
    }

Contribuciones

¡Toda ayuda, cambios o ideas bienvenidos!

Autor

Por G. Roggemans

Licencia

MIT

Acerca del proyecto

A role for installing packages on different operating systems.

Instalar
ansible-galaxy install GROG.package
Licencia
mit
Descargas
260k
Propietario
Open Source Science and Technology