cans.package-install
cans.package-install
Prosta rola Ansible, która instaluje podaną listę pakietów Debian
(.deb
).
Celem tej roli nie jest oferowanie wszystkich możliwych funkcji. Jest to bardziej minimalistyczna, ale wydajna i wielokrotnego użytku, metoda instalacji pakietów. W zasadzie jest to procedura, która, kiedy otrzyma listę pakietów, instaluje je.
Wymagania
Ta rola nie ma szczególnych wymagań wstępnych, ale zakłada, że docelowe serwery używają dystrybucji Debian lub jej pochodnych.
Zmienne roli
Wszystkie zmienne w tej roli mają prefiks pkginstall_
.
Rola ta definiuje również zmienne do użytku wewnętrznego. Te są poprzedzone
prefiksem _pkginstall_
. Nie powinieneś używać tych zmiennych.
Zmienne wejściowe
Aby ta rola mogła wykonać jakiekolwiek zadanie, musisz zdefiniować
jedną lub obie zmienne pkginstall_packages_absent
oraz pkginstall_packages_present
.
pkginstall_packages
: WYCOFANE Użyj zamiast tegopkginstall_package_present
(domyślnie:[]
);pkginstall_packages_present
: lista nazw pakietów, które mają być zainstalowane na docelowych serwerach (domyślnie:[]
);pkginstall_packages_absent
: lista nazw pakietów, które mają być nie zainstalowane na docelowych serwerach (domyślnie:[]
);
Domyślne
pkginstall_apt_package_list_cache_directory
: ścieżka do katalogu, który przechowuje dostępne listy pakietów oraz listy zawartości pakietów. Ta zmienna jest wymagana tylko, jeśli ustawiszpkginstall_cache_purge
natrue
(zobacz poniżej). Bardzo mało prawdopodobne, że będziesz musiał to zmieniać. (domyślnie:"/var/lib/apt/lists"
)pkginstall_cache_ttl
: czas ważności pamięci podręcznej pakietów, w sekundach (domyślnie: 3600)pkginstall_cache_update
: czy zaktualizować pamięć podręczną pakietów przed zainstalowaniem pakietów (domyślnie:true
)pkginstall_purge
: podczas usuwania pakietów, usuń również ich pliki konfiguracyjne (domyślnie:true
);pkginstall_recommended
: czy instalować zalecane pakiety wraz z pakietami wyraźnie wymienionymi do instalacji (domyślnie:false
).pkginstall_update_cache
: WYCOFANE użyj zamiast tegopkginstall_cache_update
(domyślnie:true
)
Zależności
Ta rola nie ma formalnych zależności. Wymaga jednak od Ciebie
nadpisania zmiennej pkginstall_packages
, aby faktycznie coś wykonać
(_por. przykład playbooka poniżej).
Możesz być również zainteresowany użyciem roli cans.package-source
w połączeniu z tą, aby dodać dodatkowe repozytoria pakietów do tych
już znanych przez APT.
Przykłady Playbooków
Załóżmy, że masz dwie role, first_role
i second_role
, z każdą
definiującą zmienną, która zawiera listę pakietów do zainstalowania,
powiedzmy first_role_packages
i second_role_packages
. Możesz więc,
aby użyć tej roli, zacząć od przypisania
zmiennej pkginstall_packages
z konkatenacją obu list.
Następnie po prostu wywołaj rolę.
- hosts: servers
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
- role: first_role
- role: second_role
Jeśli z jakiegoś powodu nie możesz zainstalować wszystkich pakietów naraz
(np. first_role
instaluje lub konfiguruje coś, co jest wymagane przed
możliwością zainstalowania pakietów wymaganych przez second_role
:
- hosts: servers
roles:
- role: cans.package-install
pkginstall_packages: "{{ first_role_packages }}"
- role: first_role
- role: cans.package-install
pkginstall_packages: "{{ second_role_packages }}"
- role: second_role
Powyższe przykłady zakładają, że Ansible łączy się z docelowymi serwerami
z tożsamością, która ma wystarczające uprawnienia do instalacji pakietów. Jeśli nie,
możesz potrzebować użyć jednej lub obu opcji remote_user
i become
:
- hosts: servers
remote_user: "uprawniony-użytkownik"
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
become: yes
- role: first_role
- role: second_role
Licencja
GPLv2
Informacje o autorze
Copyright © 2017-2018, Nicolas CANIART.
Simple Ansible Role that installs a given list of Debian packages (`.deb`).
ansible-galaxy install cans.package-install