CentOS 7 End of Life: How to Revive Yum When the Official Mirrorlist Is Gone

CentOS tutorial - IT technology blog
CentOS tutorial - IT technology blog

The Mirrorlist Error: When CentOS 7 Officially Retired

If you’re managing a VPS running CentOS 7, you’ve probably been running into a frustrating wall lately. Every time you run yum update or yum install, the screen throws back the same error: “Could not retrieve mirrorlist http://mirrorlist.centos.org…”.

June 30, 2024 was the day CentOS 7 officially reached End of Life (EOL). The official mirrors were decommissioned entirely, leaving the yum package manager completely stranded. You won’t be able to install even the most basic tools like vim, wget, or git until you fix this.

Back in July, I dealt with a customer’s web server that had gone down. The server was still pingable and the network was fine, but I couldn’t get Nginx to install no matter what. After digging in, I found that all the repo files were still pointing to mirrorlist endpoints that no longer existed. I applied the fix below across more than 10 servers and every single one came back up immediately.

Why Is Your System Throwing This Error?

Previously, the mirrorlist script would automatically find the closest server to you to download packages from. When the project ended, the CentOS team archived all the old packages into a repository called the Vault (vault.centos.org).

Think of the Vault like a storage unit for old software. Everything is still there, but it no longer receives security patches. The catch is that the configuration files on your machine don’t automatically redirect to this archive. To keep using your system, you have to manually point yum to the Vault yourself.

3 Steps to Redirect Your CentOS 7 Repos to Vault

Here’s the quick process to bring your package manager back to life.

Step 1: Back Up Your Old Config First

Before touching anything on the system, I always back up first. If you mistype a sed command, you’ll still have a way to roll back and start over.

mkdir /etc/yum.repos.d/backup
cp /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

Step 2: Redirect the Repos to Vault Using sed

Rather than editing each file manually with vi, I use sed to do bulk replacements. You need to disable mirrorlist and point baseurl to vault.centos.org.

Copy and run the following commands as root:

# Disable the old mirrorlist
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo

# Redirect baseurl to the vault address
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo

Some installations use the https protocol or have slightly different configurations. If the commands above don’t do the trick, try this more general command instead:

sed -i 's/mirror.centos.org/vault.centos.org/g' /etc/yum.repos.d/CentOS-*.repo

Step 3: Clear the Cache and Verify

Finally, you need to clear the old cache so yum picks up the new Vault URLs.

yum clean all
yum makecache

If you see “Metadata Cache Created”, you’re all set. Go ahead and try installing a package to confirm everything is working.

Don’t Forget to Fix Your EPEL Repo Too

Many CentOS 7 users also have the EPEL repository installed for extended package support. Just like the core repos, EPEL for CentOS 7 has also been pushed into an archive.

To fix the EPEL error, run the following:

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/epel*.repo
sed -i 's|#baseurl=https://download.fedoraproject.org/pub/epel/|baseurl=https://archives.fedoraproject.org/pub/archive/epel/|g' /etc/yum.repos.d/epel*.repo

A Word of Advice: It’s Time to Plan Your Migration

Pointing your repos at the Vault is a stopgap measure to keep an old system limping along. From an operational standpoint, I’d strongly advise against running CentOS 7 for anything important going forward.

  • Security risk: With no more patches, your server will be increasingly vulnerable to newly discovered exploits.
  • Outdated software: Newer versions like PHP 8.x and the latest MySQL releases are gradually dropping support for this OS.
  • Cloud deprecation: Major cloud providers like AWS and Google Cloud are also phasing CentOS 7 images out of their catalogs.

The best path forward is migrating to AlmaLinux 9 or Rocky Linux 9. Both are 1:1 compatible with RHEL, which means your existing code and operational scripts will carry over with minimal friction.

Conclusion

The mirrorlist error is ultimately just a reminder that CentOS 7 has served its purpose. By switching to vault.centos.org, you can keep installing packages in the short term. But use that time wisely — start planning your upgrade to a supported OS to keep your infrastructure secure for the long haul.

Share: