taktus.package
Paquete
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 | sí |
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
A role for installing packages on different operating systems.
ansible-galaxy install taktus.package