yum使用报错:Cannot find a valid baseurl for repo: base/$releasever/x86_64

本文讲述了在CentOS 7机器上遇到yum安装ntpdate失败的问题,通过更换阿里云yum源,修复了$releasever变量未定义的错误,详细步骤包括备份原有源、替换yum源、安装centos-release并解决报错。
摘要由CSDN通过智能技术生成

 

转自:https://www.cnblogs.com/qa-freeroad/p/13888980.html

 

背景

项目有几台机器(centos7)时间不准,为了让时间能够定时同步,需要安装ntpdate。然而,我在使用yum安装ntpdate的时候却报错了:

Cannot find a valid baseurl for repo: base/$releasever/x86_64

 

原因分析

看到这里我第一反应是centos的yum源有问题。

首先我试了下本机是否能ping外网,结果是可以的。

然后我去网上找了一圈解决此类问题的文章,尝试解决这个问题。

网上主要介绍的是修改/etc/yum.repos.d/下的yum源配置,或者说是修改本地dns解析文件(resolve.cnf),实际上都无法解决。

换个思路

既然这个yum源有问题,是不是我换一个其它好的yum源就可以了?想到这里我就尝试更换成阿里云centos7的yum源。

更换阿里云yum源

备份原yum源

#修改系统配置一定要先备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

 

下载阿里云的镜像源

#阿里云centos7的yum源:http://mirrors.aliyun.com/repo/Centos-7.repo
#阿里云centos6的yum源:http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

重新生成缓存

#清除缓存
yum clean all
#重新生成缓存
yum makecache

 

报错&解决

这里执行yum makecahe报错了:%24releasever这个变量找不到(其实是$releasever)

这里原因是因为没有安装centos-release这个包,执行:

rpm -q centos-release

 

 

所以我们暂时把所有的$releasever替换成7。

打开/etc/yum.repos.d/CentOS-Base.repo,如下图:

 

保存后重新yum makecache成功。

安装centos-release

1)执行如下命令

yum install -y centos-release

2)查询是否安装成功

rpm -q centos-release

如图,此时已经安装成功,那我们可以把原来的/etc/yum.repos.d/CentOS-Base.repo中的7改回$releasever了。

重新下载阿里云yum源

wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

到这里yum安装package的问题就彻底解决了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值