How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades

What unattended-upgrades does on a headless Debian server

unattended-upgrades is Debian's package for automatically downloading and installing selected APT updates without an interactive login. On a headless server, that makes it useful for security maintenance when no desktop session is available and nobody is expected to run apt upgrade every day.

As of October 2026, Debian 13 "trixie" is the stable Debian release, and the stable unattended-upgrades package is version 2.12. The package is meant for normal package updates, especially security and stable updates. It is not a substitute for the separate, planned process of upgrading from one major Debian release to another.

The practical model is simple: APT's periodic machinery refreshes package indexes, apt-daily-upgrade.service invokes the unattended-upgrade backend on schedule, and your policy decides which package origins are allowed. Debian logs the result under /var/log/unattended-upgrades/.

Quick setup checklist

GoalRecommended action
Install the updatersudo apt update && sudo apt install unattended-upgrades
Enable daily periodic workSet APT::Periodic::Update-Package-Lists "1"; and APT::Periodic::Unattended-Upgrade "1";
Keep local policy maintainablePut overrides in a later file such as 52unattended-upgrades-local
Test before relying on itsudo unattended-upgrade --debug --dry-run
Confirm schedulingInspect apt-daily.timer and apt-daily-upgrade.timer
Watch resultsReview /var/log/unattended-upgrades/ and your monitoring alerts

1. Install unattended-upgrades

Run the installation from an administrative shell:

sudo apt update
sudo apt install unattended-upgrades

Installing the package is safe to repeat: APT will simply report that it is already installed if the host already has it. Debian describes the package as an automatic installer for security upgrades and other updates selected by policy.

Debian-terminal toont de opdracht `apt update` gevolgd door de installatie van het pakket `unattended-upgrades`.
Example terminal view for installing unattended-upgrades. Repository names and package counts vary by Debian release and host.

For a fleet, do not assume every image has the same default state. Some Debian installations already include unattended upgrades; others do not, and an existing configuration may have been disabled. After installation, inspect the effective configuration instead of assuming that package presence means the policy you want is active.

2. Enable periodic package-list refreshes and unattended runs

Debian's upstream README says a manual setup needs these two APT periodic values:

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

The value "1" means the activity is eligible to run daily. A practical local fragment is:

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Then add the two lines above. You can inspect the merged APT configuration with:

apt-config dump | grep -E 'APT::Periodic::(Update-Package-Lists|Unattended-Upgrade)'
Nano-editor met periodieke APT-instellingen voor dagelijkse pakketlijstupdates en automatische upgrades.
APT periodic settings that request daily package-list refreshes and unattended upgrade runs.

Dit moet niet worden opgevat als een belofte dat een taak elke dag precies om middernacht zal beginnen. Op systemd-gebaseerde Debian-systemen gebruikt APT timerunits en willekeurig planningsgedrag. Controleer voor operationele taken de werkelijke timerstatus en de volgende trigger op de host in plaats van monitoring te ontwerpen op basis van een geschatte kloktijd.

3. Definieer welke repositories pakketten automatisch mogen upgraden.

Het belangrijkste beleid is te vinden in Unattended-Upgrade::Origins-Patternde oudere Allowed-Originsversie. De documentatie van Debian 2.12 raadt aan om een ​​lokaal APT-fragment te maken dat sorteert op het verpakte 50unattended-upgradesbestand, bijvoorbeeld:

sudo nano /etc/apt/apt.conf.d/52unattended-upgrades-local

Dit is te verkiezen boven het permanent bewerken van het meegeleverde bestand, omdat pakketupgrades de door de leverancier beheerde configuratie kunnen vervangen of ermee in conflict kunnen komen. Controleer voordat u patronen schrijft de release-metadata die APT daadwerkelijk ziet:

apt-cache policy

Voor de meeste headless servers is het een conservatief beleid om automatische updates te beperken tot de normale stabiele en beveiligingskanalen van Debian. De exacte patronen kunnen verschillen afhankelijk van de structuur van uw repository, mirrors, externe leveranciers en vastzetregels, dus beschouw deze informatie apt-cache policyals de bron van waarheid in elke omgeving.

Nano-editor toont een beleid voor automatische upgrades en uitgeschakelde automatische herstart.
Voorbeeldweergave van de beleidseditor. Koppel de origins aan de repositories die door het apt-cache-beleid op uw server worden gerapporteerd, in plaats van labels blindelings te kopiëren.

Optionele bedieningselementen die de moeite waard zijn om te kennen

De 2.12-configuratie ondersteunt blacklists en whitelists voor pakketten, automatische herstarts, e-mailrapporten, verwijdering van ongebruikte afhankelijkheden, bandbreedtebeperkingen, beperkingen op de update-dag en syslog-uitvoer. Enkele opties zijn met name relevant op externe servers:

Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::MailReport "only-on-error";
Unattended-Upgrade::SyslogEnable "true";

Configureer e-mail alleen als de machine een werkend e-mailtransport heeft. Als u automatisch herstarten inschakelt, is het standaardgedrag van Debian belangrijk: wanneer Automatic-Rebootdit waar is en /var/run/reboot-requiredbestaat, kan de host zonder bevestiging opnieuw opstarten. U kunt instellen Unattended-Upgrade::Automatic-Reboot-Timedat deze herstart wordt ingepland voor een onderhoudsvenster.

Voor veel productiesystemen is het veiliger om automatisch herstarten uit te schakelen, tenzij de service redundant is, onderhoudsvensters zijn gedefinieerd en de gezondheidscontroles na herstart geautomatiseerd zijn.

4. Controleer de systemd-timers en voer een test zonder inloggegevens uit.

Bij een normale, op systemd gebaseerde Debian-installatie kun je beter de APT-timers controleren in plaats van te zoeken naar een verzonnen unattended-upgrades.timereenheid:

systemctl status apt-daily.timer apt-daily-upgrade.timer
systemctl list-timers apt-daily.timer apt-daily-upgrade.timer

apt-daily.timeris gekoppeld aan routinematige pakketdownload-/indexeringsactiviteiten, terwijl apt-daily-upgrade.timerhet het upgrade-/opschoonservicepad activeert dat wordt gebruikt door automatische upgrades.

De status van Systemd in de terminal voor apt-daily.timer en apt-daily-upgrade.timer toont zowel actieve als wachtende timers.
Status van de Systemd-timer voor de dagelijkse APT-taken. De getoonde datums zijn indicatief; gebruik `systemctl list-timers` voor de daadwerkelijke volgende uitvoering op uw host.

Test vervolgens het beleid zonder de pakketten te wijzigen:

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

Dit is de meest nuttige preflight-controle, omdat deze de daadwerkelijke APT-configuratie evalueert en foutopsporingsdetails vastlegt. Controleer de uitvoer op pakketten die geselecteerd of tegengehouden zouden worden, onverwachte bronnen van derden, afhankelijkheidsproblemen en prompts met betrekking tot configuratiebestanden.

Als de testrun niets selecteert, kan dat volkomen normaal zijn wanneer de server up-to-date is. Controleer of er daadwerkelijk updates in behandeling zijn met apt list --upgradableen vergelijk vervolgens hun herkomst en beleid met uw geconfigureerde patronen.

5. Monitor automatische upgrades en handel herstarts bewust af.

Het pakket schrijft zijn belangrijkste activiteitenlogboek en dpkg-uitvoer naar de volgende locaties:

/var/log/unattended-upgrades/unattended-upgrades.log
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log

Nuttige controles zijn onder andere:

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

Voor een enkele thuiscomputer is het periodiek controleren van de logbestanden wellicht voldoende. Voor bedrijfssystemen is het raadzaam om fouten naar een centrale monitoring- of syslog-server te sturen, zodat een stille repositoryfout, een vol bestandssysteem, een verbroken afhankelijkheid of een onderbroken dpkg-status niet onopgemerkt blijft.

Referentie-instellingen voor algemene serverbeleidsregels

ScenarioBeleidOperationele notitie
Beveiligingsgerichte serverSta Debian-beveiligings- en stabiele updates toe; behoud de herstartprocedure.Een goede standaardoptie wanneer een storing duurder is dan een uitgestelde herstart.
Staatloze of redundante nodeSchakel updates en geplande automatische herstart in.Combineer met gezondheidscontroles en het ontladen van de load balancer.
Kernelgevoelig apparaatGebruik een pakketblacklist alleen met een gedocumenteerde uitzonderingsprocedure.Door bekende kwetsbaarheden op een zwarte lijst te plaatsen, kunnen ze onopgelost blijven.
Server met leveranciersrepositorySta de leverancier niet toe om updates te ontvangen totdat het updatebeleid is gecontroleerd.Controleer eerst de ondertekening, het ondersteuningsbeleid en de verwachtingen ten aanzien van terugdraaien.

Snel naslagwerk voor probleemoplossing

De timer is actief, maar er zijn geen pakketten geïnstalleerd.

Controleer of er openstaande upgrades zijn, of de herkomst van de repository overeenkomt met uw toegestane beleid en of een blacklist of afhankelijkheidsbeperking de selectie verhindert. Voer de controle uit sudo unattended-upgrade --debug --dry-runom bewijs te verzamelen in plaats van het beleid willekeurig te wijzigen.

De server wacht op de pakketconfiguratie.

unattended-upgradesDit is ontworpen om upgrades te voorkomen die onopgeloste dpkg-configuratieprompts vereisen. Als een pakket herhaaldelijk wordt tegengehouden, controleer dan het logboek en bepaal of de beslissing over het configuratiebestand handmatig moet worden afgehandeld.

Updates worden nooit uitgevoerd na het klonen van een VM-image.

Controleer of de timers zijn ingeschakeld en actief zijn, en inspecteer ze vervolgens apt-config dump. Golden images bevatten vaak lokale APT-fragmenten, maskering of beleidsoverrides die afwijken van de standaardinstellingen van het pakket.

Je moet automatische updates stoppen.

Gebruik het door Debian ondersteunde herconfiguratiepad:

sudo dpkg-reconfigure -plow unattended-upgrades

Het uitschakelen van het pakket vervangt het normale patchbeheer niet; het legt de verantwoordelijkheid simpelweg weer bij uw handmatige of externe orchestratieproces.

Definitieve validatiechecklist

  • unattended-upgradeswordt geïnstalleerd vanuit een vertrouwde Debian-repository.
  • De periodieke pakketlijstvernieuwing en de automatische upgrade-waarden van APT zijn ingeschakeld.
  • Lokaal beleid wordt opgeslagen in een later overschrijfbestand, zoals bijvoorbeeld 52unattended-upgrades-local.
  • Toegestane herkomsten werden gecontroleerd aan de hand van apt-cache policy.
  • apt-daily.timeren apt-daily-upgrade.timerzijn actief.
  • sudo unattended-upgrade --debug --dry-runwordt voltooid zonder onverwachte selecties of fouten.
  • Logbestanden worden gemonitord en het herstartbeleid komt overeen met uw onderhoudsmodel.
  • Grote Debian-release-upgrades blijven een aparte, geplande procedure.

Officiële referenties

Raadpleeg de documentatie van Debian zelf om het gedrag van een specifieke release te controleren:

Laat een reactie achter

Hoe pas je het XFCE-paneel aan in Pardus Linux voor Windows-gebruikers?

Hoe pas je het XFCE-paneel aan in Pardus Linux voor Windows-gebruikers?

Zorg ervoor dat Pardus XFCE vertrouwd aanvoelt met een taakbalk onderaan, een applicatiemenu, favoriete launchers, knoppen voor geopende vensters, een systeemvak en een klok. Leer wat je kunt veranderen en hoe je de lay-out kunt testen.

How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades

How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades

Configure unattended-upgrades on a headless Debian server, verify systemd timers, test safely, control reboots, and monitor automatic security updates.

Los het probleem op dat de Cockpit-webconsole geen verbinding maakt op SUSE Linux Enterprise Server.

Los het probleem op dat de Cockpit-webconsole geen verbinding maakt op SUSE Linux Enterprise Server.

Los problemen met Cockpit op SUSE Linux Enterprise Server op door de HTTPS-URL, de systemd-socket, de geïnstalleerde pakketten, de firewalld-zone, certificaten en logbestanden te controleren.

Hoe migreert u SLES 15 SP5 naar SP6 zonder systeemuitval?

Hoe migreert u SLES 15 SP5 naar SP6 zonder systeemuitval?

Leer hoe u de beschikbaarheid van services kunt waarborgen tijdens een migratie van SLES 15 SP5 naar SP6 met een geteste SLE HA rolling upgrade, node-by-node controles en een duidelijke waarschuwing voor downtime op één server.

Hoe configureer je Pi-hole DNS-over-HTTPS op Ubuntu Server 24.04?

Hoe configureer je Pi-hole DNS-over-HTTPS op Ubuntu Server 24.04?

Configureer Pi-hole op Ubuntu Server 24.04 om DNS-over-HTTPS te gebruiken met dnscrypt-proxy, controleer vervolgens de lokale upstream en voorkom veelvoorkomende DNS-conflicten.

Hoe los je het probleem op dat de YaST GUI niet start via SSH X11-forwarding?

Hoe los je het probleem op dat de YaST GUI niet start via SSH X11-forwarding?

Los problemen met de YaST GUI op via SSH X11-forwarding. Test DISPLAY, los de gedocumenteerde Qt XIO-fout op, controleer de SSH-instellingen en schakel indien nodig over naar ncurses.

Hoe stel je een lokale SUSE RMT-server in (vervanging voor SMT)?

Hoe stel je een lokale SUSE RMT-server in (vervanging voor SMT)?

SUSE RMT instellen op SLES 15, SCC-metadata synchroniseren, geselecteerde repositories spiegelen, clients registreren via HTTPS en de beperkingen van migratie vanuit SMT begrijpen.

Probleem oplossen waarbij geluidskaartstuurprogramma's niet worden gedetecteerd in Pardus Linux 23

Probleem oplossen waarbij geluidskaartstuurprogramma's niet worden gedetecteerd in Pardus Linux 23

Los problemen op met een ontbrekende geluidkaart in Pardus Linux 23. Controleer de ALSA-detectie, kernelmodules, audioservices, uitvoerprofielen, firmware en updates.

Probleem oplossen waarbij de schermresolutie vastzit op 1024x768 op een Pardus KVM-gast.

Probleem oplossen waarbij de schermresolutie vastzit op 1024x768 op een Pardus KVM-gast.

Los het probleem op dat een Pardus KVM-gast vastloopt op een resolutie van 1024x768 door de virtuele GPU, de SPICE-agent, de X11- of Wayland-sessie te controleren en te verifiëren of hogere weergavemodi correct zijn ingesteld.

Hoe koppel je automatisch een externe SSHFS-directory bij het opstarten in Debian?

Hoe koppel je automatisch een externe SSHFS-directory bij het opstarten in Debian?

In Debian kun je bij het opstarten automatisch een externe SSHFS-directory koppelen met behulp van sleutelgebaseerde SSH, /etc/fstab, systemd-netwerkopties, automatisch koppelen en verificatiestappen.