6

I install fresh Cent-OS 7 but when i want to update or get new packages i get
this error:

Loaded plugins: fastestmirror, langpacks
 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. Disable the repository, 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>

 4. 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: base/7/x86_64`

and this is yum repolist all:

repo id                                                              repo name                                                              status
C7.0.1406-base/x86_64                                                CentOS-7.0.1406 - Base                                                 disabled
C7.0.1406-centosplus/x86_64                                          CentOS-7.0.1406 - CentOSPlus                                           disabled
C7.0.1406-extras/x86_64                                              CentOS-7.0.1406 - Extras                                               disabled
C7.0.1406-fasttrack/x86_64                                           CentOS-7.0.1406 - CentOSPlus                                           disabled
C7.0.1406-updates/x86_64                                             CentOS-7.0.1406 - Updates                                              disabled
base/7/x86_64                                                        CentOS-7 - Base                                                        enabled: 0
base-debuginfo/x86_64                                                CentOS-7 - Debuginfo                                                   disabled
base-source/7                                                        CentOS-7 - Base Sources                                                disabled
centosplus/7/x86_64                                                  CentOS-7 - Plus                                                        disabled
centosplus-source/7                                                  CentOS-7 - Plus Sources                                                disabled
cr/7/x86_64                                                          CentOS-7 - cr                                                          disabled
extras/7/x86_64                                                      CentOS-7 - Extras                                                      enabled: 0
extras-source/7                                                      CentOS-7 - Extras Sources                                              disabled
fasttrack/7/x86_64                                                   CentOS-7 - fasttrack                                                   disabled
updates/7/x86_64                                                     CentOS-7 - Updates                                                     enabled: 0
updates-source/7                                                     CentOS-7 - Updates Sources                                             disabled
repolist: 0

and content of /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.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

after Uncomment the baseurl in the CentOS-Base.repo I got this error
again but with different in the last :

failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirror.centos.org/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirror.centos.org; Unknown error"
  • Could you include your current configuration for the base/7/x86_64 repo? – nKn Jan 6 '16 at 8:50
  • your mean is /etc/yum.repos.d/ folder?? @nkn – MEAM Jan 6 '16 at 9:25
  • may give me the full path? @nkn – MEAM Jan 6 '16 at 9:26
  • Yes, you probably have there several base definitions as per your output. Include the one that references base/7/x86_64. – nKn Jan 6 '16 at 9:27
  • i think your mean is : /etc/yum.repos.d/CentOS-Base.repo @nkn – MEAM Jan 6 '16 at 9:28
7

The reason why it fails is because yum needs to know what the repo URL is. In your configuration file, you have this:

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

The # sign means it is commented, thus, yum will ignore that line and won't know which the URL is. Simply remove the hash sign and then use yum normally.

Note: You should remove it from any baseurl that you have commented, as the other repos are important as well.

| improve this answer | |
  • all of repo? [update][base] and ...?? @nkn – MEAM Jan 6 '16 at 9:40
  • Yes, if you don't want to use a repo, rather add the enabled=0 option to them, but the baseurl should always be active. – nKn Jan 6 '16 at 9:41
  • Another error ... see edited question @nkn – MEAM Jan 6 '16 at 10:01
  • Is It need any rebuild after editing this files??? @nkn – MEAM Jan 6 '16 at 10:03
  • That looks like a DNS resolution error. Edit your /etc/resolv.conf file and add this line: nameserver 8.8.8.8, then try again. – nKn Jan 6 '16 at 10:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.