Zum Inhalt springen
Serverküche
Suche

Die Suche wird geladen … (nur in der veröffentlichten Seite verfügbar).

Sicherheit Schwierigkeit: Einsteiger

unattended-upgrades: automatische Sicherheitsupdates für Debian

Debian installiert Sicherheitsupdates automatisch: unattended-upgrades einrichten, den Neustart steuern und prüfen, dass es wirklich läuft.

· 5 Min. Lesezeit ·Dauer: ca. 20 Minuten
Inhaltsverzeichnis

„Denk dran, wöchentlich Updates einzuspielen" – dieser Satz aus den Wartungsabschnitten der anderen Tutorials ist der erste, den man vergisst. Genau deshalb übernimmt das ab jetzt der Server selbst: unattended-upgrades installiert Sicherheitsupdates automatisch. Das schließt die gefährlichste Lücke im Selfhosting – den Server, der monatelang ungepatcht läuft.

Was bauen wir?

Am Ende zieht dein Debian 13 täglich automatisch Sicherheitsupdates und installiert sie ohne dein Zutun. Du entscheidest, ob und wann der Server für nötige Kernel-Updates neu startet, und weißt, wie du überprüfst, dass der Automatismus wirklich greift. Automatisiert werden Sicherheitsupdates und die konservativen Stable-Punktreleases; größere Upgrades deiner übrigen Software bleiben bewusst in deiner Hand.

Voraussetzungen

Schritt für Schritt

Schritt 1: Paket installieren

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

apt-listchanges zeigt bei Updates die Changelogs – nützlich, wenn du später doch manuell nachsiehst, was sich geändert hat.

Schritt 2: Automatik aktivieren

Der einfachste Weg, die tägliche Ausführung einzuschalten:

Terminal
sudo dpkg-reconfigure -plow unattended-upgrades

Wähle im Dialog Ja. Das legt die Datei /etc/apt/apt.conf.d/20auto-upgrades mit diesem Inhalt an:

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

Die 1 bedeutet „täglich": Paketlisten aktualisieren und unbeaufsichtigte Upgrades ausführen. Ausgelöst wird das über die systemd-Timer apt-daily.timer (Paketlisten) und apt-daily-upgrade.timer (Upgrade-Lauf) – kein eigener Cronjob nötig.

Schritt 3: Festlegen, was aktualisiert wird

Wirf einen Blick in /etc/apt/apt.conf.d/50unattended-upgrades:

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

Auf Debian 13 sind im Block Origins-Pattern standardmäßig drei Quellen aktiv:

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

Die beiden Debian-Security-Zeilen sorgen für zeitnahe Sicherheitsupdates – der eigentliche Zweck. Die erste Zeile (label=Debian) deckt die konservativen Stable-Updates ab, die nur bei Debian-Punktreleases nachrücken; sie ist also kein Risiko-Rolling-Update, sondern gut abgehangen. Wer wirklich ausschließlich Security-Updates will, kommentiert die erste Zeile mit // aus.

Zwei Optionen lohnt es, hier explizit zu setzen. Alte Kernel/Pakete automatisch aufräumen, sonst läuft irgendwann /boot voll (Remove-Unused-Kernel-Packages ist code-seitig zwar schon der Default, steht in der Datei aber nur auskommentiert – explizit gesetzt ist die Entscheidung dokumentiert):

INI
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

Und der wichtigste Punkt – der automatische Neustart:

INI
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Automatischer Neustart – bewusst entscheiden

Manche Sicherheitsupdates (v. a. Kernel) wirken erst nach einem Neustart. Mit Automatic-Reboot "true" startet der Server dann selbstständig – setze dabei immer eine Automatic-Reboot-Time: Ohne sie startet der Server sofort nach dem Upgrade-Lauf neu (der Code-Default ist "now"; die 02:00 in der Beispieldatei sind nur ein auskommentierter Vorschlag). Wähle eine Zeit mit geringer Nutzung. Willst du keine automatischen Neustarts, lass die Option auf "false" und starte selbst neu, wenn /var/run/reboot-required existiert. Beides ist vertretbar – nur eine bewusste Entscheidung muss es sein.

Damit der automatische Neustart auf Debian überhaupt auslösen kann, fehlt noch ein Baustein: unattended-upgrades startet nur dann neu, wenn die Markierungsdatei /var/run/reboot-required existiert – und die legt Debian 13 bei Kernel-Updates von Haus aus nicht an (den zuständigen Hook liefert ein Ubuntu-Hilfspaket, das es in Debian nicht gibt; nur einzelne Pakete wie dbus setzen die Datei selbst). Ein Zweizeiler schließt die Lücke:

Terminal
sudo tee /etc/kernel/postinst.d/zz-reboot-required > /dev/null <<'EOF'
#!/bin/sh
touch /var/run/reboot-required
EOF
sudo chmod +x /etc/kernel/postinst.d/zz-reboot-required

Der Hook läuft nach jeder Kernel-Installation und setzt die Markierungsdatei. Ab jetzt funktionieren sowohl Automatic-Reboot als auch der manuelle Blick auf /var/run/reboot-required zuverlässig – ohne den Hook würde der automatische Neustart bei Kernel-Updates schlicht nie ausgelöst.

Schritt 4: Einen Probelauf machen

Ohne echte Installation testen, was unattended-upgrades tun würde:

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

In der Debug-Ausgabe ist diese Zeile entscheidend (auf einem frischen Debian 13, gekürzt):

Ausgabe
Allowed origins are: origin=Debian,codename=trixie,label=Debian, origin=Debian,codename=trixie,label=Debian-Security, origin=Debian,codename=trixie-security,label=Debian-Security
[...]
No packages found that can be upgraded unattended and no pending auto-removals

Dort müssen die Debian-Security-Quellen auftauchen. Steht dort etwas, greift die Konfiguration; findet der Lauf nichts zu tun (wie oben), ist schlicht gerade kein Sicherheitsupdate offen.

Wenn es nicht funktioniert

Symptom: Der Probelauf meldet No packages found that can be upgraded unattended.

Ursache & Lösung: Meist völlig normal – aktuell steht kein Sicherheitsupdate an. Prüfe die Konfiguration trotzdem über die Allowed origins are:-Zeile im --debug-Lauf. Erscheinen dort keine Security-Origins, stimmt das Origins-Pattern aus Schritt 3 nicht.

Symptom: Updates kommen, aber der Server startet trotz Kernel-Update nie neu.

Ursache & Lösung: Entweder steht Automatic-Reboot auf "false" (Standard) – dann auf "true" setzen (Schritt 3) – oder die Markierungsdatei wird nie gesetzt, weil der Kernel-Hook /etc/kernel/postinst.d/zz-reboot-required aus Schritt 3 fehlt. Ohne ihn legt Debian /var/run/reboot-required bei Kernel-Updates nicht an, und der automatische Neustart löst nie aus.

Symptom: /boot läuft voll, Updates schlagen fehl.

Ursache & Lösung: Alte Kernel häufen sich an. Remove-Unused-Kernel-Packages "true" setzen (Schritt 3); einmalig aufräumen mit sudo apt autoremove --purge.

Symptom: Ein Paket wird hartnäckig zurückgehalten (kept back).

Ursache & Lösung: unattended-upgrades installiert keine Updates, die andere Pakete entfernen würden. Solche Fälle löst du bewusst von Hand mit sudo apt upgrade und prüfst, was passiert.

Wartung & Backups

  • Trotzdem draufschauen: Automatik ersetzt nicht die Aufmerksamkeit. Wirf monatlich einen Blick ins Log /var/log/unattended-upgrades/unattended-upgrades.log und lauf ab und zu sudo apt update && sudo apt upgrade für die nicht sicherheitskritischen Updates.
  • Reboots einplanen: Wenn du automatische Neustarts nutzt, sorge dafür, dass deine Dienste einen Reboot sauber überstehen (restart: unless-stopped in Docker Compose, falls du Container betreibst).
  • Kein eigenes Backup nötig, aber halte fest, ob du automatische Reboots aktiviert hast – das erklärt später, warum der Server nachts kurz weg war.

Zuletzt aktualisiert: 19.07.2026

Feedback per E-Mail: feedback@serverkueche.de

Das könnte dir auch schmecken

SSH-Zugang absichern
Sicherheit Einsteiger

SSH-Zugang absichern

Schlüssel-Login statt Passwort und root-Login sperren: die wichtigsten Handgriffe, um die Eingangstür zu deinem Server …

· 3 Min. Lesezeit
Docker auf Debian installieren
Container Einsteiger

Docker auf Debian installieren

Docker Engine und Docker Compose sauber aus dem offiziellen Repository installieren – die Basis für die meisten …

· 3 Min. Lesezeit
Erste Schritte mit einem netcup VPS
Grundlagen Einsteiger

Erste Schritte mit einem netcup VPS

Vom bestellten Server zum einsatzbereiten System: SSH-Login, Updates, ein sudo-Benutzer und die wichtigsten Handgriffe …

· 4 Min. Lesezeit