Unbeaufsichtigte Updates via APT

Um einen Server immer mit den neuesten Sicherheits- (und anderen) Updates automatisch zu versorgen, empfiehlt sich die Variante über das Debian Paket unattended-upgrades.

Installieren der Pakete

Zum installieren folgendes als root ausführen:

$ apt-get install unattended-upgrades apt-listchanges

Die Standard Konfigurationsdatei für das unattended-upgrade Paket liegt in /etc/apt/apt.conf.d/50unattended-upgrades. Sie funktioniert schon so wie sie ist, sollte aber einmal durchgeschaut und angepasst werden.

$ vi /etc/apt/apt.conf.d/50unattended-upgrades

Dieser Bereich bestimmt welche Pakete aktualisiert werden. Um nur Sicherheits Updates zu erhalten folgende Zeile (39) auskommentieren.

Unattended-Upgrade::Origins-Pattern {
    // ...
	// ...
	"origin=Debian,codename${distro_codename},label=Debian-Security";
};

Zumindest diese beiden Zeile (71, 75) sollten auskommentiert werden um Benachrichtigungen bei Fehlern an den Benutzer root zu schicken:

Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailOnlyOnError "true";k

automatischer Aufruf mit 20auto-upgrades

Um die unbeaufsichtigten Updates nun über den systemeigenen Cron automatisch aufrufen zu lassen, eignet sich am einfachsten die Methode über die Datei /etc/apt/apt.conf.d/20auto-upgrades. Diese kann manuell erstellt werden oder mit folgenden Kommando:

$ dpkg-reconfigure -plow unattended-upgrades

Zum aktivieren der unbeaufsichtigten Updates müssen mindestens folgende zwei Zeilen in der Datei /etc/apt/apt.conf.d/20auto-upgrades enhalten sein.

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

automatischer Aufruf mit 02periodic

Als Alternative kann auch die Datei /etc/apt/apt.conf.d/02periodic erstellt werden.

// Steuert den Parameter für den Cron Job von /etc/cron.daily/apt

// Schaltet das Update Script ein (0=disable)
APT::Periodic::Enable "1";

// Führe "apt-get update" automatisch jeden X-ten Tag aus (0=disable)
APT::Periodic::Update-Package-Lists "1";

// Führe "apt-get upgrade --download-only" jeden X-ten Tag aus (0=disable)
APT::Periodic::Download-Upgradeable-Packages "1";

// Führe das "unattended-upgrade" Script jeden X-ten Tag aus (0=disabled)
// Benötigt das Paket "unattended-upgrades" und schreibt die Log Datei nach /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";

// Führe "apt-get autoclean" jeden X-ten Tag aus (0=disable)
APT::Periodic::AutocleanInterval "21";


// Sende Mail Report nach root
//	0:  kein Report			(oder null string)
//	1:  Progress Report     (aktuell jeder string)
//	2:  + Commando Outputs  (entfernt -qq, entfernt 2>/dev/null, fügt hinzu -d)
//	3:  + trace on
APT::Periodic::Verbose "2";