GROG.package
Paquet
Un rôle pour gérer les paquets sur différents systèmes d'exploitation.
Ce rôle prend en charge les gestionnaires de paquets apt, yum, dnf, brew, zypper, pacman et portage. N'hésitez pas à envoyer une demande de tirage ou de fonctionnalité pour ajouter votre gestionnaire de paquets préféré !
Attention :
- Ce rôle gère les différences de noms entre les gestionnaires de paquets mais pas entre les distributions utilisant le même gestionnaire de paquets.
- La couverture des tests est plutôt petite, donc merci de signaler les bogues !
Exigences
- Les hôtes doivent être préparés pour l'utilisation d'ansible (avoir python, ...)
- Privilèges root, par exemple
become: yes
Variables du Rôle
Variable | Description | Valeur par défaut |
---|---|---|
package_list |
Liste de paquets (voir les détails !) | [] |
package_list_host |
Liste de paquets (voir les détails !) | [] |
package_list_group |
Liste de paquets (voir les détails !) | [] |
package_state |
État par défaut du paquet | 'present' |
package_update_cache |
Mettre à jour le cache ? | yes |
package_cache_valid_time |
Combien de temps le cache des paquets est-il valide ? (secondes) | 3600 |
Détails de package_list
package_list
, package_list_host
et package_list_group
sont fusionnés lors de la gestion des paquets. Vous pouvez utiliser les listes d'hôtes et de groupes pour spécifier des paquets par hôte ou par groupe.
La liste des paquets vous permet de définir quels paquets doivent être gérés. Chaque élément de la liste peut avoir les attributs suivants :
Variable | Description | requis |
---|---|---|
name |
Nom du paquet | oui |
state |
État du paquet | non |
apt |
Nom du paquet pour apt | non |
apt_ignore |
Ignorer le paquet pour apt | non |
apt_install_recommends |
Installer les dépendances recommandées pour apt | non |
apk |
Nom du paquet pour apk | non |
apk_ignore |
Ignorer le paquet pour apk | non |
yum |
Nom du paquet pour yum | non |
yum_ignore |
Ignorer le paquet pour yum | non |
dnf |
Nom du paquet pour dnf | non |
dnf_ignore |
Ignorer le paquet pour dnf | non |
brew |
Nom du paquet pour brew | non |
brew_ignore |
Ignorer le paquet pour brew | non |
zypper |
Nom du paquet pour zypper | non |
zypper_ignore |
Ignorer le paquet pour zypper | non |
pacman |
Nom du paquet pour pacman | non |
pacman_ignore |
Ignorer le paquet pour pacman | non |
portage |
Nom du paquet pour portage | non |
portage_ignore |
Ignorer le paquet pour portage | non |
opkg |
Nom du paquet pour opkg | non |
opkg_ignore |
Ignorer le paquet pour opkg | non |
Par défaut, package_state
et item.name
sont utilisés lors de la gestion des paquets.
Cependant, si item.state
est défini ou un nom de paquet plus spécifique (par exemple
item.apt
), ceux-ci seront utilisés à la place. Si vous voulez qu'un paquet soit ignoré pour
certains gestionnaires de paquets, vous pouvez ajouter ***_ignore
: yes.
Exemple de package_list
package_list:
- name: paquet
- name: paquet1
state: absent
- name: paquet2
apt: nom_du_paquet2_apt
- name: paquet3
apt_ignore: yes
yum: nom_du_paquet3_yum
pacman: nom_du_paquet3_pacman
portage: nom_du_paquet3_portage
Dépendances
Aucune.
Exemple de Playbook
---
- hosts: serveurs
roles:
- { role: GROG.package,
become: yes,
package_list: [
{ name: htop,
brew: htop-osx },
{ name: tree }
]
}
Contribution
Toute aide, modification ou idée est la bienvenue !
Auteur
Par G. Roggemans
Licence
MIT
A role for installing packages on different operating systems.
ansible-galaxy install GROG.package