[MIRROR] NetworkManager-1.37.2-1.el8.x86_64.rpm: Status code: 404 for http://mirrors.linode.com/centos/8-stream/BaseOS/x86_64/os/Packages/NetworkManager-1.37.2-1.el8.x86_64.rpm (IP: 2600:3c02:1::42e4:3f76)
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Error downloading packages:
NetworkManager-1:1.37.2-1.el8.x86_64: Cannot download, all mirrors were already tried without success
I haven't seen this issue before so I started troubleshooting. It appears that my
/etc/yum.repos.d/CentOS-Stream-Extras.repo file was configured to look at one single source, which was linode.com. I did open the repo URL listed: http://mirrors.linode.com/centos/8-stream/BaseOS/x86_64/os/Packages/ and sure enough the package it tried to download earlier wasn't there. I checked the central repo at http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/ and it did exist, so I can only guess that Linode hasn't refreshed its repo yet.
Anyway, I wanted to make sure I had the latest updates so I changed
/etc/yum.repos.d/CentOS-Stream-Extras.repo to use the
mirrorlist instead. Running
dnf update then worked. I'm not exactly sure why that file was configured to only consider Linode. It's possible that that is the default image Linode provides. My repo file now looks like this:
# The mirrorlist system uses the connecting IP address of the client and the
# update status of each mirror to pick current mirrors that are geographically
# close to the client. You should use this for CentOS updates unless you are
# manually picking other mirrors.
# If the mirrorlist does not work for you, you can try the commented out
# baseurl line instead.
name=CentOS Stream $releasever - Extras
I did notice that my other repo files also point to Linode instead of the mirror list, but I left those alone for now. At least I know what to do if I see issues like this again in the future.