GROG.package
Paket
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
A role for installing packages on different operating systems.
ansible-galaxy install GROG.package