2017-02-09 627 views
0

我想在CentOS上安装一个软件包,但是当我运行“yum”命令时会引发错误。互联网连接工作正常。 我尝试去干净所有,但问题仍然存在。centos yum无法安装任何东西或更新系统

错误:

[[email protected] ~]# yum install ntp 

Loaded plugins: fastestmirror 


    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: base/$releasever/x86_64 

我百胜repolist是下一个:

[[email protected] ~]# yum repolist list 
Loaded plugins: fastestmirror 
https://yum.dockerproject.org/repo/main/centos/%24releasever/repodata/repomd.xml: [Errno 14] HTTPS Error 403 - Forbidden 
Trying other mirror. 
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/solutions/69319 

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/ 

repolist: 0 

如果我列出repolist:

[[email protected] ~]# yum repolist 
Loaded plugins: fastestmirror 
https://yum.dockerproject.org/repo/main/centos/%24releasever/repodata/repomd.xml: [Errno 14] HTTPS Error 403 - Forbidden 
Trying other mirror. 
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/solutions/69319 

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/ 

repo id        repo name        status 
base/$releasever/x86_64    CentOS-$releasever - Base    0 
dockerrepo/$releasever    Docker Repository      0 
extras/$releasever/x86_64   CentOS-$releasever - Extras   0 
updates/$releasever/x86_64   CentOS-$releasever - Updates   0 
repolist: 0 
+0

使用命令'yum repolist'列出回购站并发布您尝试的输出'yum repolist list',但它看起来像码头存储库存在问题 –

+0

谢谢!我将输出添加到描述中。你可以检查一下吗? @MichalHainc –

+0

此命令是否显示一些信息? cat /etc/yum.repos.d/docker.repo –

回答

1

前可以试用一下这个,有一个备份你的机器,你可能会损害你的操作系统更多/完全

看来你的yum变量$ releasever是不知何故损坏的, 它通常是由于一些不明原因在机器上丢失了centos-release包引起的。

您可以检查是否有包装方式:

rpm -qi centos-release 

你可能会看到:

"package centos-release is not installed" 

首先发现,你必须以root身份执行确切的CentOS版本:

cat /etc/redhat-release 

你会看到这样的:

CentOS Linux release 7.3.1611 (Core) 

您可以通过回购获取centos-release组件:

wget http://vault.centos.org/centos/7.3.1611/updates/x86_64/Packages/centos-release-7-3.1611.el7.centos.2.5.x86_64.rpm 

现在运行通过转重新安装centos-release组件:

sudo rpm -Uvh --replacepkgs centos-release-7-3.1611.el7.centos.2.5.x86_64.rpm 

至于未来,你可以尝试安装的东西与百胜,你可能会得到:

[[email protected] ikerlan]# sudo yum install wget 
    error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch 
    error: cannot open Packages index using db5 - (-30969) 
    error: cannot open Packages database in /var/lib/rpm 
    CRITICAL:yum.main: 

    Error: rpmdb open failed 

现在你可以尝试重新启动Ë机或尝试使用下面的命令重建转DB:

rpm --rebuilddb 
0

试图在CentOS 7.安装MariaDB的时候我是超级沮丧,并经过多次搜索找到了答案,在这个link我就遇到了这个问题。

这是什么解决了我的问题。以root身份运行。

# yum --disablerepo "*" --enablerepo epel install [package] 
# yum clean all 

“埃佩尔”可以是任何你喜欢的回购,但这一个为我工作。将[package]放在命令中就像写入的一样,而不是你想要安装的软件包。

运行上述步骤后,退出root并在遇到错误之前运行您尝试的任何安装。