CentOS 7/8: Solution to yum error "Could not resolve host: mirrorlist.centos.org; Unknown error" (valid in 2024)

SiddharthaSiddhartha
2 min read

yum install -y yum-utils

# Install yum-utils package
yum install -y yum-utils

# Loaded plugins: fastestmirror
# Determining fastest mirrors
# Could not retrieve mirrorlist http://mirrorlist.centos.org?arch=x86_64&release=7&repo=sclo-rh error was
# 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
# One of the configured repositories failed (Unknown),
# and yum doesn't have enough cached data to continue. At this point the only
# safe thing yum can do is fail. There are a few ways to work "fix" this:

# 1. Contact the upstream for the repository and get them to fix the problem.
# 2. Reconfigure the baseurl/etc. for the repository, to point to a working
#    upstream. This is most often useful if you are using a newer
#    distribution release than is supported by the repository (and the
#    packages for the previous distribution release still work).
# 3. Run the command with the repository temporarily disabled
yum --disablerepo=<repoid> ...

# 4. Disable the repository permanently, so yum won't use it by default. Yum
#    will then just ignore the repository until you permanently enable it
#    again or use --enablerepo for temporary usage:
yum-config-manager --disable <repoid>
# or
subscription-manager repos --disable=<repoid>

# 5. Configure the failing repository to be skipped, if it is unavailable.
#    Note that yum will try to contact the repo. when it runs most commands,
#    so will have to try and fail each time (and thus. yum will be be much
#    slower). If it is a very temporary problem though, this is often a nice
#    compromise:
yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

#   Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64

After searching the entire Internet, only this method can effectively solve the problem. The method is as follows:

  1. Enter the directory: cd /etc/yum.repos.d

  2. Open the CentOS-Base.repo file: vi CentOS-Base.repo

  3. Make a copy: cp CentOS-Base.repo CentOS-Base.repo.back

  4. Change the yum source to the Our source

[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

Finally, save and exit, clean and regenerate the yum cache, and successfully solve the problem

yum clean all
yum makecache

DONE!

0
Subscribe to my newsletter

Read articles from Siddhartha directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Siddhartha
Siddhartha