GROG.package
Pakiet
Rola do zarządzania pakietami na różnych systemach operacyjnych.
Ta rola obecnie obsługuje apt, yum, dnf, brew, zypper, pacman i portage. Zachęcamy do przesyłania zgłoszeń lub requestów funkcji, aby dodać ulubiony menedżer pakietów!
Uwaga:
- Ta rola radzi sobie z różnicami w nazwach między menedżerami pakietów, ale nie pomiędzy dystrybucjami używającymi tego samego menedżera pakietów.
- Pokrycie testami jest dość małe, więc prosimy o zgłaszanie błędów!
Wymagania
- Hosty powinny być skonfigurowane do użycia ansible (mieć zainstalowany Python,...)
- Uprawnienia roota, np.
become: yes
Zmienne roli
Zmienna | Opis | Wartość domyślna |
---|---|---|
package_list |
Lista pakietów (patrz szczegóły!) | [] |
package_list_host |
Lista pakietów (patrz szczegóły!) | [] |
package_list_group |
Lista pakietów (patrz szczegóły!) | [] |
package_state |
Domyślny stan pakietu | 'present' |
package_update_cache |
Zaktualizować pamięć podręczną? | yes |
package_cache_valid_time |
Jak długo pamięć podręczna pakietów jest ważna? (w sekundach) | 3600 |
Szczegóły package_list
package_list
, package_list_host
i package_list_group
są łączone podczas
zarządzania pakietami. Możesz użyć list hostów i grup, aby określić
pakiety dla konkretnego hosta lub grupy.
Lista pakietów pozwala zdefiniować, które pakiety muszą być zarządzane. Każdy element na liście może mieć następujące atrybuty:
Zmienna | Opis | Wymagana |
---|---|---|
name |
Nazwa pakietu | tak |
state |
Stan pakietu | nie |
apt |
Nazwa pakietu dla apt | nie |
apt_ignore |
Ignoruj pakiet dla apt | nie |
apt_install_recommends |
Czy instalować zalecane zależności apt | nie |
apk |
Nazwa pakietu dla apk | nie |
apk_ignore |
Ignoruj pakiet dla apk | nie |
yum |
Nazwa pakietu dla yum | nie |
yum_ignore |
Ignoruj pakiet dla yum | nie |
dnf |
Nazwa pakietu dla dnf | nie |
dnf_ignore |
Ignoruj pakiet dla dnf | nie |
brew |
Nazwa pakietu dla brew | nie |
brew_ignore |
Ignoruj pakiet dla brew | nie |
zypper |
Nazwa pakietu dla zypper | nie |
zypper_ignore |
Ignoruj pakiet dla zypper | nie |
pacman |
Nazwa pakietu dla pacman | nie |
pacman_ignore |
Ignoruj pakiet dla pacman | nie |
portage |
Nazwa pakietu dla portage | nie |
portage_ignore |
Ignoruj pakiet dla portage | nie |
opkg |
Nazwa pakietu dla opkg | nie |
opkg_ignore |
Ignoruj pakiet dla opkg | nie |
Domyślnie używane są wartości package_state
oraz item.name
podczas zarządzania pakietami.
Jeśli jednak zdefiniowane jest item.state
lub bardziej szczegółowa nazwa pakietu (np. item.apt
), zostaną one użyte zamiast tego. Jeśli chcesz, aby pakiet został zignorowany dla
niektórych menedżerów pakietów, możesz dodać ***_ignore
: yes.
Przykład package_list
package_list:
- name: pakiet
- name: pakiet1
state: absent
- name: pakiet2
apt: nazwa_pakietu2_apt
- name: pakiet3
apt_ignore: yes
yum: nazwa_pakietu3_yum
pacman: nazwa_pakietu3_pacman
portage: nazwa_pakietu3_portage
Zależności
Brak.
Przykład playbooka
---
- hosts: serwery
roles:
- { role: GROG.package,
become: yes,
package_list: [
{ name: htop,
brew: htop-osx },
{ name: tree }
]
}
Wkład
Wszelka pomoc, zmiany lub pomysły mile widziane!
Autor
Autor G. Roggemans
Licencja
MIT
A role for installing packages on different operating systems.
ansible-galaxy install GROG.package