我在带有 NAT 的 VirtualBox 上运行 CentOS 6.6。我使用代理并配置了代理设置;虚拟机与互联网通信正常。
当我尝试通过 yum 安装任何内容或进行 yum 更新时,收到以下错误:
# yum update
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Update Process
Determining fastest mirrors
epel/metalink | 6.0 kB 00:00
* epel: dl.fedoraproject.org
* extras: linux.cc.lehigh.edu
* updates: centos.sonn.com
base | 3.7 kB 00:00
base/primary_db | 4.6 MB 00:00
file:///var/ftp/pub/repos/OS/CentOS/6.6/x86_64/os/repodata/repomd.xml: [Errno 14] Could not open/read file:///var/ftp/pub/repos/OS/CentOS/6.6/x86_64/os/repodata/repomd.xml
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: centos-base. Please verify its path and try again
/var/ftp/... 中的路径不存在,因此我创建了它,但唯一的变化是错误从文件访问错误切换为表示 repomd.xml 文件已损坏的错误。如果我尝试去yum install <package>
我的地方--disablerepo=<every repo except epel>
,它就会成功。
有人知道这里发生了什么吗?
答案1
您的 CentOS 已配置了本地存储库。您必须在 中编辑您的存储库/etc/yum.repos.d
。这里是一个样本/etc/yum.repos.d/CentOS-bas.repo
答案2
清理元数据文件(所有repomd.xml
文件):
# yum clean metadata
然后再试一次。看起来您曾经一度在/var/ftp
.检查您的/etc/yum.repos.d/CentOS-Base.repo
文件以确认它正在互联网上查找软件包。该文件至少应该有这样的内容[base]
:[updates]
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.cc.ltgc.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
请注意,该mirrorlist
行未注释。
答案3
感谢其他发帖者提醒我它正在寻找本地存储库;事实证明,EPEL 存储库配置(出于某种原因)设置为使用本地文件路径覆盖 centos-base 存储库配置。我删除了这个,现在一切正常。