cans.package-install

cans.package-install

Build-Status Ansible Galaxy Lizenz

Ein einfaches Ansible-Rollenskript, das eine gegebene Liste von Debian-Paketen (.deb) installiert.

Ziel dieses Skripts ist es, nicht viele komplizierte Funktionen anzubieten. Es ist ein minimalistisches, aber effizientes und wiederverwendbares Verfahren zur Paketinstallation. Es ist basically ein Verfahren, das, wenn eine Liste von Paketen gegeben ist, diese installiert.

Anforderungen

Dieses Skript hat keine besonderen Voraussetzungen. Es wird jedoch davon ausgegangen, dass die Zielserver Debian oder eine abgeleitete Version verwenden.

Rollenvariablen

Alle Variablen in diesem Skript sind mit dem Präfix pkginstall_ versehen.

Dieses Skript definiert auch Variablen für die interne Verwendung. Diese sind mit _pkginstall_ vorangestellt. Diese Variablen sollten nicht verwendet werden.

Eingangsvariablen

Damit dieses Skript eine Aufgabe ausführen kann, müssen Sie entweder oder beide pkginstall_packages_absent und pkginstall_packages_present Variablen definieren.

  • pkginstall_packages: VERALTET Verwenden Sie stattdessen pkginstall_packages_present (Standard: []);
  • pkginstall_packages_present: eine Liste von Paketnamen, die auf dem Zielhost installiert sein sollen (Standard: []);
  • pkginstall_packages_absent: eine Liste von Paketnamen, die auf dem Zielhost nicht installiert sein sollen (Standard: []);

Standardwerte

  • pkginstall_apt_package_list_cache_directory: Pfad zum Verzeichnis, das verfügbare Paketlisten und Paketinhaltslisten speichert. Diese Variable ist nur erforderlich, wenn Sie pkginstall_cache_purge auf true setzen (siehe unten). Es ist sehr unwahrscheinlich, dass Sie dies jemals ändern müssen. (Standard: "/var/lib/apt/lists")
  • pkginstall_cache_ttl: Gültigkeitsdauer des Paketcache in Sekunden (Standard: 3600)
  • pkginstall_cache_update: Ob der Paketcache vor der Installation von Paketen aktualisiert werden soll (Standard: true)
  • pkginstall_purge: Beim Entfernen von Paketen auch die Konfigurationsdateien entfernen (Standard: true);
  • pkginstall_recommended: Ob empfohlene Pakete zusammen mit den ausdrücklich zum Installieren aufgelisteten Paketen installiert werden sollen (Standard: false).
  • pkginstall_update_cache: VERALTET verwenden Sie stattdessen pkginstall_cache_update (Standard: true)

Abhängigkeiten

Dieses Skript hat keine formalen Abhängigkeiten. Es erfordert jedoch, dass Sie die Variable pkginstall_packages überschreiben, um tatsächlich etwas auszuführen (siehe Beispiel-Playbook unten).

Es kann auch interessant sein, die Rolle cans.package-source in Verbindung mit dieser hier zu verwenden, um zusätzliche Paket-Repositories hinzuzufügen, die von APT bereits bekannt sind.

Beispiel-Playbooks

Angenommen, Sie haben zwei Rollen, first_role und second_role, von denen jede eine Variable definiert, die eine Liste von Paketen zum Installieren enthält, sagen wir first_role_packages und second_role_packages. Sie können dann diese Rolle nutzen, indem Sie die Variable pkginstall_packages mit der Verkettung beider Listen zuweisen. Danach rufen Sie einfach die Rolle auf.

- hosts: servers
  vars:
    pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
  roles:
    - role: cans.package-install
    - role: first_role
    - role: second_role

Wenn Sie aus irgendeinem Grund nicht alle Pakete auf einmal installieren können (z. B. weil first_role etwas installiert oder konfiguriert, das erforderlich ist vor der Installation der Pakete, die von second_role benötigt werden):

- 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

Die obigen Beispiele gehen davon aus, dass Ansible sich mit den Zielservern mit einer Identität verbindet, die genügend Berechtigungen hat, um Pakete zu installieren. Andernfalls müssen Sie möglicherweise entweder oder beide remote_user und become Schlüsselwörter verwenden:

- hosts: servers
  remote_user: "privileged-user"
  vars:
    pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
  roles:
    - role: cans.package-install
      become: yes
    - role: first_role
    - role: second_role

Lizenz

GPLv2

Autorinformationen

Copyright © 2017-2018, Nicolas CANIART.

Über das Projekt

Simple Ansible Role that installs a given list of Debian packages (`.deb`).

Installieren
ansible-galaxy install cans.package-install
GitHub Repository
Lizenz
gpl-2.0
Downloads
536
Besitzer