I have a Fedora 41 Server iso (I know is an archive build) but when running dnf makecache the devices get stuck on:
Updating and loading repositories:
Fedora 41 openh264 (From Cisco) - x86_ 100% | 2.5 KiB/s | 5.8 KiB | 00m02s
Fedora 41 - x86_64 - Updates 100% | 12.2 KiB/s | 11.3 MiB | 15m45s
It is not just fedora updates sometimes but also gets the main fedora repo as well.
Here is my /etc/yum.repos.d/fedora.repo:
[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
I have tried the following fixes:
- Running
dnf clean all
- Running
rpmdb --rebuilddb
I am in New Zealand so perhaps the region just has poor access to the repositories? I checked by curling what we have access to: curl -L -o fedora41.metalink "https://mirrors.fedoraproject.org/metalink?repo=fedora-41&arch=x86_64"
And I see this is what we have:
cat fedora41.metalink
<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/" type="dynamic" pubdate="Tue, 17 Mar 2026 00:32:29 GMT" generator="mirrormanager" xmlns:mm0="http://fedorahosted.org/mirrormanager">
<files>
<file name="repomd.xml">
<mm0:timestamp>1729778159</mm0:timestamp>
<size>5959</size>
<verification>
<hash type="md5">a103470107676577f5d80a84171aa0e5</hash>
<hash type="sha1">a0e9b164619ce0f829093b00187c1eff7e3f993b</hash>
<hash type="sha256">cccd8f40de8963c497520d50a3ddbad525f0a180dbcb3841ff892a0f64341b29</hash>
<hash type="sha512">821b280e9b5e74e693b5e239edf36ee41013c0cf888d27b893c833f6b8e361f9633e705d70ac4f6995d150749420216aeffb29610706d851b3667075c346fdb5</hash>
</verification>
<resources maxconnections="1">
<url protocol="rsync" type="rsync" location="KE" preference="100">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="100">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="100">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="DE" preference="99">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="99">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="99">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="http" type="http" location="US" preference="98">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="98">rsync://mirror.math.princeton.edu/pub/fedora-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="RO" preference="96">https://mirror.flo.c-f.ro/fedora/archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
<url protocol="http" type="http" location="UA" preference="95">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="95">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="95">rsync://fedora-archive.ip-connect.vn.ua/fedora-archive/fedora/linux/releases/41/Everything/x86_64/os/repodata/repomd.xml</url>
<url protocol="https" type="https" location="US" preference="94">https://d2lzkl7pfhq30w.cloudfront.net/pub/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>
I do not understand what the root cause of this issue is as I have tried pinging google, checked whether its a DNS issue to the domain mirrors and nothing is showing any issues regarding access to these mirrors.
The root cause is probably that f41 is EOL and has been for almost 6 months. Most mirror repos no longer carry packages for EOL releases.
I strongly suggest an upgrade to a currently supported version (f43). F42 is due to become EOL in about 2 months (shortly after f44 is released) so f43 would be the best choice.
Note that f41 has received no updates of any kind since November.
1 Like
Being EOL doesn’t really explain why those repos hang. When a Fedora goes EOL, the dnf system is modified so the “metalink” call dumps you a bunch of baseurls that are archives.
You proved that in your “curl” dump, all those urls were “archive” ones. The only thing to remember is that the archive repos won’t have any upgrades. Fedora 41’s upgrades stopped around December 2025.
Try running:
sudo dnf repoinfo
and that will list out all the “Base URL” that each “Repo ID”. Actually it lists out a lot of information for each repo but Base URL will be among it all.
For the repo that gets stuck, try copying the Base URL and loading it with a web browser. Does the browser fail to load the page?
Personally I would try circumventing the “mirror” system and just hardcode a baseurl that works. That is take that list of "urls” shown in that curl dump and hardcode one from it as the “baseurl” and comment out the “metalink”. Try one at a time until one works, like here I put in the “dl fedoraproject org pub archive” one since it’s pretty sure to work in /etc/yum.repos.d/fedora.repo:
[fedora]
name=Fedora $releasever - $basearch
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
baseurl=https://dl.fedoraproject.org/pub/archive/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
then try that
@computersavvy Thanks for the reply, I have been using Fedora 41 Server for the last 6 months and I am aware it is EOL, I am running it on servers and also slow to keep up with the fedora cycle hence -I would personally also not recommend anyone staying on EOL- but for my use-case I unfortunately need something more with LTS but also using fedora (I want to always be on the latest but development cycles and keeping up with the fedora releases means I am usually late to upgrade).
Had no issues about a month ago downloading from the archives list. But the issue only is occurring this week.
I will try @marko3209’s recommendations. I think Mark is on to something, I think some of the listed public mirrors for archives are not working for me… which is causing the problems. Will post results soon.
What’s weird is that usually such a hang wouldn’t last long due to a bad mirror host, dnf would rotate to a different mirror eventually. Maybe for EOL cases that doesn’t happen? So my idea was to find a reliable baseurl and hardcode it in your fedora.repo file for the “fedora” repo
Removing the metalink and changing the baseurl to https://dl.fedoraproject.org fixes the issue.
The issue is something related to #metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
As you said Mark, bad mirrors usually switches to another mirror and it happens often for me anyway, but this time around I cannot prove it since I dont know how - but I think I am getting bounced around all the different mirrors? Is that possible? I think the 8 mirrors are passing me around but unsure how to check for this.
Here is dnf repoinfo:
Updating and loading repositories:
Fedora 41 openh264 (From Cisco) - x86_64 100% | 3.0 KiB/s | 5.8 KiB | 00m02s
Fedora 41 - x86_64 - Updates 100% | 1.7 MiB/s | 11.3 MiB | 00m07s
Fedora 41 - x86_64 100% | 2.7 MiB/s | 35.4 MiB | 00m13s
Repositories loaded.
Repo ID : fedora
Name : Fedora 41 - x86_64
Status : enabled
Priority : 99
Cost : 1000
Type : available
Metadata expire : 604800 seconds (last: 2026-03-24 10:15:36)
Skip if unavailable : false
Config file : /etc/yum.repos.d/fedora.repo
URLs :
Base URL : https://ftp-stud.hs-esslingen.de/pub/Mirrors/archive.fedoraproject.org/fedora/linux/releases/41/Everything/x86_64/os/ (15 more)
Metalink : https://mirrors.fedoraproject.org/metalink?repo=fedora-41&arch=x86_64
PGP :
Keys : file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-41-x86_64
Verify repodata : false
Verify packages : true
Repodata info :
Available packages : 76624
Total packages : 76624
Size : 111.1 GiB
Revision : 1729778159
Updated : 2024-10-24 13:55:59
Repo ID : fedora-cisco-openh264
Name : Fedora 41 openh264 (From Cisco) - x86_64
Status : enabled
Priority : 99
Cost : 1000
Type : available
Metadata expire : 1209600 seconds (last: 2026-03-24 10:15:14)
Skip if unavailable : true
Config file : /etc/yum.repos.d/fedora-cisco-openh264.repo
URLs :
Base URL : https://codecs.fedoraproject.org/openh264/41/x86_64/ (1 more)
Metalink : https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-41&arch=x86_64
PGP :
Keys : file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-41-x86_64
Verify repodata : false
Verify packages : true
Repodata info :
Available packages : 6
Total packages : 6
Size : 3.5 MiB
Revision : 1742921832
Updated : 2025-03-25 16:57:12
Repo ID : updates
Name : Fedora 41 - x86_64 - Updates
Status : enabled
Priority : 99
Cost : 1000
Type : available
Metadata expire : 21600 seconds (last: 2026-03-24 10:15:20)
Skip if unavailable : false
Config file : /etc/yum.repos.d/fedora-updates.repo
URLs :
Base URL : https://ftp-stud.hs-esslingen.de/pub/Mirrors/archive.fedoraproject.org/fedora/linux/updates/41/Everything/x86_64/ (15 more)
Metalink : https://mirrors.fedoraproject.org/metalink?repo=updates-released-f41&arch=x86_64
PGP :
Keys : file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-41-x86_64
Verify repodata : false
Verify packages : true
Repodata info :
Available packages : 28855
Total packages : 28855
Size : 63.8 GiB
Revision : 1765762665
Updated : 2025-12-15 02:31:32
Why does it say 15 more ? does it mean there are 15 more base URLs? from the mirrors.fedoraproject.org it says there are only 8 mirrors?
Why does it say 15 more
“dnf repolnfo” shows the real time Base URL that dnf selected for use at that time. So you can tell right then what it selected as the mirror. The 15 number means the mirror list had 16 hosts on it and the “Base URL” string is the one of the 16 it actually selected.
But the “dnf repolist” you showed there still shows the “Metalink” line in the output, I suspect you did the solution edit of the repo file after getting that output copied? After you hard code the baseurl and comment out the metalink, there should no longer be a Metalink in the repoinfo, it should have looked:
dnf repoinfo fedora
Repositories loaded.
Repo ID : fedora
Name : Fedora 41 - x86_64
Status : enabled
Priority : 99
Cost : 1000
Type : available
Metadata expire : 604800 seconds (last: 2026-03-24 10:15:36)
Skip if unavailable : false
Config file : /etc/yum.repos.d/fedora.repo
URLs :
Base URL : Index of /pub/Mirrors/archive.fedoraproject.org/fedora/linux/releases/41/Everything/x86_64/os (15 more)
PGP :
Keys : file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-41-x86_64
Verify repodata : false
Verify packages : true
Repodata info :
Available packages : 76624
Total packages : 76624
Size : 111.1 GiB
Revision : 1729778159
Updated : 2024-10-24 13:55:59
If you want, you can copy the metalink URL, and load it from a web browser. Usually you’ll be presented the “metalink.metalink” file that lists the mirrors. The URLs for the mirrors are in the lines in the file near the bottom that have “<url protocol=…” at the start in the <resources …> section.
But the “dnf repolist” you showed there still shows the “Metalink” line in the output, I suspect you did the solution edit of the repo file after getting that output copied?
TLDR: Yes. I performed the repolist command before applying the solution (or else I would just be returning the base url that you recommend I hardcoded lol) so my response is in reverse order of what I changed in the system.
If you want, you can copy the metalink URL, and load it from a web browser. Usually you’ll be presented the “metalink.metalink” file that lists the mirrors.
I already did this ^ and posted the results in my first post
since its a headless server I cant load it from a web browser I created a fedora41.metalink through the terminal