Automatische Updates (Debian)
Anleitung, um automatische Updates, z. B. Sicherheitsupdates, auf einem Debian-System zu installieren / aktivieren.
Quelle: https://wiki.debian.org/UnattendedUpgrades
Voraussetzungen
- Debian 8 oder höher
Konzept
Paket Unattended-Upgrades kümmert sich um die Upgrades selbst.
Paket apt-listchanges kümmert sich um Benachrichtigungen, z. B. per Mail.
Installation
Softwarepakete installieren:
# apt-get install unattended-upgrades apt-listchanges
Konfiguration
Konfiguration anpassen:
# nano /etc/apt/apt.conf.d/50unattended-upgrades
In der Konfig-Datei beispielsweise folgende Zeilen aktivieren.
Wichtig: Jede Zeile ist ein Filter. Wenn nichts angegeben ist, wird also jedes Paket akzeptiert.
Unattended-Upgrade::Origins-Pattern { "o=Debian,n=jessie"; # alle Updates };
// Alternativ nur Sicherheitsupdates: Unattended-Upgrade::Origins-Pattern { "o=Debian,n=jessie,l=Debian-Security"; # Nur Sicherheitsupdates };
Unattended-Upgrade::Mail "root"; Acquire::http::Dl-Limit "1024";
Verfügbare Origins-Pattern können herausgefunden werde mit:
apt-cache policy # Vgl. Notizen in /etc/apt/apt.conf.d/50unattended-upgrades
Aktivieren der automatischen Upgrades durch Erstellung einer Konfigdatei in /etc/apt/apt.conf.d/20auto-upgrades
Dies geht am einfachsten mit:
#dpkg-reconfigure -plow unattended-upgrades
Inhalt der Konfig-Datei:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
Anpassung der /etc/apt/listchanges.conf
[apt] frontend=pager # Werte: pager|browser|text|mail|none -> Früher pager verwendet. Erstlelt unnütze E-Mails. none probieren? email_address=root confirm=1 save_seen=/var/lib/apt/listchanges.db which=both # Werte: news|changelogs|both -> Früher both verwendet. Erstellt unnütze E-Mails. news probieren?
E-Mails
Benachrichtigung einrichten
Voraussetzung ist grundsätzliche Einrichtung für Mailversand an externe Empfänger.
Danach /etc/apt/apt.conf.d/50unattended-upgrades
bearbeiten:
Unattended-Upgrade::Mail "user1,user2";
Mailbetreff ändern
Dies muss direkt in /usr/bin/unattended-upgrades
(In Debian Link auf /usr/bin/unattended-upgrade
) geändert werden.
Folgende Zeilen suchen und wunschgemäß anpassen:
if os.path.isfile(REBOOT_REQUIRED_FILE):
subject = _(
"[reboot required] unattended-upgrades result for '%s': %s") % (
host(), res)
else:
subject = _("unattended-upgrades result for '%s': '%s'") % (
host(), res)
Debuggen
Testmöglichkeit für die Konfiguration
unattended-upgrades -v --dry-run # Verbose + Dry Run unattended-upgrades -d -v --dry-run # Debug + Verbose + Dry Run
Reboot
Wenn ein Reboot notwendig ist, und automatischer Reboot aktiviert ist, wird folgende Datei angelegt:
/var/run/reboot-required
Optional wird eine E-Mail an den Administrator gesendet mit dem Inhalt:
Shutdown scheduled for Wed 2016-07-06 02:00:00 CEST
Ausführungszeitpunkt
Die Unattended-Upgrades werden mittels Daily-Cronjobs von Cron bzw. Anacron ausgeführt.
Wenn Anacron auf einem System installiert ist, wird Anacron zum Starten der Daily-Cronjobs genutzt per /etc/cron.d/anacron.
Ist dies nicht der Fall, werden die Daily-Cronjobs von Cron gestartet per /etc/crontab mit dem Job für das Verzeichnis /etc/cron.daily
Die Skripte der Unattended-Upgrades finden sich unter: /etc/cron.daily (?)
Details siehe Cronjob (Debian)