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.

Woran hängt dieser Neustart eigentlich? unattended-upgrades startet nur dann neu, wenn die Markierungsdatei /var/run/reboot-required existiert. Ein nacktes Debian 13 legt sie bei Kernel-Updates nicht an – der Hook dafür steckt unter Ubuntu in einem Hilfspaket, das es in Debian nicht gibt. Das Paket unattended-upgrades bringt seinen eigenen Kernel-Hook aber mit, du musst also nichts bauen. Kurz gegenprüfen:

Terminal
dpkg -S /etc/kernel/postinst.d/unattended-upgrades
Ausgabe
unattended-upgrades: /etc/kernel/postinst.d/unattended-upgrades

Der Hook läuft nach jeder Kernel-Installation, setzt /var/run/reboot-required und vermerkt das auslösende Paket zusätzlich in /var/run/reboot-required.pkgs. Damit funktionieren Automatic-Reboot und der manuelle Blick auf die Datei zuverlässig.

Auf einem Debian ohne unattended-upgrades entsteht die Datei dagegen nicht – dort sagt dir ein leeres /var/run/reboot-required also nichts darüber, ob ein Neustart aussteht (siehe Erste Schritte mit einem netcup VPS).

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

Der Probelauf meldet No packages found that can be upgraded unattended. 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.

Updates kommen, aber der Server startet trotz Kernel-Update nie neu. Meist steht Automatic-Reboot auf "false" (Standard) – dann auf "true" setzen und eine Automatic-Reboot-Time vergeben (Schritt 3). Steht die Option richtig, prüfe die Markierungsdatei: Ohne /var/run/reboot-required löst der Neustart nie aus. Dafür zuständig ist der Kernel-Hook des Pakets – dpkg -S /etc/kernel/postinst.d/unattended-upgrades muss ihn melden (Schritt 3).

/boot läuft voll, Updates schlagen fehl. Alte Kernel häufen sich an. Remove-Unused-Kernel-Packages "true" setzen (Schritt 3); einmalig aufräumen mit sudo apt autoremove --purge.

Ein Paket wird hartnäckig zurückgehalten (kept back). 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: 27.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 …

· 5 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 …

· 4 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 …

· 5 Min. Lesezeit