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