GROG.package

Paquet

Ansible Galaxy État de construction Dernière version Discussion Gitter

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

À propos du projet

A role for installing packages on different operating systems.

Installer
ansible-galaxy install GROG.package
Licence
mit
Téléchargements
260k
Propriétaire
Open Source Science and Technology