Sicherheitslücken in Linux-Paketen werden laufend entdeckt und schnell behoben. Entscheidend ist, dass die Updates auch auf Ihrem Server ankommen. Mit unattended-upgrades installieren Debian und Ubuntu Sicherheitsupdates automatisch, ohne dass Sie sich täglich anmelden müssen. Diese Anleitung zeigt Einrichtung, sinnvolle Einstellungen, E-Mail-Benachrichtigungen und automatische Neustarts.

Was wird automatisch installiert?

In der Standardeinstellung installiert unattended-upgrades nur Sicherheitsupdates aus den offiziellen Paketquellen. Größere Versionssprünge oder Pakete aus Fremdquellen werden nicht automatisch eingespielt. Das hält das Risiko gering, dass ein Update eine Anwendung beeinträchtigt.

Schritt 1: Installation

sudo apt update
sudo apt install -y unattended-upgrades apt-listchanges

Auf Ubuntu ist das Paket meist bereits installiert.

Schritt 2: Automatische Updates aktivieren

sudo dpkg-reconfigure -plow unattended-upgrades

Beantworten Sie die Frage mit Ja. Dadurch entsteht die Datei /etc/apt/apt.conf.d/20auto-upgrades mit folgendem Inhalt:

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

Die Paketlisten werden damit täglich aktualisiert und Updates täglich installiert.

Schritt 3: Einstellungen anpassen

Die Hauptkonfiguration liegt in /etc/apt/apt.conf.d/50unattended-upgrades. Damit Ihre Änderungen bei Paketupdates nicht überschrieben werden, legen Sie eine eigene Datei an:

sudo tee /etc/apt/apt.conf.d/52unattended-upgrades-local > /dev/null <<'EOF'
// Nicht mehr benötigte Abhängigkeiten entfernen
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// E-Mail bei Fehlern
Unattended-Upgrade::Mail "admin@ihre-domain.at";
Unattended-Upgrade::MailReport "only-on-error";

// Automatischer Neustart, falls nötig
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
EOF

Die Einstellungen im Überblick:

  • Remove-Unused-…: räumt alte Kernel und überflüssige Pakete auf, damit die Bootpartition nicht vollläuft.
  • Mail / MailReport: schickt eine E-Mail, wenn ein Update fehlschlägt. Mit on-change erhalten Sie bei jeder Installation einen Bericht. Für den E-Mail-Versand muss auf dem Server ein Mailprogramm wie msmtp-mta oder postfix eingerichtet sein.
  • Automatic-Reboot: startet den Server neu, wenn ein Update das erfordert, etwa bei einem neuen Kernel. Der Neustart erfolgt zur angegebenen Uhrzeit.

Automatischer Neustart: ja oder nein?

Kernel-Updates werden erst nach einem Neustart wirksam. Ohne Neustart läuft der Server weiterhin mit dem alten, eventuell verwundbaren Kernel.

  • Einzelne Server mit Wartungsfenster: Automatischen Neustart zu einer ruhigen Uhrzeit aktivieren. Stellen Sie sicher, dass alle Dienste nach einem Neustart von selbst starten.
  • Kritische Systeme oder Cluster: Automatischen Neustart deaktivieren und Neustarts geplant und gestaffelt durchführen.

Ob ein Neustart aussteht, erkennen Sie an dieser Datei:

ls /var/run/reboot-required 2>/dev/null && cat /var/run/reboot-required.pkgs

Schritt 4: Konfiguration testen

Ein Probelauf zeigt, welche Pakete installiert würden, ohne etwas zu verändern:

sudo unattended-upgrade --dry-run --debug

Achten Sie in der Ausgabe auf Allowed origins are:. Dort sehen Sie, aus welchen Quellen automatisch installiert wird.

Schritt 5: Zeitpunkt prüfen

Die automatischen Updates werden von systemd-Timern ausgelöst:

systemctl list-timers 'apt-daily*'

Der Timer apt-daily lädt die Paketlisten, apt-daily-upgrade installiert die Updates. Beide starten mit einer zufälligen Verzögerung, damit nicht alle Server gleichzeitig die Paketquellen belasten.

Pakete ausnehmen

Möchten Sie ein Paket von automatischen Updates ausnehmen, etwa eine Datenbank, die Sie selbst kontrolliert aktualisieren, ergänzen Sie in Ihrer eigenen Datei:

Unattended-Upgrade::Package-Blacklist {
    "mariadb-server";
};

Bedenken Sie, dass dieses Paket dann auch keine Sicherheitsupdates mehr automatisch erhält.

Auch normale Updates automatisch installieren?

Möglich ist das, indem Sie unter Unattended-Upgrade::Origins-Pattern weitere Quellen ergänzen. Wir empfehlen das nur für Systeme, auf denen ein fehlerhaftes Update keinen großen Schaden anrichtet. Für Produktionsserver genügen die Sicherheitsupdates. Alle anderen Updates spielen Sie regelmäßig manuell ein:

sudo apt update && sudo apt upgrade

Protokolle

sudo less /var/log/unattended-upgrades/unattended-upgrades.log
sudo less /var/log/apt/history.log

Das erste Log zeigt die Läufe von unattended-upgrades, das zweite alle Paketänderungen auf dem System.

Fehlerbehebung

Es werden keine Updates installiert

Prüfen Sie, ob 20auto-upgrades beide Werte auf "1" setzt und ob die Timer aktiv sind. Ein Probelauf mit --dry-run --debug zeigt meist den Grund.

„dpkg was interrupted“

Ein früherer Lauf wurde unterbrochen. Beheben Sie das mit sudo dpkg --configure -a.

Bei einem Managed Server kümmern wir uns um Updates und Neustarts. Für vServer in Eigenverwaltung empfehlen wir diese Einrichtung direkt nach der Bereitstellung.

War diese Antwort hilfreich? 0 Benutzer fanden dies hilfreich (0 Stimmen)