CentOS系统yum源使用报错:Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge.

本文介绍了解决CentOS系统中yum无法正常使用的问题,通过更换为阿里云的yum源,并提供不同版本CentOS的配置方法。

http://www.cnblogs.com/kevingrace/p/6252659.html


服务器上的yum突然不好使用,使用yum的时候报错如下:
[root@bastion-IDC src]# yum list
......
Could not retrieve mirrorlist http://mirrorlist.repoforge.org/el6/mirrors-rpmforge error was
14: PYCURL ERROR 7 - "couldn't connect to host"
http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/repodata/repomd.xml: [Errno 14] 
PYCURL ERROR 7 - "couldn't connect to host"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge. 
Please verify its path and try again

解决办法:(或者把/etc/yum.repos.d下的文件全部删除,然后将能正常使用yum的同类服务器的这个目录下的文件全部拷贝过来,然后yum clean all 和yum makecache 即可)
下载新的CentOS-Base.repo 到/etc/yum.repos.d/
[root@bastion-IDC src]# cd /etc/yum.repos.d/
其实就是将yum源更改为阿里云的yum源,操作如下:

1)centos5.*的下载连接:
[root@bastion-IDC yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

2)centos6.*的下载连接:
[root@bastion-IDC yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

3)centos7.*的下载连接:
[root@bastion-IDC yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

然后执行以下命令:
[root@bastion-IDC yum.repos.d]# rpm -e rpmforge-release --nodeps
-------------------------------------------------------------------------------------------------------------
如果报错:
error: package rpmforge-release is not installed

解决办法:安装这个源
下载地址:https://pan.baidu.com/s/1pKBtm11
提取密码:erte
[root@bastion-IDC yum.repos.d]# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
-------------------------------------------------------------------------------------------------------------

[root@bastion-IDC yum.repos.d]# yum clean all 
[root@bastion-IDC yum.repos.d]# yum makecache                                   //将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度
[root@bastion-IDC yum.repos.d]# yum update

最后再次使用yum就ok了
[root@bastion-IDC yum.repos.d]# yum list


### 三级标题:解决无法检索仓库元数据 repomd.xml 的错误 在使用 `yum` 或 `dnf` 命令进行软件包管理时,如果遇到 `file:///mnt/repodata/repodata.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/repodata/repomd.xml"` 错误,表明系统无法访问仓库元数据文件 `repomd.xml`。该问题通常与本地仓库配置、挂载状态或文件完整性有关。 首先,确认 `/mnt` 目录中是否包含有效的仓库数据。如果使用的是光盘镜像作为本地仓库,则需要确保光盘已正确挂载。可以通过以下命令挂载光盘并验证其内容: ```bash mount /dev/cdrom /mnt ls /mnt ``` 若挂载成功,目录中应包含 `Packages`、`repodata` 等子目录,并且 `repodata` 目录下应包含 `repomd.xml` 文件。若该文件缺失或损坏,可从其他可信下载该文件并放置到 `/mnt/repodata/` 目录中,以修复仓库元数据缺失的问题[^1]。 其次,检查 `/etc/yum.repos.d/` 目录下的仓库配置文件是否正确指向挂载目录。一个有效的本地仓库配置文件应包含如下内容: ```ini [centos] name=CentOS DVD baseurl=file:///mnt gpgcheck=0 enabled=1 ``` 确保 `baseurl` 指向正确的挂载路径(如 `/mnt`),并且 `enabled=1` 表示该仓库已启用。 在完成上述配置后,建议清除 `yum` 缓存并重建元数据缓存: ```bash yum clean all yum makecache ``` 此操作将删除旧的缓存数据,并重新加载仓库元数据,确保系统能够正确识别和使用本地仓库。 如果系统提示 `/var/run/yum.pid` 被锁定,表示有其他 `yum` 进程正在运行。可以通过以下命令终止该进程: ```bash kill -9 $(cat /var/run/yum.pid) ``` 完成后,再次运行 `yum repolist all` 检查仓库是否已正确加载。 ### 相关问题 1. 如何在 CentOS 系统中判断当前使用的是 `yum` 还是 `dnf`? 2. 安装 `dnf` 后仍然提示“找不到命令”应如何排查? 3. 在 RHEL 系统中如何启用 EPEL 仓库以扩展 `yum` 或 `dnf` 的软件包来? 4. 使用 `yum` 和 `dnf` 时如何查看已安装软件包的依赖关系?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值