cans.package-install
cans.package-install
Rôle Ansible simple qui installe une liste donnée de paquets Debian
(.deb
).
L'objectif de ce rôle n'est pas d'être trop complexe. C'est plutôt une méthode d'installation de paquets minimaliste mais efficace et réutilisable. C'est essentiellement une procédure qui, lorsqu'on lui donne une liste de paquets, les installe.
Exigences
Ce rôle n'a pas de pré-requis particulier. Mais il suppose que le(s) serveur(s) cible(s) utilisent la distribution Debian ou un dérivé.
Variables du rôle
Toutes les variables de ce rôle sont préfixées avec pkginstall_
.
Ce rôle définit également des variables pour son usage interne. Celles-ci
sont préfixées avec _pkginstall_
. Vous ne devez pas les utiliser.
Variables d'entrée
Pour que ce rôle puisse effectuer une tâche, vous devez définir soit
pkginstall_packages_absent
, soit pkginstall_packages_present
.
pkginstall_packages
: DÉCONSEILLÉ Utilisezpkginstall_package_present
à la place (par défaut :[]
);pkginstall_packages_present
: une liste de noms de paquets à s'assurer qui sont installés sur le(s) hôte(s) cible(s) (par défaut :[]
);pkginstall_packages_absent
: une liste de noms de paquets à s'assurer qui ne sont pas installés sur le(s) hôte(s) cible(s) (par défaut :[]
);
Valeurs par défaut
pkginstall_apt_package_list_cache_directory
: chemin vers le répertoire qui stocke les listes de paquets disponibles et les contenus des listes de paquets. Cette variable est nécessaire uniquement si vous définissezpkginstall_cache_purge
àtrue
(voir ci-dessous). Il est très improbable que vous ayez besoin de modifier cela. (par défaut :"/var/lib/apt/lists"
)pkginstall_cache_ttl
: durée de validité du cache des paquets, en secondes (par défaut : 3600)pkginstall_cache_update
: si le cache des paquets doit être mis à jour ou non avant d'installer les paquets (par défaut :true
)pkginstall_purge
: lors de la suppression de paquets, supprimez également leurs fichiers de configuration (par défaut :true
);pkginstall_recommended
: si les paquets recommandés doivent être installés en plus des paquets explicitement listés pour installation (par défaut :false
).pkginstall_update_cache
: DÉCONSEILLÉ utilisezpkginstall_cache_update
à la place (par défaut :true
)
Dépendances
Ce rôle n'a pas de dépendances formelles. Mais il vous demande de
remplacer la variable pkginstall_packages
pour effectuer des tâches.
Vous pourriez également être intéressé par l'utilisation du rôle
cans.package-source
en conjonction avec celui-ci, pour ajouter des dépôts
de paquets supplémentaires à ceux déjà connus par APT.
Exemples de Playbooks
Supposons que vous ayez deux rôles, first_role
et second_role
, chacun définissant
une variable qui contient une liste de paquets à installer, appelons-les first_role_packages
et second_role_packages
, respectivement. Vous pouvez ensuite, pour utiliser ce rôle,
commencer par assigner la variable pkginstall_packages
avec la concaténation des deux listes.
Ensuite, il suffit d'appeler le rôle.
- hosts: servers
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
- role: first_role
- role: second_role
Si pour une raison quelconque vous ne pouvez pas installer tous les paquets à la fois
(par exemple parce que first_role
installe ou configure quelque chose nécessaire avant de
pouvoir installer les paquets requis par 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
Les exemples ci-dessus supposent qu'Ansible se connecte aux serveurs cibles avec une
identité ayant suffisamment de privilèges pour installer des paquets. Sinon, vous
devez peut-être utiliser l'un ou l'autre des mots-clés remote_user
et become
:
- hosts: servers
remote_user: "utilisateur-privilegié"
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
become: yes
- role: first_role
- role: second_role
Licence
GPLv2
Informations sur l'auteur
Copyright © 2017-2018, Nicolas CANIART.
Simple Ansible Role that installs a given list of Debian packages (`.deb`).
ansible-galaxy install cans.package-install