cans.package-install
cans.package-install
Rol de Ansible simple que instala una lista dada de paquetes de Debian
(.deb
).
La intención de este rol no es ofrecer muchas funcionalidades. Es más un método minimalista, pero eficiente y reutilizable, para instalar paquetes. Es básicamente un procedimiento que, al recibir una lista de paquetes, los instala.
Requisitos
Este rol no tiene pre-requisitos particulares. Pero asume que el(los) servidor(es) objetivo utilizan la distribución Debian o un derivado.
Variables del Rol
Todas las variables en este rol están nombradas con el prefijo pkginstall_
.
Este rol también define variables para su uso interno. Estas están precedidas
por _pkginstall_
. No debes usar esas variables.
Variables de entrada
Para que este rol ejecute cualquier tarea, debes definir ya sea
o ambas de las variables pkginstall_packages_absent
y pkginstall_packages_present
.
pkginstall_packages
: OBSOLETA Usapkginstall_packages_present
en su lugar (predeterminado:[]
);pkginstall_packages_present
: una lista de nombres de paquetes que deben estar instalados en el(los) host(s) objetivo (predeterminado:[]
);pkginstall_packages_absent
: una lista de nombres de paquetes que deben no estar instalados en el(los) host(s) objetivo (predeterminado:[]
);
Predeterminados
pkginstall_apt_package_list_cache_directory
: ruta al directorio que almacena listas de paquetes disponibles y listas de contenido de paquetes. Esta variable solo es necesaria si establecespkginstall_cache_purge
entrue
(ver más abajo). Es muy poco probable que necesites cambiar esto. (predeterminado:"/var/lib/apt/lists"
)pkginstall_cache_ttl
: duración de validez de la caché de paquetes, en segundos (predeterminado: 3600)pkginstall_cache_update
: si se debe actualizar la caché de paquetes o no antes de instalar paquetes (predeterminado:true
)pkginstall_purge
: al eliminar paquetes, también eliminar sus archivos de configuración (predeterminado:true
);pkginstall_recommended
: si se deben instalar paquetes recomendados junto con los paquetes explícitamente listados para instalación (predeterminado:false
).pkginstall_update_cache
: OBSOLETO usapkginstall_cache_update
en su lugar (predeterminado:true
)
Dependencias
Este rol no tiene dependencias formales. Pero requiere que
sobreescribas la variable pkginstall_packages
para realizar
cualquier acción (cf. ejemplo de libro de jugadas a continuación).
También puede interesarte usar el rol cans.package-source
en
conjunto con este, para agregar repositorios de paquetes adicionales a los
ya conocidos por APT.
Ejemplos de Libros de Jugadas
Supongamos que tienes dos roles, first_role
y second_role
, cada uno
de los cuales define una variable que contiene una lista de paquetes a instalar,
digamos first_role_packages
y second_role_packages
, respectivamente.
Entonces, para usar este rol, comenzamos asignando la variable
pkginstall_packages
con la concatenación de ambas listas.
Luego solo necesitas llamar al rol.
- hosts: servers
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
- role: first_role
- role: second_role
Si por alguna razón no puedes instalar todos los paquetes a la vez (por ejemplo,
porque first_role
instala o configura algo necesario antes de poder
instalar los paquetes requeridos por second_role
):
- hosts: servers
roles:
- role: cans.package-install
pkginstall_packages: "{{ first_role_packages }}"
- role: first_role
- role: cans.package-install
pkginstall_packages: "{{ second_role_packages }}"
- role: second_role
Los ejemplos anteriores asumen que Ansible se conecta a los servidores objetivo
con una identidad que tiene suficientes privilegios para instalar paquetes.
Si no, es posible que debas utilizar uno o ambos de los términos remote_user
y become
:
- hosts: servers
remote_user: "usuario-privilegiado"
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
become: yes
- role: first_role
- role: second_role
Licencia
GPLv2
Información del Autor
Copyright © 2017-2018, Nicolas CANIART.
Simple Ansible Role that installs a given list of Debian packages (`.deb`).
ansible-galaxy install cans.package-install