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