taktus.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. ¡No dudes en enviar una solicitud de extracción o de función para agregar tu gestor de paquetes favorito!

Atención:

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

Requisitos

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

Variables del Rol

Variable Descripción Valor predeterminado
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 predeterminado 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 host y grupo 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 instalar dependencias recomendadas en apt 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

Por defecto, se utilizan package_state y item.name al gestionar los paquetes. Sin embargo, si se define item.state o se proporciona un nombre de paquete más específico (por ejemplo, item.apt), estos se utilizarán en su lugar. Si deseas que un paquete sea ignorado por 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 asistencia, cambios o ideas son bienvenidos!

Autor

Por G. Roggemans

Licencia

MIT

Acerca del proyecto

A role for installing packages on different operating systems.

Instalar
ansible-galaxy install taktus.package
Licencia
mit
Descargas
112
Propietario