DNF commands stuck during downloads

I have the following specs:

  • intel i7 x86_64 board
  • fresh fedora server 41 iso install
  • New Zealand location (discuss later why it might be important)

When running dnf makecache or dnf upgrade the device gets stuck on random parts of the process.

Sometimes it gets stuck indefinitely (after 1 hour I kill the process) on these sections (and it seems its always either the fedora-updates repo or the fedora main repo):

Updating and loading repositories:
 Fedora 41 openh264 (From Cisco) - x86_ 100% |   2.1 KiB/s |   5.8 KiB |  00m03s
 Fedora 41 - x86_64 - Updates           100% |   1.3 MiB/s |  11.6 MiB |  00m09s
Fedora 41 - x86_64       1% [=                 ] |   15.6 KiB/s |  17.9 MiB |  12m01s

And sometimes it passes this section but then there are issues during these sections (Packages take 20 minutes to download sometimes indefinitely):

Updating and loading repositories:
β”‚  Repositories loaded.
β”‚  Package "util-linux-2.40.4-1.fc41.x86_64" is already installed.
β”‚  Package "lvm2-2.03.25-4.fc41.x86_64" is already installed.
β”‚  
β”‚  
β”‚  Package                       Arch   Version                    Repository      Size
β”‚  Installing:
β”‚   boom-boot                    noarch 1.6.6-1.fc41               updates     55.7 KiB
β”‚   greenboot                    x86_64 0.15.8-1.fc41              updates     51.2 KiB
β”‚   watchdog                     x86_64 5.16-9.fc41                fedora     168.1 KiB
β”‚  Installing dependencies:
β”‚   aardvark-dns                 x86_64 2:1.16.0-1.fc41            updates      2.3 MiB
β”‚   boom-boot-conf               noarch 1.6.6-1.fc41               updates     45.6 KiB
β”‚   bootc                        x86_64 1.8.0-1.fc41               updates      9.3 MiB
β”‚   bubblewrap                   x86_64 0.10.0-1.fc41              fedora     134.1 KiB
β”‚   catatonit                    x86_64 0.2.1-1.fc41               updates    763.3 KiB
β”‚   composefs                    x86_64 1.0.8-1.fc41               updates    176.3 KiB
β”‚   composefs-libs               x86_64 1.0.8-1.fc41               updates    140.1 KiB
β”‚   conmon                       x86_64 2:2.1.13-1.fc41            updates    166.4 KiB
β”‚   container-selinux            noarch 4:2.242.0-1.fc41           updates     72.6 KiB
β”‚   containers-common            noarch 5:0.64.2-1.fc41            updates    128.8 KiB
β”‚   containers-common-extra      noarch 5:0.64.2-1.fc41            updates      0.0   B
β”‚   criu                         x86_64 4.1.1-1.fc41               updates      1.6 MiB
β”‚   crun                         x86_64 1.25.1-1.fc41              updates    585.7 KiB
β”‚   fuse-overlayfs               x86_64 1.13-2.fc41                fedora     131.2 KiB
β”‚   libbsd                       x86_64 0.12.2-4.fc41              fedora     419.2 KiB
β”‚   libmd                        x86_64 1.1.0-5.fc41               fedora     102.9 KiB
β”‚   libnet                       x86_64 1.3-4.fc41                 fedora     136.5 KiB
β”‚   netavark                     x86_64 2:1.16.1-1.fc41            updates     11.4 MiB
β”‚   ostree                       x86_64 2025.6-1.fc41              updates    645.5 KiB
β”‚   ostree-libs                  x86_64 2025.6-1.fc41              updates      1.2 MiB
β”‚   passt                        x86_64 0^20250919.g623dbf6-1.fc41 updates      1.2 MiB
β”‚   passt-selinux                noarch 0^20250919.g623dbf6-1.fc41 updates    292.3 KiB
β”‚   podman                       x86_64 5:5.6.2-1.fc41             updates     47.3 MiB
β”‚   python3-boom                 noarch 1.6.6-1.fc41               updates      4.0 MiB
β”‚   qemu-user-static-aarch64     x86_64 2:9.1.3-2.fc41             updates     13.5 MiB
β”‚   qemu-user-static-alpha       x86_64 2:9.1.3-2.fc41             updates      3.8 MiB
β”‚   qemu-user-static-arm         x86_64 2:9.1.3-2.fc41             updates     10.1 MiB
β”‚   qemu-user-static-cris        x86_64 2:9.1.3-2.fc41             updates      3.8 MiB
β”‚   qemu-user-static-hexagon     x86_64 2:9.1.3-2.fc41             updates      5.6 MiB
β”‚   qemu-user-static-hppa        x86_64 2:9.1.3-2.fc41             updates      3.9 MiB
β”‚   qemu-user-static-loongarch64 x86_64 2:9.1.3-2.fc41             updates      4.4 MiB
β”‚   qemu-user-static-m68k        x86_64 2:9.1.3-2.fc41             updates      4.0 MiB
β”‚   qemu-user-static-microblaze  x86_64 2:9.1.3-2.fc41             updates      7.6 MiB
β”‚   qemu-user-static-mips        x86_64 2:9.1.3-2.fc41             updates     28.8 MiB
β”‚   qemu-user-static-or1k        x86_64 2:9.1.3-2.fc41             updates      3.7 MiB
β”‚   qemu-user-static-ppc         x86_64 2:9.1.3-2.fc41             updates     14.2 MiB
β”‚   qemu-user-static-riscv       x86_64 2:9.1.3-2.fc41             updates     10.1 MiB
β”‚   qemu-user-static-s390x       x86_64 2:9.1.3-2.fc41             updates      4.2 MiB
β”‚   qemu-user-static-sh4         x86_64 2:9.1.3-2.fc41             updates      7.6 MiB
β”‚   qemu-user-static-sparc       x86_64 2:9.1.3-2.fc41             updates     12.0 MiB
β”‚   qemu-user-static-x86         x86_64 2:9.1.3-2.fc41             updates      9.0 MiB
β”‚   qemu-user-static-xtensa      x86_64 2:9.1.3-2.fc41             updates     13.9 MiB
β”‚   rpm-ostree                   x86_64 2025.11-1.fc41             updates     14.6 MiB
β”‚   rpm-ostree-li
β”‚  bs              x86_64 2025.11-1.fc41             
β”‚  updates     56.1 KiB
β”‚   shadow-utils-subid           x86_64 2:4.15.1-12.fc41           fedora      54.1 KiB
β”‚   skopeo                       x86_64 1:1.20.0-3.fc41            updates     24.9 MiB
β”‚   yajl                         x86_64 2.1.0-24.fc41              fedora      90.6 KiB
β”‚  Installing weak dependencies:
β”‚   bootupd                      x86_64 0.2.26-1.fc41              updates      3.4 MiB
β”‚   criu-libs                    x86_64 4.1.1-1.fc41               updates     84.8 KiB
β”‚   qemu-user-static             x86_64 2:9.1.3-2.fc41             updates     44.6 KiB
β”‚  
β”‚  Transaction Summary:
β”‚   Installing:        53 packages
β”‚  
β”‚  Total size of inbound packages is 73 MiB. Need to download 73 MiB.
β”‚  After this operation, 286 MiB extra will be used (install 286 MiB, remove 0 B).
β”‚  [ 1/53] boom-boot-conf-0:1.6.6-1.fc41.n 100% |  10.4 KiB/s |  23.7 KiB |  00m02s
β”‚  [ 2/53] boom-boot-0:1.6.6-1.fc41.noarch 100% |   9.8 KiB/s |  34.2 KiB |  00m04s
β”‚  [ 3/53] watchdog-0:5.16-9.fc41.x86_64   100% |  19.2 KiB/s |  83.1 KiB |  00m04s
β”‚  [ 4/53] greenboot-0:0.15.8-1.fc41.x86_6 100% |   8.5 KiB/s |  41.5 KiB |  00m05s
β”‚  [ 5/53] bubblewrap-0:0.10.0-1.fc41.x86_ 100% |   4.5 KiB/s |  62.7 KiB |  00m14s
β”‚  [ 6/53] python3-boom-0:1.6.6-1.fc41.noa 100% |   5.6 KiB/s | 573.9 KiB |  01m43s
β”‚  [ 7/53] rpm-ostree-libs-0:2025.11-1.fc4 100% |   2.2 KiB/s |  47.9 KiB |  00m22s
β”‚  [ 8/53] ostree-libs-0:2025.6-1.fc41.x86 100% |   4.1 KiB/s | 487.0 KiB |  02m00s
β”‚  [ 9/53] ostree-0:2025.6-1.fc41.x86_64   100% |   3.3 KiB/s | 288.0 KiB |  01m26s
β”‚  [10/53] bootc-0:1.8.0-1.fc41.x86_64     100% |   3.7 KiB/s |   3.0 MiB |  13m52s
β”‚  [11/53] shadow-utils-subid-2:4.15.1-12. 100% |   1.3 KiB/s |  28.1 KiB |  00m21s
β”‚  [12/53] composefs-libs-0:1.0.8-1.fc41.x 100% |   2.2 KiB/s |  53.6 KiB |  00m25s
β”‚  [13/53] composefs-0:1.0.8-1.fc41.x86_64 100% |   2.3 KiB/s |  59.7 KiB |  00m26s
β”‚  [14/53] rpm-ostree-0:2025.11-1.fc41.x86 100% |   4.0 KiB/s |   4.6 MiB |  19m41s

Here is my /etc/yum.repos.d/fedora.repo (as I said before it is a fresh fedora server 41 iso so this file is default and not touched):

[fedora]
name=Fedora $releasever - $basearch
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
countme=1
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

[fedora-source]
name=Fedora $releasever - Source
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

And I have tried the following:

  • Using rpmdb --rebuilddb or combination of dnf clean all and then dnf makecache. But this did not help the issues.
  • I checked for DNS issues or access to https://mirrors.fedoraproject.org but I am able to ping the site and even curl -L -o fedora41.metalink "https://mirrors.fedoraproject.org/metalink?repo=fedora-41&arch=x86_64" here is my metalinks:
<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/" type="dynamic" pubdate="Tue, 17 Mar 2026 22:17:09 GMT" generator="mirrormanager" xmlns:mm0="http://fedorahosted.org/mirrormanager">
 <files>
  <file name="repomd.xml">
   <mm0:timestamp>1729778159</mm0:timestamp>
   <size>5959</size>
   <resources maxconnections="1">
    <url protocol="http" type="http" location="UA" preference="100">http://fedora-archive.ip-connect.vn.ua/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="https" type="https" location="UA" preference="100">https://fedora-archive.ip-connect.vn.ua/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="rsync" type="rsync" location="UA" preference="100">rsync://fedora-archive.ip-connect.vn.ua/fedora-archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="http" type="http" location="US" preference="99">http://mirror.math.princeton.edu/pub/fedora-archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="rsync" type="rsync" location="US" preference="99">rsync://mirror.math.princeton.edu/pub/fedora-archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="rsync" type="rsync" location="KE" preference="98">rsync://fedora-archive.mirror.liquidtelecom.com/fedora-buffet/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="http" type="http" location="KE" preference="98">http://fedora-archive.mirror.liquidtelecom.com/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="https" type="https" location="KE" preference="98">https://fedora-archive.mirror.liquidtelecom.com/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="https" type="https" location="UA" preference="97">https://fedora-archive.ip-connect.info/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="http" type="http" location="UA" preference="97">http://fedora-archive.ip-connect.info/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="rsync" type="rsync" location="UA" preference="97">rsync://fedora-archive.ip-connect.info/fedora-archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="https" type="https" location="US" preference="96">https://d2lzkl7pfhq30w.cloudfront.net/pub/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="https" type="https" location="DE" preference="95">https://ftp-stud.hs-esslingen.de/pub/Mirrors/archive.fedoraproject.org/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="rsync" type="rsync" location="DE" preference="95">rsync://ftp-stud.hs-esslingen.de/fedora-archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="http" type="http" location="DE" preference="95">http://ftp-stud.hs-esslingen.de/pub/Mirrors/archive.fedoraproject.org/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="https" type="https" location="RO" preference="94">https://mirror.flo.c-f.ro/fedora/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="https" type="https" location="US" preference="93">https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
    <url protocol="http" type="http" location="US" preference="93">http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
   </resources>
  </file>
 </files>
</metalink>

What I did notice about this ^ is the following:

  1. I don’t have a close mirror to my region NZ
  2. The preference value 100 changes, mostly I get UA location but when I try again sometimes I get UA, DE or US no real relationship between the location I get and the issue, it seems random…

In case anyone is wondering:

  1. No I do not have anything on my /etc/dnf/dnf.conf:
# see `man dnf.conf` for defaults and possible options

[main]
  1. Yes I have tried using dnf5 command it is the same issue.

My best guess is the issue is related to getting KiB in download speed (but this might be a red herring) what is strange is it only started happening this Saturday 14/03/2026 NZDT, on Thursday 12/03/2026 doing reflashes this issue did not occur.

Did anything happen on fedora’s side that I missed?

I think the primary issue here is that Fedora 41 is long EOL (end of life), and so mirrors are no longer storing its packages. You can get them from the archives by updating your repository config file to point to them directly:

However, this is not recommended. The recommendation here is to use a supported Fedora release. F43 would be the latest one, with F44 coming out soon.

4 Likes

To add to that, an update from version N to N+2 is supported, directly to N+3 is not officially supported (see β€œUpgrading Fedora Linux Using DNF System Plugin”). So, when F44 is released, you may have to update your F41 installation to F43 anyway as an intermediate step, you might as well do it now.

1 Like