GROG.package

Paket

Ansible Galaxy Build Status Letztes Tag Gitter-Chat

Eine Rolle zur Verwaltung von Paketen auf verschiedenen Betriebssystemen.

Diese Rolle unterstützt derzeit apt, yum, dnf, brew, zypper, pacman und portage. Du kannst gerne einen Pull- oder Feature-Request senden, um deinen Lieblings-Paketmanager hinzuzufügen!

Achtung:

  • Diese Rolle berücksichtigt die Namensunterschiede zwischen Paketmanagern, aber nicht zwischen Distributionen, die denselben Paketmanager verwenden.
  • Die Testabdeckung ist eher gering, also bitte melde Fehler!

Anforderungen

  • Hosts sollten für die Ansible-Nutzung vorbereitet sein (Python, ...)
  • Root-Rechte, z.B. become: yes

Rollenvariablen

Variable Beschreibung Standardwert
package_list Liste der Pakete (siehe Details!) []
package_list_host Liste der Pakete (siehe Details!) []
package_list_group Liste der Pakete (siehe Details!) []
package_state Standardpaketstatus 'present'
package_update_cache Cache aktualisieren? yes
package_cache_valid_time Wie lange ist der Paket-Cache gültig? (Sekunden) 3600

Details zu package_list

package_list, package_list_host und package_list_group werden beim Verwalten der Pakete zusammengeführt. Du kannst die Host- und Gruppenlisten verwenden, um Pakete pro Host oder Gruppe anzugeben.

Die Paketliste ermöglicht es dir, zu definieren, welche Pakete verwaltet werden müssen. Jedes Element in der Liste kann die folgenden Attribute haben:

Variable Beschreibung erforderlich
name Paketname ja
state Paketstatus nein
apt Paketname für apt nein
apt_ignore Paket für apt ignorieren nein
apt_install_recommends Ob empfohlene Abhängigkeiten für apt installiert werden sollen nein
apk Paketname für apk nein
apk_ignore Paket für apk ignorieren nein
yum Paketname für yum nein
yum_ignore Paket für yum ignorieren nein
dnf Paketname für dnf nein
dnf_ignore Paket für dnf ignorieren nein
brew Paketname für brew nein
brew_ignore Paket für brew ignorieren nein
zypper Paketname für zypper nein
zypper_ignore Paket für zypper ignorieren nein
pacman Paketname für pacman nein
pacman_ignore Paket für pacman ignorieren nein
portage Paketname für portage nein
portage_ignore Paket für portage ignorieren nein
opkg Paketname für opkg nein
opkg_ignore Paket für opkg ignorieren nein

Standardmäßig werden package_state und item.name beim Verwalten der Pakete verwendet. Wenn jedoch item.state definiert ist oder ein spezifischerer Paketname (z.B. item.apt), werden diese stattdessen verwendet. Wenn du möchtest, dass ein Paket für bestimmte Paketmanager ignoriert wird, kannst du ***_ignore: ja hinzufügen.

Beispiel für package_list
package_list:
  - name: paket
  - name: paket1
    state: absent
  - name: paket2
    apt: paket2_apt_name
  - name: paket3
    apt_ignore: ja
    yum: paket3_yum_name
    pacman: paket3_pacman_name
    portage: paket3_portage_name

Abhängigkeiten

Keine.

Beispiel-Playbook

---
- hosts: server
  roles:
  - { role: GROG.package,
      become: ja,
        package_list: [
          { name: htop,
            brew: htop-osx },
          { name: tree }
        ]
    }

Mitwirken

Alle Hilfe, Änderungen oder Ideen sind willkommen!

Autor

Von G. Roggemans

Lizenz

MIT

Über das Projekt

A role for installing packages on different operating systems.

Installieren
ansible-galaxy install GROG.package
Lizenz
mit
Downloads
260k
Besitzer
Open Source Science and Technology