我已经在我的服务器上安装了 CentOs 7 并由于一些未知的原因意识到(至少对我来说),默认的 yum 存储库不起作用。
例如我尝试过yum install vim
但得到了
加载的插件:fastestmirror
配置的存储库之一失败(未知),并且 yum 没有足够的缓存数据来继续。此时 yum 能做的唯一安全的事情就是失败。有几种方法可以“修复”这个问题:
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
找不到存储库的有效基本 URL:addons/7
我在网上搜索以了解问题所在,但找不到任何信息。所以我决定我应该添加默认存储库,这些存储库应该是我自己默认添加的。
但我不知道怎么做。
那么有没有办法做到这一点并使 yum 工作呢?
我下载CentOs 7的链接:
http://mirror.teklinks.com/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-Everything-1611.iso
编辑2
考虑到我的 CentOS 版本,通过清理所有存储库并从此处添加新存储库,错误消失了:
# yum clean all
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# rpm -Uvh http://dl.atrpms.net/all/atrpms-repo-7-7.el7.x86_64.rpm
# rpm -Uvh http://repo.webtatic.com/yum/el7/webtatic-release.rpm
但现在通过运行yum install vim
我得到:
加载的插件:fastestmirror
从缓存的主机文件加载镜像速度
* epel: ftp.riken.jp
* remi-safe: rpms.remirepo.net
* webtatic: uk.repo.webtatic.com
没有可用的 vim 软件包。
错误:无事可做
答案1
您忽略了添加默认的 CentOS 7.x 存储库,这可能就是您遇到问题的原因。顺便说一句,您可以通过获取另一个 RPM 来解决此问题:
$ rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/centos-release-7-6.1810.2.el7.centos.x86_64.rpm
笔记:您可以通过查询来了解要获取的 RPM,rpm
以查看给定文件提供的 RPM。在我们的例子中这些文件:
$ rpm -qf /etc/yum.repos.d/CentOS-* | sort -u
centos-release-7-6.1810.2.el7.centos.x86_64
一旦我们重新安装此 RPM,它将刷新 .repo 下的基本存储库文件/etc/yum.d
。如果我们不知道下载的 URL,我们可以再次查询 RPM 来查找。
首先记下 RPM 的名称:
$ rpm -qi centos-release-7-6.1810.2.el7.centos.x86_64 | grep Name
Name : centos-release
然后搜索pkgs.org对于这个短名称,它将引导您到我在上面的命令中显示的 URL rpm -ivh ...
。
笔记:相同的步骤适用于 CentOS 7.3 或您当前使用的任何 CentOS 版本。
答案2
配置存储库源的文件位于
/etc/yum.conf
/etc/yum.repos.d/*
验证这些文件是否具有正确的存储库链接。特别是其中的一个/etc/yum/repos.d
您可能需要 sudo 访问权限才能编辑它们。它们相当于/etc/apt/sources.list
基于 Debian 的系统