In trying to install the latest version of R on CentOS 7 through EPEL, I ran the following command:

yum --enablerepo=epel clean metadata

After this, my yum install refuses to work and gives me the following output:

Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile

 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>
            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

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: centosplus/7/x86_64

I've tried the various solutions available to tackle this problem, but nothing works. I feel like I probably messed something up when I cleaned metadata, but I have no idea how to fix this. (I am unfamiliar with the inner workings of Linux OS).

When I do cat /etc/yum.repos.d/CentOS-Base.repo, I get:

[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# 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, as a fall back you can try the 
# remarked out baseurl= line instead.

name=CentOS-$releasever - Base

#released updates 
name=CentOS-$releasever - Updates

#additional packages that may be useful
name=CentOS-$releasever - Extras

#additional packages that extend functionality of existing packages
name=CentOS-$releasever - Plus
  • More clarity is needed. What did you try? Add that to the question. Also, add the output of cat /etc/yum.repos.d/CentOS-Base.repo to the question. Jun 26 at 13:56
  • @NasirRiley thanks, I've added the information now. I'd appreciate any help on this. Jun 27 at 3:12
  • Does it work if you uncomment this line: #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/, run yum clean all, and then try again? If you aren't using the CentOS Plus repo, then you can also just disable it. Jun 27 at 12:01
  • @NasirRiley I get a similar error, except now I have the following message at the end Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again Jun 27 at 14:54
  • That means that it can't resolve the EPEL repo. If you disable it, does it work? Jun 28 at 12:06


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.