Linux automatisch aktualisieren (unattended-upgrades)

Ungepatchte Sicherheitslücken sind eines der größten Risiken für jeden Server. Die beste Gegenmaßnahme: Updates automatisch einspielen. Auf Debian und Ubuntu erledigt das unattended-upgrades. In dieser Anleitung richtest du automatische Updates unter Linux ein und konfigurierst, was aktualisiert werden soll.

Ungepatchte Sicherheitslücken gehören zu den größten Risiken für jeden Server – und die wirksamste Gegenmaßnahme ist zugleich die bequemste: Updates automatisch einspielen. Auf Debian und Ubuntu übernimmt das unattended-upgrades. Das Paket lädt und installiert im Hintergrund vor allem Sicherheitsupdates, ohne dass du dich täglich einloggen musst. In dieser Anleitung richtest du automatische Updates unter Linux ein, legst genau fest, welche Aktualisierungen eingespielt werden, aktivierst Benachrichtigungen und konfigurierst automatische Neustarts so, dass sie deinen Betrieb nicht stören.

Was macht unattended-upgrades?

Das Paket prüft regelmäßig auf Updates und installiert sie automatisch – standardmäßig beschränkt auf Sicherheitsupdates. So bleibt dein System geschützt, ohne dass du dich täglich einloggen musst.


Schritt 1: Installieren und aktivieren

Installiere das Paket und aktiviere es über den interaktiven Dialog:

sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

Der Dialog legt die Datei /etc/apt/apt.conf.d/20auto-upgrades mit den Grundeinstellungen an.


Schritt 2: Konfiguration anpassen

Die Detailsteuerung erfolgt in /etc/apt/apt.conf.d/50unattended-upgrades. Dort legst du fest, welche Update-Quellen automatisch verarbeitet werden:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Standardmäßig sind nur die Security-Quellen aktiv. Wer auch normale Updates automatisch will, entfernt das Kommentarzeichen vor der entsprechenden -updates-Zeile. Praktisch sind außerdem diese Optionen:

  • Automatic-Reboot "true"; – startet bei Bedarf automatisch neu (z. B. nach Kernel-Updates).
  • Automatic-Reboot-Time "03:00"; – legt die Uhrzeit dafür fest.
  • Remove-Unused-Dependencies "true"; – räumt nicht mehr benötigte Pakete auf.

Schritt 3: Funktion testen

Ob alles greift, prüfst du mit einem Testlauf im Trockenmodus:

sudo unattended-upgrades --dry-run --debug

Die Ausgabe zeigt, welche Pakete berücksichtigt und welche zurückgehalten würden.


Vorsicht bei automatischen Neustarts

Automatische Reboots sind bequem, können aber laufende Dienste unterbrechen. Auf produktiven Servern solltest du die Reboot-Zeit in eine Wartungsphase legen. Deine Container fangen ein Neustart mit der passenden Restart-Policy automatisch ab.


Was aktualisiert wird – und was nicht

Standardmäßig beschränkt sich unattended-upgrades bewusst auf Sicherheitsupdates. Das ist die sicherste Voreinstellung, weil solche Pakete gründlich getestet sind und selten etwas kaputtmachen. Über die Konfiguration kannst du den Umfang aber gezielt erweitern oder einschränken – gesteuert über die sogenannten Origins, also die Paketquellen.

  • Security: die kritischen Sicherheitsupdates – immer empfohlen.
  • Updates: reguläre Fehlerbehebungen des stabilen Zweigs.
  • Blacklist: einzelne Pakete lassen sich von Updates ausnehmen, etwa ein sensibler Dienst.
  • Bereinigung: alte Kernel und ungenutzte Abhängigkeiten automatisch entfernen.

Für die meisten Server ist die Kombination aus automatischen Sicherheitsupdates und manuell geplanten Funktionsupdates ideal: Das Dringende passiert von selbst, größere Sprünge behältst du unter Kontrolle. Die zentrale Steuerung dafür liegt in der Datei /etc/apt/apt.conf.d/50unattended-upgrades, in der du die erlaubten Origins, die Blacklist und die Aufräum-Optionen anpasst.

Benachrichtigungen und Logs im Blick

Automatisierung ist nur dann beruhigend, wenn du weißt, was im Hintergrund passiert. unattended-upgrades protokolliert jeden Lauf und kann dich zusätzlich per E-Mail informieren. So erfährst du zeitnah, wenn ein Update fehlgeschlagen ist oder ein Neustart aussteht.

Die Protokolle findest du unter /var/log/unattended-upgrades/. Ein Blick in unattended-upgrades.log zeigt, welche Pakete wann installiert wurden. Für E-Mail-Benachrichtigungen trägst du in der Konfiguration eine Adresse bei Unattended-Upgrade::Mail ein und stellst optional ein, dass nur bei Fehlern gemeldet wird.

  • Log prüfen: cat /var/log/unattended-upgrades/unattended-upgrades.log.
  • Trockenlauf: unattended-upgrade --dry-run --debug zeigt, was passieren würde.
  • E-Mail: Adresse hinterlegen, um bei Problemen aktiv informiert zu werden.

Automatische Neustarts sicher planen

Manche Updates – vor allem am Kernel – werden erst nach einem Neustart wirksam. unattended-upgrades kann diesen Neustart automatisch auslösen, was aber wohlüberlegt sein will. Ein unerwarteter Reboot mitten am Tag ist auf einem Produktivsystem selten willkommen.

Die saubere Lösung: Aktiviere den automatischen Neustart, lege ihn aber auf ein ruhiges Zeitfenster wie 03:00 Uhr. Über die Option Automatic-Reboot-Time steuerst du die Uhrzeit, mit Automatic-Reboot schaltest du die Funktion überhaupt erst frei. So bleiben deine Systeme aktuell, ohne dass ein Neustart die Nutzer überrascht. Wie du solche Wartungsfenster mit weiteren Aufgaben kombinierst, passt gut zum Thema automatisierte Backups.

Wann laufen die Updates eigentlich?

Hinter unattended-upgrades stecken zwei systemd-Timer: apt-daily.timer lädt die Paketlisten und Updates herunter, apt-daily-upgrade.timer installiert sie. Beide laufen standardmäßig ein- bis zweimal täglich, mit einer zufälligen Verzögerung, damit nicht alle Server gleichzeitig loslegen. Mit systemctl list-timers siehst du, wann der nächste Lauf geplant ist.

Möchtest du die Zeiten anpassen, überschreibst du die Timer per systemctl edit apt-daily-upgrade.timer und legst dort ein eigenes OnCalendar-Fenster fest. So bündelst du das Herunterladen und Installieren in einen Zeitraum, der zu deinem Betrieb passt – etwa in die frühen Morgenstunden, wenn die Last niedrig ist. Läuft ein Update einmal nicht durch, weil der Server zu diesem Zeitpunkt ausgeschaltet war, holt der Timer den Lauf dank der Option Persistent=true beim nächsten Start automatisch nach.

  • Timer anzeigen: systemctl list-timers apt-daily*.
  • Status prüfen: systemctl status apt-daily-upgrade.service.
  • Sofort testen: den Dienst manuell mit systemctl start apt-daily-upgrade.service auslösen.

Häufige Fragen

Rund um automatische Updates tauchen einige berechtigte Fragen auf. Hier die wichtigsten Antworten.

Werden auch normale Paketupdates automatisch eingespielt?

In der Voreinstellung nicht – standardmäßig sind nur Sicherheitsupdates aktiv. Wenn du auch reguläre Updates automatisch installieren möchtest, aktivierst du in der Konfiguration die entsprechende „updates“-Origin. Für viele Server ist die reine Sicherheits-Automatik aber der beste Kompromiss aus Aktualität und Stabilität.

Wo sehe ich, was aktualisiert wurde?

Alle Läufe stehen in /var/log/unattended-upgrades/. Die Datei unattended-upgrades.log listet die installierten Pakete samt Zeitstempel. Zusätzlich kannst du dir per E-Mail eine Zusammenfassung schicken lassen, um nicht regelmäßig manuell nachsehen zu müssen.

Ist ein automatischer Neustart gefährlich?

Nur, wenn er zur falschen Zeit kommt. Plane den Neustart über Automatic-Reboot-Time in ein ruhiges Wartungsfenster. Bei Systemen mit angemeldeten Nutzern kannst du zusätzlich festlegen, dass nur neu gestartet wird, wenn niemand aktiv ist.


Fazit

Mit unattended-upgrades schließt du Sicherheitslücken automatisch – ein enormer Sicherheitsgewinn bei minimalem Aufwand. Achte nur auf sinnvoll gesetzte Neustart-Zeiten. Zusammen mit einer Firewall und gehärtetem SSH hast du die Basis-Absicherung deines Servers beisammen.

Siehe auch  Umstieg von unRAID zu Proxmox: Der komplette Leitfaden
Nach oben scrollen