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
undUbuntu 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']
- Standard:
unattended_package_blacklist
: Pakete, die nicht automatisch aktualisiert werden.- Standard:
[]
- Standard:
unattended_autofix_interrupted_dpkg
: ob bei einem unvollständigen dpkg-Ausstiegdpkg --force-confold --configure -a
ausgeführt werden soll.- Standard:
true
- Standard:
unattended_minimal_steps
: das Upgrade in die kleinsten möglichen Schritte aufteilen, damit sie mit SIGUSR1 unterbrochen werden können.- Standard:
false
- Standard:
unattended_install_on_shutdown
: Alle automatischen Aktualisierungen installiere, wenn der Computer herunterfährt.- Standard:
false
- Standard:
unattended_mail
: E-Mail-Adresse, um Informationen über Updates oder Probleme mit automatischen Aktualisierungen zu senden.- Standard:
false
(keine E-Mail senden)
- Standard:
unattended_mail_only_on_error
: E-Mail nur bei Fehlern senden; andernfalls wird bei jedem Paketupdate eine E-Mail gesendet.- Standard:
false
- Standard:
unattended_remove_unused_dependencies
: Nach dem Upgrade automatisch neue nicht verwendete Abhängigkeiten entfernen.- Standard:
false
- Standard:
unattended_automatic_reboot
: System automatisch neu starten, falls ein aktualisiertes Paket dies erfordert, sofort nach dem Upgrade.- Standard:
false
- Standard:
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
- Standard:
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 DirektiveXB-Upgrade-Requires: app-restart
). Wenn diese Option auftrue
gesetzt ist, werden diese Pakete trotz der Direktive aktualisiert.- Standard:
false
- Standard:
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 mitunattended-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
oderUbuntu
.${distro_codename}
– Installierter Codename, z.B.jessie
odertrusty
.
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:
ansible-galaxy install thedumbtechguy.unattended-upgrades