---
title: "Unattended upgrades virker ikke? Tjek det her i rækkefølge"
description: "Hvorfor unattended-upgrades installerer mindre end ventet, i fejlsøgningsorden: timere, 20auto-upgrades, kilder, hold, trinvis udrulning, låse, genstart."
source: "https://wardio.net/da/guides/unattended-upgrades-virker-ikke/"
---

**Patching**

# Unattended upgrades opgraderer ikke: tjek det her i rækkefølge

`apt list --upgradable` viser en hel skærm fuld af pakker, unattended-upgrades har været installeret i månedsvis, og der sker tilsyneladende ikke meget. Før du går ud fra, at det er i stykker, så tjek, hvad det er sat op til at gøre. Standardindstillingerne dækker mindre, end navnet antyder.

Af David Kabel · Opdateret 2026-09-24 · 12 min læsning

**Det korte svar**

Gå listen igennem oppefra. Bekræft, at `apt-daily-upgrade.timer` går i gang, og at `/etc/apt/apt.conf.d/20auto-upgrades` sætter begge periodiske værdier til "1". Læs derefter de tilladte kilder. Ubuntu installerer kun sikkerhedsopdateringer, Debian tager punktudgivelser med, og ingen af dem rører `-updates` eller pakkearkiver fra tredjepart, medmindre du tilføjer dem. Kør `sudo unattended-upgrade --dry-run --debug`, og læs `/var/log/unattended-upgrades/`. Pakker på hold, poster på blacklisten, spørgsmål om konfigurationsfiler, nye afhængigheder og dpkg-låse forklarer det meste af resten.

## Standardindstillingerne på Debian og Ubuntu

Start med standardindstillingerne. Vi har tjekket dem mod Debian 13 med unattended-upgrades 2.12 og apt 3.0.3 og mod Ubuntu 24.04 LTS med unattended-upgrades 2.9.1+nmu4ubuntu1 og apt 2.8.3.

|  | Debian 13 | Ubuntu 24.04 |
| --- | --- | --- |
| Installeret fra start | Afhænger af, hvordan systemet blev installeret; Debian-wikien advarer om, at den kan mangle | Ja, med sikkerhedsopdateringer slået til |
| 20auto-upgrades | Pakken skriver den med begge værdier sat til "1" ved installationen, fordi standardsvaret på dens opsætningsspørgsmål er ja | Findes, begge værdier "1" |
| Installerer fra | trixie-security plus selve trixie-udgivelsen, som kun ændrer sig ved punktudgivelser | noble-security, ESM-sikkerhedsopdateringer hvor de findes, og selve udgivelsen (release-pocket) til nye afhængigheder |
| Ignorerer som standard | trixie-updates, backports, alle pakkearkiver fra tredjepart | noble-updates, backports, proposed, PPA'er, alle pakkearkiver fra tredjepart |
| Tidsplan | Opgraderingstimeren kl. 06:00 servertid plus op til 60 minutters tilfældig forsinkelse | Samme |
| Automatisk genstart | Fra | Fra |

## Tjeklisten

1.  **Det er slået til**: Kør `apt-config dump | grep Periodic`. Du skal se `Update-Package-Lists "1"` og `Unattended-Upgrade "1"`. Begge er 0 som standard i apts daglige script, så mangler `20auto-upgrades`, kører intet, og `APT::Periodic::Enable "0"` i en hvilken som helst fil slår det hele fra. `sudo dpkg-reconfigure -plow unattended-upgrades` skriver filen, hvis den aldrig har eksisteret, men ikke hvis nogen har slettet den. I så fald skriver ucf `Not replacing deleted config file` og lader den mangle. Kør det som `sudo UCF_FORCE_CONFFMISS=1 dpkg-reconfigure -plow unattended-upgrades`, eller kopiér `/usr/share/unattended-upgrades/20auto-upgrades` tilbage på plads.
2.  **Systemd-timerne går i gang**: `systemctl list-timers apt-daily.timer apt-daily-upgrade.timer` viser sidste og næste kørsel, og `journalctl -u apt-daily-upgrade.service` viser, hvad der skete. En deaktiveret eller maskeret timer betyder ingen kørsler, uanset hvad konfigurationen siger.
3.  **Selve apt er i orden**: Før alt andet kører apts daglige script `apt-get check`, som tager dpkg-låsen, og stopper uden en lyd, hvis det fejler. Det gælder også den tilstand, en afbrudt installation efterlader. Apt tager ikke sin lås, før nogen kører `dpkg --configure -a`, så ét strømsvigt midt i en opgradering kan stoppe alle senere kørsler uden nogen advarsel. Kør selv `sudo apt-get check`. Brokker den sig, gør `sudo dpkg --configure -a` den afbrudte installation færdig, og `sudo apt-get -f install` reparerer ødelagte afhængigheder.
4.  **Pakken kommer fra en tilladt kilde**: Hver kørsel i loggen starter med `Starting unattended upgrades script`, efterfulgt af `Allowed origins are:`. Sammenlign den liste med `apt-cache policy <package>`, som viser, hvilket arkiv den nye version ligger i. På Ubuntu er en version i `noble-updates` ikke tilladt som standard, og det er pakker fra Docker, et PPA eller andre pakkearkiver, du selv har tilføjet, heller ikke.
5.  **Kør den manuelt**: `sudo unattended-upgrade --dry-run --debug` simulerer en kørsel og skriver sine overvejelser til `/var/log/unattended-upgrades/unattended-upgrades.log`. Kun root og gruppen adm kan læse mappen. En prøvekørsel kan ikke vise tilbageholdte pakker og siger det selv. Til det skal du læse loggen fra en rigtig kørsel.
6.  **Intet er sat på hold**: `apt-mark showhold` viser pakker på hold. unattended-upgrades lader dem være, og en rigtig kørsel, ikke en prøvekørsel, logger `Package <name> is marked to be held back.`
7.  **Blacklisten er ikke for bred**: Poster i `Package-Blacklist` er regulære udtryk i Python, der matches fra starten af navnet, så `"linux-"` blokerer alle kernepakker. En blacklistet pakke blokerer også opgraderinger af pakker, der afhænger af den. En rigtig kørsel logger `Package <name> is blacklisted.` for selve pakken, men kun `is kept back because a related package is kept back` for de pakker, der afhænger af den.
8.  **Intet spørgsmål om en konfigurationsfil venter**: Hvis en opgradering ville spørge, om du vil beholde din redigerede konfigurationsfil, springer unattended-upgrades pakken over, og loggen siger `has conffile prompt and needs to be upgraded manually`. Opgradér den manuelt, og svar på spørgsmålet.
9.  **Den kræver ikke, at noget bliver fjernet**: unattended-upgrades installerer kun nye afhængigheder fra tilladte kilder og fjerner aldrig en installeret pakke for at gennemføre en opgradering. `apt upgrade` springer også en opgradering over, der kræver, at noget bliver fjernet. Apt i Ubuntu 24.04 viser den under "kept back", og apt 3.0 i Debian 13 viser den under "Not upgrading". I modsætning til unattended-upgrades installerer `apt upgrade` nye afhængigheder fra ethvert konfigureret pakkearkiv. Læs, hvad `sudo apt full-upgrade` foreslår at fjerne, før du accepterer det.
10.  **Trinvis udrulning påvirker kun apt**: Ubuntu udgiver nogle opdateringer i etaper (phased updates). APT afgør det pr. maskine ud fra pakkens navn, versionen og `/etc/machine-id`, og `apt upgrade` holder den nye version tilbage, indtil det bliver din tur. `apt policy <package>` viser den fx som `(phased 20%)`. Ubuntu udruller aldrig sikkerhedsopdateringer trinvist. APT har gjort det siden Ubuntu 21.04 og apt 2.1.16. unattended-upgrades tager ikke hensyn til trinvis udrulning, og i vores test installerede den en opdatering, der var udrullet til 0 %, så snart dens kilde var tilladt. Trinvis udrulning kan altså forklare, hvorfor `apt upgrade` holder noget tilbage, men ikke hvorfor unattended-upgrades gør. Tillader du `-updates`, når trinvist udrullede opdateringer maskinen med det samme.
11.  **Intet andet holder låsen**: En kørsel, der støder ind i dig eller i et konfigurationsværktøj, der bruger apt, giver op til næste dag. Møder unattended-upgrades selv låsen, logger den `Lock could not be acquired (another package manager running?)`. Det omvendte sker ofte efter opstart. Timerne er persistente, så en kørsel, der blev misset, mens maskinen var slukket, starter, når den kommer op igen, med den samme tilfældige forsinkelse. `apt` venter, til den er færdig. `apt-get` stopper med det samme med `Could not get lock`.

## Lad den installere mere end sikkerhedsopdateringer

README-filen til unattended-upgrades anbefaler at lægge ændringer i en separat fil, der sorteres efter `50unattended-upgrades`, så pakkeopdateringer af den medfølgende fil ikke kolliderer med dine rettelser. Lister i en senere fil bliver lagt til standardlisten i stedet for at erstatte den:

```
// /etc/apt/apt.conf.d/52unattended-upgrades-local
// Ubuntu: also install bug-fix updates, not only security
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-updates";
};

// Debian uses Origins-Pattern instead:
// Unattended-Upgrade::Origins-Pattern {
//         "origin=Debian,codename=${distro_codename}-updates";
// };
```

For et pakkearkiv fra tredjepart finder du dets Origin i arkivets `InRelease`\-fil under `/var/lib/apt/lists/` eller i outputtet fra `apt-cache policy` og tilføjer det på samme måde. Overvej dog, om du vil have leverandørpakker til at opdatere sig selv klokken seks om morgenen.

## Kørselsplan og varighed

`apt-daily.timer`, som opdaterer pakkelisterne, går i gang kl. 06:00 og 18:00 med op til 12 timers tilfældig forsinkelse. `apt-daily-upgrade.timer` installerer kl. 06:00 med op til 60 minutters forsinkelse. `APT::Periodic`\-værdierne er intervaller i dage, der tjekkes mod stempelfiler efter kalenderdato, så hvert trin stadig sker én gang om dagen, og en værdi under én dag får det ikke til at køre oftere. Vil du køre to gange om dagen, så sæt værdien til `always`, og tilføj en ekstra `OnCalendar`\-linje. Sådan flytter du kørslen:

```
sudo systemctl edit apt-daily-upgrade.timer

# in the editor that opens:
[Timer]
OnCalendar=
OnCalendar=*-*-* 03:00
RandomizedDelaySec=30m
```

Der er ingen typisk kørselstid at nævne, fordi det afhænger af, hvad der venter. Som standard kører opgraderingen i mindst mulige trin, som den medfølgende konfiguration beskriver som lidt langsommere, men sikker at afbryde ved nedlukning. Mål det selv. Loggen har et tidsstempel på `Starting unattended upgrades script` og på den sidste linje i hver kørsel.

## Genstart og kerneopdateringer

unattended-upgrades installerer en ny kernepakke som enhver anden, og den kørende kerne forbliver præcis, som den var, indtil maskinen genstarter, eller rettelsen bliver lagt på med [live patching](/da/guides/kernel-live-patching/). unattended-upgrades afgør ikke, om en genstart er nødvendig. Den kigger efter `/var/run/reboot-required` og genstarter, når den fil findes, hvis automatisk genstart er slået til:

```
// /etc/apt/apt.conf.d/52unattended-upgrades-local
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "03:30";
```

unattended-upgrades sender tidspunktet videre til `shutdown`, som det står, og shutdown bruger serverens tidszone. Standarden er `now`, som betyder lige efter kørslen, og den genstarter med brugere logget ind, medmindre du sætter `Automatic-Reboot-WithUsers` til false. På både Debian og Ubuntu installerer unattended-upgrades selv en kernehook, `/etc/kernel/postinst.d/unattended-upgrades`, som skriver flagfilen, hver gang en kernepakke bliver installeret. Ubuntus `update-notifier-common` tilføjer endnu en. På Ubuntu undlader begge at gøre det for kerner, mens Canonical Livepatch er slået til. Flagfilen dækker kun kerner. Kørende tjenester beholder den gamle kopi af et bibliotek i hukommelsen, indtil de bliver genstartet. Fra og med Ubuntu 24.04 genstarter `needrestart` som standard de berørte tjenester automatisk, når apt kører det. Debians version spørger som standard og nøjes med at vise dem, når den kører uden terminal, som den gør under en unattended upgrade.

## "Unattended-upgrade in progress during shutdown"

Pakken leverer en lille tjeneste, `unattended-upgrades.service`, som ikke gør noget, før maskinen lukker ned. Kører der en opgradering i det øjeblik, sender den opgraderingen et stopsignal, skriver denne besked til `unattended-upgrades-shutdown.log` og til nedlukningens splashskærm, hvor der er en, og holder nedlukningen tilbage, mens det aktuelle trin bliver færdigt, i op til 25 minutter som standard. Lad den blive færdig. Slår du strømmen fra midt i en installation, kan dpkg blive efterladt halvt konfigureret, og derefter installerer apt ingenting, heller ikke via det daglige job, indtil nogen kører `sudo dpkg --configure -a`, som trin tre ovenfor beskriver.

`InstallOnShutdown` gør det modsatte og installerer med vilje opdateringer under nedlukning i stedet for i baggrunden. Den er slået fra som standard, gør hver nedlukning langsommere, og den medfølgende konfiguration anbefaler at hæve `InhibitDelayMaxSec` i logind, hvis du slår den til. På en server, der sjældent lukker ned, er det det forkerte værktøj.

Automatiske sikkerhedsopdateringer er trin fem i [guiden til at sikre en ny VPS](/da/guides/sikker-vps/). Med tjeklisten ovenfor finder du ud af, om trin fem faktisk sker.

## Faldgruber

-   **En timer, der ser sund ud, men intet gør.** Det officielle Ubuntu 24.04 Docker-image leveres med `/etc/apt/apt.conf.d/docker-disable-periodic-update`, som indeholder `APT::Periodic::Enable "0"`. Begge timere stod på listen og var aktiveret, og `apt-daily-upgrade.service` sluttede med "Deactivated successfully", men jobbet skrev ingen stempelfil eller loglinje. Ethvert image eller konfigurationsværktøj kan gøre det samme, så tjek `apt-config dump | grep Periodic` for en `Enable`\-linje, før du stoler på timeren.
-   **Sletter du 20auto-upgrades, bliver den væk.** Efter vi havde fjernet filen, skrev `dpkg-reconfigure -plow unattended-upgrades` `Not replacing deleted config file` og lod den mangle, fordi ucf betragter en slettet konfigurationsfil som administratorens valg. `UCF_FORCE_CONFFMISS=1` foran kommandoen genskabte den.
-   **En afbrudt dpkg ligner et låseproblem.** Vi dræbte dpkg under en pakkes configure-trin. Derefter meldte `apt-daily-upgrade.service` stadig succes, intet nåede unattended-upgrades-loggen, og en manuel `unattended-upgrade` loggede `Lock could not be acquired (another package manager running?)`, selv om intet andet kørte. Dens indbyggede reparation, `AutoFixInterruptedDpkg`, kørte aldrig, fordi den først kører, når låsen er taget. `sudo dpkg --configure -a` løste det. Sætter du `APT::Periodic::Verbose "1"`, skriver det daglige job `error encountered in cron job with "apt-get check"` til journalen i stedet for at fejle lydløst.
-   **Trinvis udrulning gør ikke unattended-upgrades langsommere.** APT udskød en testopdatering, der var udrullet til 0 %, men unattended-upgrades installerede den på både Debian 13 og Ubuntu 24.04, så snart dens kilde var tilladt. På Debian planlagde den også en opdatering udrullet til 50 %, som APT udskød for den maskine. Tilføjer du `-updates` på Ubuntu, så regn med at få opdateringer, før `apt upgrade` ville tilbyde dem.
-   **Automatisk genstart ser kun på flagfilen.** Med `Automatic-Reboot "true"` og `/var/run/reboot-required` til stede kaldte unattended-upgrades `shutdown -r` ved slutningen af en kørsel, der ikke havde installeret noget. En kerne, du installerede manuelt tidligere på dagen, får derfor sin genstart ved den næste automatiske kørsel.

**Sådan blev det testet.** Den 23. september 2026 gik vi hvert trin ovenfor igennem i Docker-containere med systemd, én med Debian 13 fra debian:trixie med unattended-upgrades 2.12 og apt 3.0.3 og én med Ubuntu 24.04.5 LTS med unattended-upgrades 2.9.1+nmu4ubuntu1 og apt 2.8.3. Et lokalt pakkearkiv med dummy-pakker gav os en pakke på hold, træf på blacklisten, et spørgsmål om en konfigurationsfil, nye afhængigheder fra tilladte og ikke-tilladte kilder, en opgradering, der krævede, at noget blev fjernet, og opdateringer udrullet til 0 % og 50 %. Vi dræbte dpkg midt i en installation, holdt dpkg-låsen, udløste begge timere, stoppede `unattended-upgrades.service` under en langsom installation for at simulere nedlukning, installerede en rigtig Debian-kernepakke og erstattede `shutdown` med en stub, der kun logger, for at teste automatisk genstart. Ikke testet: en rigtig genstart eller et rigtigt strømsvigt, rigtige trinvise udrulninger fra Ubuntus arkiv, ESM-kilder, mailrapporter, eller hvad en frisk installation af Ubuntu Server leveres med, da Docker-imagene ikke indeholder unattended-upgrades.

## Kilder

1.  [unattended-upgrades README](https://github.com/mvo5/unattended-upgrades/blob/master/README.md), unattended-upgrades-projektet, GitHub
2.  [unattended-upgrade(8) manual page](https://manpages.debian.org/trixie/unattended-upgrades/unattended-upgrade.8.en.html), Debian 13, unattended-upgrades 2.12
3.  [unattended-upgrades 2.12 source: 50unattended-upgrades.Debian, unattended-upgrade, unattended-upgrade-shutdown, debian/templates](https://sources.debian.org/src/unattended-upgrades/2.12/), Debian
4.  [50unattended-upgrades.Ubuntu, unattended-upgrades 2.9.1+nmu4ubuntu1](https://git.launchpad.net/ubuntu/+source/unattended-upgrades/tree/data/50unattended-upgrades.Ubuntu?h=applied/ubuntu/noble-devel), Ubuntu
5.  [apt 3.0.3 source: apt.systemd.daily, apt-daily.timer, apt-daily-upgrade.timer](https://sources.debian.org/src/apt/3.0.3/debian/), Debian
6.  [UnattendedUpgrades (PeriodicUpdates)](https://wiki.debian.org/UnattendedUpgrades), Debian Wiki, sidst ændret 10. juli 2026
7.  [stable-updates](https://wiki.debian.org/StableUpdates), Debian Wiki
8.  [Automatic updates](https://documentation.ubuntu.com/server/how-to/software/automatic-updates/), Ubuntu Server-dokumentationen
9.  [About apt upgrade and phased updates](https://documentation.ubuntu.com/server/explanation/software/about-apt-upgrade-and-phased-updates/), Ubuntu Server-dokumentationen, opdateret 26. juni 2026
10.  [apt\_preferences(5): Phased Updates](https://manpages.debian.org/trixie/apt/apt_preferences.5.en.html), Debian 13
11.  [apt(8)](https://manpages.debian.org/trixie/apt/apt.8.en.html) og [apt-mark(8)](https://manpages.debian.org/trixie/apt/apt-mark.8.en.html), Debian 13
12.  [systemd.timer(5)](https://manpages.debian.org/trixie/systemd/systemd.timer.5.en.html), Debian 13

## Spørgsmål

### Hvor ofte kører unattended upgrades?

Én gang om dagen som standard. På Debian og Ubuntu går apt-daily-upgrade.timer i gang kl. 06:00 servertid med op til 60 minutters tilfældig forsinkelse, og apt-daily.timer, som opdaterer pakkelisterne, går i gang kl. 06:00 og 18:00 med op til 12 timers forsinkelse. APT::Periodic-værdierne i 20auto-upgrades er intervaller i dage, så med standardværdien 1 sker hvert trin stadig én gang om dagen. Fordi de to timere er persistente, starter en kørsel, der blev misset, mens maskinen var slukket, kort efter næste opstart.

### Hvordan slår jeg unattended upgrades til?

Installer pakken unattended-upgrades, kør derefter sudo dpkg-reconfigure -plow unattended-upgrades, og svar ja. Det skriver /etc/apt/apt.conf.d/20auto-upgrades med APT::Periodic::Update-Package-Lists og APT::Periodic::Unattended-Upgrade begge sat til "1". Er filen blevet slettet efter installationen, genskaber dpkg-reconfigure den ikke, medmindre du kører det som sudo UCF\_FORCE\_CONFFMISS=1 dpkg-reconfigure -plow unattended-upgrades. Tjek resultatet med apt-config dump, og test med sudo unattended-upgrade --dry-run --debug. På Ubuntu Server er begge trin allerede gjort efter installationen.

### Hvorfor bliver pakker holdt tilbage og ikke opgraderet automatisk?

unattended-upgrades springer en pakke over, når den nye version ligger i et pakkearkiv, der ikke er en tilladt kilde, fx Ubuntus -updates eller et pakkearkiv fra tredjepart; når den er sat på hold med apt-mark eller matcher Package-Blacklist; når opgraderingen ville spørge om en ændret konfigurationsfil; eller når den kræver, at en pakke bliver fjernet, eller kræver en afhængighed fra en kilde, der ikke er tilladt. På Ubuntu holder trinvis udrulning (phased updates) opdateringer, der ikke er sikkerhedsopdateringer, tilbage fra apt upgrade i et stykke tid, men i vores tests tog unattended-upgrades selv ikke hensyn til den trinvise udrulning.

### Hvor lang tid tager en unattended upgrade?

Der er ingen fast varighed. Det afhænger af, hvor mange pakker der venter, og hvad deres installationsscripts gør. Som standard installerer den i mindst mulige trin, hvilket er lidt langsommere, men kan afbrydes sikkert. Vil du se dine egne tider, så sammenlign start- og slutlinjerne i /var/log/unattended-upgrades/unattended-upgrades.log, eller læs journalctl -u apt-daily-upgrade.service.

### Hvad betyder "unattended-upgrade in progress during shutdown"?

Du lukkede ned, mens en opgradering kørte. Nedlukningshjælperen i unattended-upgrades beder den kørende opgradering om at stoppe efter det aktuelle trin og udskyder nedlukningen, mens den gør det færdigt, i op til 25 minutter som standard. Lad den blive færdig i stedet for at slå strømmen fra. Bliver dpkg alligevel afbrudt, så kør sudo dpkg --configure -a, for indtil du gør det, installerer apt ingenting, og det daglige job stopper ved sit første tjek.

**Er du i tvivl om, hvorvidt dine servere faktisk bliver patchet?**

Den gratis servergennemgang ser også på, om opdateringer bliver installeret, og hvad der bliver sprunget over. [Priser](/da/priser/).

[Gratis servergennemgang](/da/kontakt/)
