Automatische Sicherheitsupdates unter Debian und Ubuntu mit unattended-upgrades
Sicherheitslücken werden schnell ausgenutzt. Mit unattended-upgrades spielt dein Server wichtige Updates selbst ein, räumt alte Kernel auf und startet bei Bedarf nachts neu. So richtest du es ein.

Ein Server, der monatelang keine Updates bekommt, ist das häufigste Einfallstor bei Homeservern und gemieteten Maschinen. Niemand denkt jeden Tag daran, apt upgrade aufzurufen. Das Paket unattended-upgrades erledigt das selbst: Es installiert täglich Sicherheitsupdates, entfernt alte Pakete und startet den Server auf Wunsch zu einer festen Uhrzeit neu, wenn ein neuer Kernel das verlangt.
Du brauchst: einen Server oder Raspberry Pi mit Debian, Ubuntu oder Raspberry Pi OS und SSH-Zugang mit sudo-Rechten. Zeitaufwand: etwa 10 Minuten.
Schritt 1: Installieren und einschalten
Auf Ubuntu ist das Paket meist schon installiert, auf Debian und Raspberry Pi OS nicht immer. Dieser Befehl schadet in keinem Fall:
sudo apt update
sudo apt install unattended-upgrades apt-listchanges -ySchalte die automatischen Updates ein. Bestätige die Frage mit Ja:
sudo dpkg-reconfigure -plow unattended-upgradesDas legt die Datei /etc/apt/apt.conf.d/20auto-upgrades an. Prüfe, ob sie diese zwei Zeilen enthält:
cat /etc/apt/apt.conf.d/20auto-upgradesAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";Die 1 bedeutet: einmal täglich Paketlisten aktualisieren und Updates installieren.
Schritt 2: Eigene Einstellungen
Die Hauptkonfiguration steht in /etc/apt/apt.conf.d/50unattended-upgrades. Statt diese lange Datei zu bearbeiten, legst du eine kleine eigene Datei an. Sie wird danach gelesen und überschreibt die Standardwerte. Bei Paket-Updates bleibt sie unberührt:
sudo nano /etc/apt/apt.conf.d/52unattended-upgrades-lokalUnattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";| Einstellung | Wirkung |
|---|---|
| Remove-Unused-Kernel-Packages | alte Kernel löschen, damit /boot nicht vollläuft |
| Remove-…-Dependencies | nicht mehr benötigte Pakete aufräumen |
| Automatic-Reboot | neu starten, wenn ein Update das verlangt |
| Automatic-Reboot-Time | Uhrzeit für den Neustart |
Den automatischen Neustart solltest du nur einschalten, wenn alle Dienste nach einem Neustart von selbst wieder hochkommen. Docker-Container brauchen dafür restart: unless-stopped in der Compose-Datei.

Schritt 3: Testlauf
Ein Probelauf zeigt, welche Paketquellen berücksichtigt werden und was installiert würde, ohne etwas zu verändern:
sudo unattended-upgrade --dry-run --debugAchte in der Ausgabe auf die Zeile mit Allowed origins. Dort stehen die Quellen, aus denen Updates automatisch kommen dürfen. Unter Debian sind das standardmäßig die Sicherheitsupdates, unter Ubuntu die Sicherheitsupdates und die Quelle -security der jeweiligen Version.
Schritt 4: Kontrollieren, ob es läuft
Was unattended-upgrades getan hat, steht im Protokoll:
sudo tail -n 30 /var/log/unattended-upgrades/unattended-upgrades.logWann der nächste Lauf geplant ist, zeigen die zuständigen Timer:
systemctl list-timers apt-daily.timer apt-daily-upgrade.timerOb ein Neustart aussteht, verrät diese Datei. Existiert sie, wartet ein Kernel- oder Bibliotheksupdate auf den Neustart:
ls /var/run/reboot-required 2>/dev/null && cat /var/run/reboot-required.pkgsWas nicht automatisch aktualisiert wird
unattended-upgrades kümmert sich nur um Pakete aus apt. Docker-Container aktualisierst du selbst, zum Beispiel einmal pro Woche in jedem Compose-Ordner:
docker compose pull
docker compose up -d
docker image prune -fAuch Programme, die du per Skript, Snap, Flatpak oder aus dem Quellcode installiert hast, haben eigene Update-Wege. Plane dafür einen festen Termin im Kalender ein.
unattended-upgradesinstallieren und mitdpkg-reconfigureeinschalten- Eigene Einstellungen in einer separaten Datei, nicht in
50unattended-upgrades - Alte Kernel automatisch entfernen, Neustart nachts nur bei Bedarf
- Mit
--dry-run --debugtesten und im Protokoll kontrollieren - Docker-Container und andere Installationen separat aktualisieren
Wie hältst du deine Server aktuell? Tausch dich in der Community über deine Update-Routine aus.
- Debian Wiki: UnattendedUpgrades – wiki.debian.org/UnattendedUpgrades
- Ubuntu Server: Automatische Updates – documentation.ubuntu.com/server/how-to/software/automatic-up
Kommentare
Noch keine Kommentare. Was meinst du dazu?
Mitreden? Melde dich an, um zu kommentieren.