Startseite
» LINUX
»
So richten Sie automatisierte Debian-Upgrades ohne grafische Benutzeroberfläche mit Unattended-Upgrades ein
So richten Sie automatisierte Debian-Upgrades ohne grafische Benutzeroberfläche mit Unattended-Upgrades ein
Was unattended-upgrades auf einem Headless-Debian-Server bewirkt
unattended-upgradesist das Debian-Paket zum automatischen Herunterladen und Installieren ausgewählter APT-Updates ohne interaktive Anmeldung. Auf einem Server ohne grafische Benutzeroberfläche ist es daher nützlich für die Sicherheitswartung, wenn keine Desktop-Sitzung verfügbar ist und voraussichtlich niemand apt upgradetäglich darauf zugreift.
Seit Oktober 2026 ist Debian 13 „trixie“ die stabile Debian-Version, und das stabile unattended-upgradesPaket hat die Versionsnummer 2.12. Dieses Paket dient der regulären Aktualisierung, insbesondere von Sicherheits- und Stabilitätsupdates. Es ersetzt jedoch nicht den separaten, geplanten Prozess des Upgrades von einer Debian-Hauptversion auf die nächste.
Das praktische Modell ist einfach: Die periodischen APT-Prozesse aktualisieren die Paketindizes, apt-daily-upgrade.servicerufen das Backend für automatische Aktualisierungen planmäßig auf, und Ihre Richtlinien legen fest, welche Paketquellen zulässig sind. Debian protokolliert das Ergebnis unter /var/log/unattended-upgrades/.
Die Installation des Pakets kann bedenkenlos wiederholt werden: APT meldet lediglich, dass es bereits installiert ist, falls es auf dem Hostsystem vorhanden ist. Debian beschreibt das Paket als automatisches Installationsprogramm für Sicherheitsupdates und andere, durch Richtlinien ausgewählte Aktualisierungen.
Beispielhafte Terminalansicht für die Installation von unbeaufsichtigten Aktualisierungen. Repository-Namen und Paketanzahlen variieren je nach Debian-Version und Host.
Bei einer Flotte sollten Sie nicht davon ausgehen, dass alle Images denselben Standardzustand aufweisen. Einige Debian-Installationen beinhalten bereits automatische Aktualisierungen, andere nicht, und eine bestehende Konfiguration könnte deaktiviert worden sein. Überprüfen Sie nach der Installation die tatsächliche Konfiguration, anstatt anzunehmen, dass die Anwesenheit eines Pakets bedeutet, dass die gewünschte Richtlinie aktiv ist.
2. Aktivieren Sie regelmäßige Aktualisierungen der Paketliste und unbeaufsichtigte Ausführungen.
Laut der README-Datei des Debian-Repositorys benötigt eine manuelle Einrichtung diese beiden periodischen APT-Werte:
Periodische APT-Einstellungen, die tägliche Aktualisierungen der Paketliste und unbeaufsichtigte Upgrade-Läufe anfordern.
Dies ist keine Garantie dafür, dass ein Job jeden Tag genau um Mitternacht startet. Auf Debian-basierten Systemen mit systemd verwendet APT Timer-Einheiten und ein zufälliges Scheduling-Verhalten. Überprüfen Sie für operative Aufgaben den tatsächlichen Timer-Status und den nächsten Trigger auf dem Host, anstatt die Überwachung auf einer geschätzten Uhrzeit zu basieren.
3. Definieren Sie, welche Repositories Pakete automatisch aktualisieren dürfen.
Die Schlüsselrichtlinie befindet sich unter Unattended-Upgrade::Origins-Patternder älteren Allowed-OriginsForm. Die Dokumentation von Debian 2.12 empfiehlt, ein lokales APT-Fragment zu erstellen, das nach der paketierten 50unattended-upgradesDatei sortiert wird, zum Beispiel:
Dies ist der dauerhaften Bearbeitung der ausgelieferten Datei vorzuziehen, da Paketaktualisierungen die vom Hersteller verwaltete Konfiguration ersetzen oder mit ihr in Konflikt geraten können. Überprüfen Sie vor dem Schreiben von Mustern die Release-Metadaten, die APT tatsächlich sieht:
apt-cache policy
Für die meisten Server ohne grafische Benutzeroberfläche empfiehlt es sich, automatische Updates auf die regulären Stable- und Sicherheitskanäle von Debian zu beschränken. Die genauen Vorgehensweisen können je nach Repository-Struktur, Spiegelservern, Drittanbietern und Update-Pinning-Regeln variieren. Daher sollte apt-cache policydie Dokumentation in jeder Umgebung als maßgebliche Quelle dienen.
Beispielansicht des Richtlinieneditors. Ordnen Sie die Ursprünge den von der apt-cache-Richtlinie auf Ihrem Server gemeldeten Repositories zu, anstatt Bezeichnungen blind zu kopieren.
Optionale Bedienelemente, die man kennen sollte
Die Konfiguration 2.12 unterstützt Paket-Blacklists und -Whitelists, automatische Neustarts, E-Mail-Benachrichtigungen, das Entfernen nicht verwendeter Abhängigkeiten, Bandbreitenbegrenzungen, Update-Tag-Beschränkungen und Syslog-Ausgabe. Einige Optionen sind insbesondere auf Remote-Servern relevant:
Konfigurieren Sie E-Mail nur, wenn der Rechner über einen funktionierenden E-Mail-Transport verfügt. Wenn Sie den automatischen Neustart aktivieren, ist das Standardverhalten von Debian relevant: Ist die Automatic-RebootOption aktiviert und /var/run/reboot-requiredvorhanden, kann der Host ohne Bestätigung neu starten. Sie können Unattended-Upgrade::Automatic-Reboot-Timeden Neustart jedoch für ein Wartungsfenster planen.
Bei vielen Produktionssystemen ist es sicherer, den automatischen Neustart deaktiviert zu lassen, es sei denn, der Dienst ist redundant, Wartungsfenster sind definiert und die Integritätsprüfungen nach dem Neustart sind automatisiert.
4. Überprüfen Sie die systemd-Timer und führen Sie einen Trockentest durch.
Bei einer normalen systemd-basierten Debian-Installation sollten Sie die APT-Timer überprüfen, anstatt nach einer erfundenen unattended-upgrades.timerEinheit zu suchen:
systemctl status apt-daily.timer apt-daily-upgrade.timer
systemctl list-timers apt-daily.timer apt-daily-upgrade.timer
apt-daily.timerist mit der routinemäßigen Paket-Download-/Indexierungsaktivität verbunden, während apt-daily-upgrade.timerden Upgrade-/Bereinigungs-Servicepfad auslöst, der von unbeaufsichtigten Upgrades verwendet wird.
Systemd-Timer-Status für die täglichen APT-Aufgaben. Die angezeigten Daten dienen nur zur Veranschaulichung; verwenden Sie `systemctl list-timers`, um den nächsten tatsächlichen Lauf auf Ihrem Host zu ermitteln.
Als Nächstes testen Sie die Richtlinie, ohne die Pakete zu ändern:
sudo unattended-upgrade --debug --dry-run
Dies ist der nützlichste Preflight-Check, da er die tatsächliche APT-Konfiguration auswertet und Debug-Details protokolliert. Überprüfen Sie die Ausgabe auf Pakete, die ausgewählt oder zurückgehalten würden, unerwartete Drittanbieterquellen, Abhängigkeitsprobleme und Konfigurationsdatei-Aufforderungen.
Wenn beim Testlauf keine Aktualisierungen ausgewählt werden, ist das bei einem aktuellen Server völlig normal. Überprüfen Sie, ob tatsächlich Aktualisierungen ausstehen apt list --upgradable, und vergleichen Sie anschließend deren Ursprung und Richtlinie mit Ihren konfigurierten Mustern.
5. Unbeaufsichtigte Aktualisierungen überwachen und Neustarts gezielt behandeln
Das Paket speichert sein Hauptaktivitätsprotokoll und die dpkg-Ausgabe unter:
sudo tail -n 100 /var/log/unattended-upgrades/unattended-upgrades.log
sudo journalctl -u apt-daily-upgrade.service --since "7 days ago"
test -f /var/run/reboot-required && cat /var/run/reboot-required
Für einen einzelnen Rechner im Heimnetzwerk reicht es möglicherweise aus, die Protokolle regelmäßig zu überprüfen. Bei Unternehmenssystemen sollten Fehler an die zentrale Überwachung oder das Syslog gesendet werden, damit beispielsweise ein stiller Repository-Fehler, ein volles Dateisystem, eine fehlerhafte Abhängigkeit oder ein unterbrochener dpkg-Status nicht unbemerkt bleibt.
Referenzeinstellungen für allgemeine Serverrichtlinien
Szenario
Politik
Betriebshinweis
Sicherheitsorientierter Server
Debian-Sicherheits- und Stabilitätsupdates zulassen; Neustart manuell beibehalten
Eine sinnvolle Standardeinstellung, wenn ein Ausfall kostspieliger ist als ein verzögerter Neustart.
Zustandloser oder redundanter Knoten
Updates und geplante automatische Neustarts zulassen
Kombinieren Sie dies mit Gesundheitsprüfungen und Lastverteilung.
Kernelsensitive Appliance
Verwenden Sie eine Paket-Blacklist nur mit einem dokumentierten Ausnahmeverfahren.
Das Setzen auf eine Blacklist kann dazu führen, dass bekannte Sicherheitslücken ungepatcht bleiben.
Server mit Anbieter-Repository
Die Herkunft des Anbieters darf erst zugelassen werden, nachdem dessen Aktualisierungsrichtlinie überprüft wurde.
Prüfen Sie zuerst die Vertragsunterzeichnung, die Supportrichtlinien und die Erwartungen an ein Rollback.
Kurzanleitung zur Fehlerbehebung
Der Timer ist aktiv, aber es wurden keine Pakete installiert.
Prüfen Sie, ob ausstehende Aktualisierungen vorliegen, ob deren Repository-Ursprung Ihren zulässigen Richtlinien entspricht und ob eine Blacklist oder eine Abhängigkeitsbeschränkung die Auswahl verhindert. Führen Sie sudo unattended-upgrade --debug --dry-rundie Prüfung anhand von Belegen durch, anstatt die Richtlinien willkürlich zu ändern.
Der Server wartet auf die Paketkonfiguration.
unattended-upgradesDiese Methode ist darauf ausgelegt, Aktualisierungen zu vermeiden, die ungelöste dpkg-Konfigurationsabfragen erfordern würden. Falls ein Paket wiederholt zurückgehalten wird, überprüfen Sie das Protokoll und entscheiden Sie, ob die Konfigurationsdatei manuell angepasst werden soll.
Updates werden nach dem Klonen eines VM-Images nie ausgeführt.
Prüfen Sie, ob die Timer aktiviert und aktiv sind, und überprüfen Sie anschließend apt-config dumpdie Golden Images. Diese enthalten häufig lokale APT-Fragmente, Maskierungen oder Richtlinienüberschreibungen, die von den Standardeinstellungen des Pakets abweichen.
Sie müssen die automatischen Aktualisierungen deaktivieren.
Verwenden Sie den von Debian unterstützten Rekonfigurationspfad:
sudo dpkg-reconfigure -plow unattended-upgrades
Das Deaktivieren des Pakets ersetzt nicht das normale Patch-Management; es gibt die Verantwortung lediglich an Ihren manuellen oder externen Orchestrierungsprozess zurück.
Checkliste für die abschließende Validierung
unattended-upgradeswurde aus einem vertrauenswürdigen Debian-Repository installiert.
Die Werte für die regelmäßige Aktualisierung der APT-Paketliste und die unbeaufsichtigte Aktualisierung sind aktiviert.
Die lokale Richtlinie wird in einer späteren Überschreibungsdatei wie z. B. gespeichert 52unattended-upgrades-local.
Die zulässigen Ursprünge wurden überprüft apt-cache policy.