Modul 4 · 4.2
Automatiska uppdateringar
Modul 4: Programvara och uppdateringar · Lästid: 10 minuter
Lärandemål: Efter den här lektionen kan du slå på och kontrollera automatiska säkerhetsuppdateringar. Du vet vad som sker automatiskt och vad som inte gör det, och du vet när en omstart behövs.
Nyckelbegrepp: unattended-upgrades, 20auto-upgrades, 50unattended-upgrades, Origins-Pattern och Allowed-Origins, apt-daily-timers, needrestart, /var/run/reboot-required, Automatic-Reboot, kerneluppdatering, dnf-automatic
Varför automatiskt?
Säkerhetshål hittas, åtgärdas och utnyttjas sedan aktivt, ofta inom några dagar. En server som du uppdaterar en gång i månaden står alltså i genomsnitt öppen i flera veckor för kända säkerhetshål. Det nederländska NCSC räknar snabb installation av uppdateringar till grundprinciperna för digital motståndskraft: "Att uppdatera och patcha programvara i tid hjälper till att snabbt åtgärda sårbarheter."
Ändå är "allt automatiskt" inte heller bra. En ny version av ett program kan bete sig annorlunda än den gamla, och en server som startar om sig själv mitt på dagen kan drabba dina besökare. Den vanliga mellanvägen på Debian och Ubuntu är:
- säkerhetsuppdateringar automatiskt, varje dag;
- andra uppdateringar och release-uppgraderingar för hand, vid en tidpunkt som du väljer, med en snapshot innan;
- planerade omstarter, vid en lugn tidpunkt, och kontrollerade.
Programmet som sköter detta heter unattended-upgrades.
Slå på unattended-upgrades
På Ubuntu Server är unattended-upgrades installerat som standard, och automatiska säkerhetsuppdateringar är påslagna direkt efter installationen. På Debian finns det också på många installationer och images, men inte alltid. Kontrollera och slå på:
anna@web1:~$ sudo apt install unattended-upgrades
anna@web1:~$ sudo dpkg-reconfigure -plow unattended-upgradesDet andra kommandot frågar "Automatically download and install stable updates?". Välj Yes. Då skrivs filen /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";1 betyder: varje dag. Med 0 stänger du av det. Själva arbetet startas av två systemd-timers (lektion 6.3), som du visar så här:
anna@web1:~$ systemctl list-timers 'apt*'
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2026-11-10 06:24:11 CET 9h left Mon 2026-11-09 06:41:03 CET 14h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Tue 2026-11-10 08:02:47 CET 11h left Mon 2026-11-09 19:12:30 CET 1h ago apt-daily.timer apt-daily.serviceapt-daily hämtar listorna (som apt update), apt-daily-upgrade installerar uppdateringarna. Tiderna sprids slumpmässigt, så att inte alla servrar i världen belastar paketkällorna samtidigt.
Vad installeras automatiskt?
Det står i /etc/apt/apt.conf.d/50unattended-upgrades. På Debian heter blocket Unattended-Upgrade::Origins-Pattern, på Ubuntu Unattended-Upgrade::Allowed-Origins. Som standard är säkerhetskällan och den fasta källan för din release påslagna, och källan -updates avstängd. På Ubuntu ser det ut så här:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};Rader med // framför är avstängda. Låt det vara så på din första server. Ändra inte filen direkt, eftersom en senare version av paketet kan vilja ersätta den. Debian rekommenderar att du lägger dina egna ändringar i en egen fil, till exempel /etc/apt/apt.conf.d/52unattended-upgrades-local; senare filer går före tidigare.
Paket från extra källor (Docker, Caddy, PostgreSQL från tillverkaren) uppdateras som standard inte automatiskt. Det är ett medvetet val: dem följer du själv (lektion 9.4), eller så lägger du till källan i listan för hand om du litar på tillverkaren och känner till följderna.
Några inställningar som du ofta vill ha:
// /etc/apt/apt.conf.d/52unattended-upgrades-local
Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailReport "only-on-error";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Automatic-Reboot "false";Mail fungerar bara om servern kan skicka e-post (en liten relay, lektion 8.3). Om det inte går hoppar du över det och använder bevakningen från lektion 8.3.
Kontrollera att det fungerar
En automatik som tyst slutar fungera är farligare än ingen automatik alls, eftersom du tror att du är säker. Kontrollera därför tre saker.
1. En testkörning. Den visar vad som skulle hända, utan att ändra något:
anna@web1:~$ sudo unattended-upgrade --dry-run --debug
...
Allowed origins are: origin=Debian,codename=trixie,label=Debian, origin=Debian,codename=trixie-security,label=Debian-Security, ...
Packages that will be upgraded: libssl3t64 openssh-server2. Loggen. Varje körning skriver till /var/log/unattended-upgrades/unattended-upgrades.log:
anna@web1:~$ sudo tail -n 5 /var/log/unattended-upgrades/unattended-upgrades.log
2026-11-09 06:41:15,201 INFO Packages that will be upgraded: openssh-server
2026-11-09 06:41:15,202 INFO Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
2026-11-09 06:41:29,874 INFO All upgrades installed3. Vad som fortfarande väntar. apt list --upgradable (lektion 4.1) ska efter en natt inte längre visa några paket från -security. Står de kvar flera dagar i rad är något fel: en full disk, ett lås från en manuell apt som har fastnat, eller ett paket som ställer en fråga.
Omstart: tjänster och kärnan
Ett uppdaterat program på disken är ännu inte samma sak som ett uppdaterat program i minnet. Har OpenSSH körts i tre veckor, så körs den gamla koden tills tjänsten startar om.
- Tjänster: programmet needrestart kontrollerar efter en uppdatering vilka tjänster som fortfarande använder gamla bibliotek. På Ubuntu 24.04 och senare startar unattended-upgrades som standard om de tjänsterna automatiskt via needrestart. På Debian är needrestart ett separat paket (
apt install needrestart) som interaktivt frågar dig vilka tjänster som ska startas om. - Kärnan: en ny kärna börjar gälla först efter en omstart av hela servern. Debian och Ubuntu skapar då filen
/var/run/reboot-required:
anna@web1:~$ cat /var/run/reboot-required
*** System restart required ***
anna@web1:~$ cat /var/run/reboot-required.pkgs
linux-image-6.12.57+deb13-amd64Du har två val. Antingen startar du om själv, till exempel varje vecka vid en fast tid efter att du har kollat om filen finns. Eller så låter du unattended-upgrades göra det:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:30";Standard är false. Slå bara på den om du är säker på att allt kommer upp av sig självt efter en omstart: tjänster med enable (lektion 6.1), containrar med en restart:-policy (lektion 9.3) och en bevakning som varnar dig om det inte gör det (lektion 8.3). Testa först en gång för hand: sudo reboot, och se om allt kommer tillbaka.
Ubuntu erbjuder via Ubuntu Pro även Livepatch, som tillämpar vissa kärnfixar utan omstart. Det är ett komplement, ingen ersättning: även med Livepatch startar du om då och då.
Det här gör du inte automatiskt
- Release-uppgraderingar (från Debian 12 till 13, från Ubuntu 24.04 till 26.04): alltid för hand, med en plan (lektion 4.3).
- Stora versioner av dina egna applikationer (en ny huvudversion av en databas, ett CMS): alltid för hand, efter en säkerhetskopia och efter att du har läst release notes.
- Containrar: dem uppdaterar unattended-upgrades inte. En image från 2024 förblir en image från 2024 tills du kör
docker compose pull(lektion 9.4).
På AlmaLinux och Rocky Linux
Där heter verktyget dnf-automatic. Installera med dnf install dnf-automatic. I /etc/dnf/automatic.conf sätter du upgrade_type = security och apply_updates = yes, och du slår på timern med systemctl enable --now dnf-automatic.timer. På RHEL-liknande system behövs en omstart för kärnan precis som på Debian; dnf needs-restarting -r talar om ifall det behövs.
I praktiken
Hos WebOké fungerar en VPS på samma sätt som på andra ställen: det som uppdateras inne i servern sköter du själv. Leverantören uppdaterar hårdvaran och virtualiseringsplattformen, inte ditt operativsystem. Gör en snapshot i din leverantörs panel före en stor manuell uppdatering; för de dagliga automatiska säkerhetsuppdateringarna behövs det inte.
Sammanfattning
- Slå på automatiska säkerhetsuppdateringar med unattended-upgrades (Ubuntu: påslaget som standard; Debian: kontrollera med
dpkg-reconfigure -plow unattended-upgrades). - Som standard uppdateras bara säkerhetskällan och den fasta releasekällan automatiskt; extra källor gör det inte.
- Kontrollera med en testkörning, loggen i
/var/log/unattended-upgrades/ochapt list --upgradable. - Tjänster måste startas om efter en uppdatering (needrestart), kärnan kräver en omstart (
/var/run/reboot-required). - Release-uppgraderingar, stora applikationsversioner och containrar uppdaterar du för hand.
Quiz
Uppgift
Uppgift O4.2: Slå på automatiska uppdateringar och kontrollera dem. Slå på unattended-upgrades på din egen server (eller kontrollera att det är påslaget), gör en testkörning och granska loggen och timers. Fyll i checklistan och svara: vilka källor uppdateras automatiskt hos dig, när gick den senaste körningen, väntar det en omstart just nu, och hur tänker du starta om (själv vid en fast tid eller automatiskt, och varför)?
Uppgift O4.2: Slå på automatiska uppdateringar och kontrollera dem
Den här uppgiften gör du själv; ingen kontrollerar den. Bocka av vad du har gjort och markera uppgiften som klar.
Automatiskt: release-källan och säkerhetskällan. Finns reboot-required väntar en kärn- eller biblioteksuppdatering. Automatisk omstart fungerar om allt kommer tillbaka av sig självt efteråt och din övervakning larmar om det inte gör det. Extra källor (Docker, Caddy), containrar och applikationer som WordPress uppdaterar du själv.
Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.
Läs mer
- Säkra din VPS: de första fem minuterna
- Debian Wiki, automatiska uppdateringar (UnattendedUpgrades): https://wiki.debian.org/PeriodicUpdates
- Det nederländska NCSC, grundprincip 3: Skydda system, applikationer och enheter (nederländsk källa, på nederländska): https://www.ncsc.nl/basisprincipes/basisprincipe-3-bescherm-systemen-applicaties-en-apparaten
- Ubuntu Server-dokumentationen, Automatic updates: https://ubuntu.com/server/docs/how-to/software/automatic-updates/
- VPS: från första inloggningen till en säker server 3.3: Uppdateringar och automatiska uppdateringar
