Home
» LINUX
»
How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades
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/.
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.
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 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.
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:
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.
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:
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.
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:
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
Scenario
Beleid
Operationele notitie
Beveiligingsgerichte server
Sta Debian-beveiligings- en stabiele updates toe; behoud de herstartprocedure.
Een goede standaardoptie wanneer een storing duurder is dan een uitgestelde herstart.
Staatloze of redundante node
Schakel updates en geplande automatische herstart in.
Combineer met gezondheidscontroles en het ontladen van de load balancer.
Kernelgevoelig apparaat
Gebruik een pakketblacklist alleen met een gedocumenteerde uitzonderingsprocedure.
Door bekende kwetsbaarheden op een zwarte lijst te plaatsen, kunnen ze onopgelost blijven.
Server met leveranciersrepository
Sta 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.