thedumbtechguy.unattended-upgrades

Ansible Rolle: Automatische Aktualisierungen

Eine Ansible-Rolle zur Einrichtung automatischer Aktualisierungen auf Ubuntu. Standardmäßig sind nur Sicherheitsupdates aktiviert.

Anforderungen

Diese Rolle wurde nur auf Ubuntu 16.04 und Ubuntu 16.10 getestet.

Für Debian müssen Sie möglicherweise den Wert von unattended_origins_patterns ändern, da die Standardeinstellung auf Ubuntu abzielt.

Automatische E-Mail

Wenn Sie unattended_mail auf eine E-Mail-Adresse setzen, stellen Sie sicher, dass der Befehl mailx verfügbar ist und Ihr System E-Mails senden kann.

Automatischer Neustart

Wenn Sie die automatische Neustartfunktion (unattended_automatic_reboot) aktivieren, versucht die Rolle, das Paket update-notifier-common zu installieren, das auf einigen Systemen erforderlich ist, um einen Neustart nach dem Upgrade zu erkennen und auszuführen. Sie können optional eine bestimmte Zeit für den Neustart festlegen (unattended_automatic_reboot_time).

Variablen

  • unattended_origins_patterns: Array von Ursprungsmustern, um zu bestimmen, ob das Paket automatisch installiert werden kann; für mehr Details siehe Ursprungsmuster unten.
    • Standard: ['origin=Ubuntu,archive=${distro_codename}-security']
  • unattended_package_blacklist: Pakete, die nicht automatisch aktualisiert werden.
    • Standard: []
  • unattended_autofix_interrupted_dpkg: ob bei einem unvollständigen dpkg-Ausstieg dpkg --force-confold --configure -a ausgeführt werden soll.
    • Standard: true
  • unattended_minimal_steps: das Upgrade in die kleinsten möglichen Schritte aufteilen, damit sie mit SIGUSR1 unterbrochen werden können.
    • Standard: false
  • unattended_install_on_shutdown: Alle automatischen Aktualisierungen installiere, wenn der Computer herunterfährt.
    • Standard: false
  • unattended_mail: E-Mail-Adresse, um Informationen über Updates oder Probleme mit automatischen Aktualisierungen zu senden.
    • Standard: false (keine E-Mail senden)
  • unattended_mail_only_on_error: E-Mail nur bei Fehlern senden; andernfalls wird bei jedem Paketupdate eine E-Mail gesendet.
    • Standard: false
  • unattended_remove_unused_dependencies: Nach dem Upgrade automatisch neue nicht verwendete Abhängigkeiten entfernen.
    • Standard: false
  • unattended_automatic_reboot: System automatisch neu starten, falls ein aktualisiertes Paket dies erfordert, sofort nach dem Upgrade.
    • Standard: false
  • unattended_automatic_reboot_time: System automatisch neu starten, falls ein aktualisiertes Paket dies erfordert, zu einer bestimmten Zeit (HH:MM) statt sofort nach dem Upgrade.
    • Standard: false
  • unattended_ignore_apps_require_restart: Automatische Aktualisierungen installieren keine kritischen Pakete, die einen Neustart nach einem Upgrade erfordern (d.h. in ihrer Datei debian/control gibt es die Direktive XB-Upgrade-Requires: app-restart). Wenn diese Option auf true gesetzt ist, werden diese Pakete trotz der Direktive aktualisiert.
    • Standard: false

Ursprungsmuster

Ursprungsmuster sind eine leistungsstärkere Alternative zur Option Erlaubte Ursprünge, die in früheren Versionen von automatischen Aktualisierungen verwendet wurde.

Ein Muster besteht aus spezifischen Schlüsselwörtern:

  • a,archive,suite – z.B. stable, trusty-security (archive=stable)
  • c,component – z.B. main, crontrib, non-free (component=main)
  • l,label – z.B. Debian, Debian-Security, Ubuntu
  • o,origin – z.B. Debian, Unoffizielle Multimedia-Pakete, Ubuntu
  • n,codename – z.B. jessie, jessie-updates, trusty (dies wird nur mit unattended-upgrades >= 0.80 unterstützt)
  • site – z.B. http.debian.net

Sie können die verfügbaren Repositories mit apt-cache policy überprüfen und Ihre Wahl mit dem Befehl unattended-upgrades -d auf einem Zielsystem debuggen.

Darüber hinaus unterstützen automatische Aktualisierungen zwei Makros (Variablen), die aus /etc/debian_version abgeleitet sind:

  • ${distro_id} – Name der installierten Distribution, z.B. Debian oder Ubuntu.
  • ${distro_codename} – Installierter Codename, z.B. jessie oder trusty.

Es wird empfohlen, ${distro_codename} anstelle von stable oder oldstable zu verwenden, da, sobald stable zu oldstable wechselt, keine Sicherheitsupdates mehr installiert werden. Schlimmer noch, Pakete aus einer neueren Distribution könnten versehentlich installiert werden. Dasselbe gilt für die Aktualisierung Ihrer Installation von oldstable zu stable; wenn Sie vergessen, dies in Ihren Ursprungsmustern zu ändern, erhalten Sie möglicherweise keine Sicherheitsupdates für Ihre neuere Distribution. Mit ${distro_codename} können diese beiden Fälle niemals eintreten.

Beispiel für die Verwendung

- hosts: all
  vars:
    unattended_origins_patterns:
      - 'origin=Ubuntu,archive=${distro_codename}-security'
      - 'o=Ubuntu,a=${distro_codename}-updates'
    unattended_package_blacklist: [cowsay, vim]
    unattended_mail: '[email protected]'
  roles:
    - setup_unattended_upgrades

Muster-Beispiele

Standardmäßig sind nur Sicherheitsupdates erlaubt. Sie können weitere Muster hinzufügen, um automatisierte Aktualisierungen für mehr Pakete zuzulassen, beachten Sie jedoch, dass automatisierte Hauptupdates Ihr System möglicherweise beschädigen können.

In Ubuntu enthält das Archiv immer den Codename der Distribution.

unattended_origins_patterns:
  - 'origin=Ubuntu,archive=${distro_codename}-security'
  - 'o=Ubuntu,a=${distro_codename}'
  - 'o=Ubuntu,a=${distro_codename}-updates'
  - 'o=Ubuntu,a=${distro_codename}-proposed-updates'

Lizenz

MIT / BSD

Autor Informationen

Diese Rolle wurde von TheDumbTechGuy erstellt ( twitter | blog | galaxy )

Danksagungen

Diese Rolle basiert auf der ursprünglichen Arbeit von:

Über das Projekt

Configure unattended upgrades for Linux.

Installieren
ansible-galaxy install thedumbtechguy.unattended-upgrades
GitHub Repository
Lizenz
Unknown
Downloads
1.7k
Besitzer