centos yum文件中的$releasever 无法被识别

今天再更新一台centos-7的服务器时候,开始yum 不可用,敲入yum 命令什么不不加,长时间不能加载,后面发现是dns没有配置,导致linux服务器不能上网,解决上网后

yum 命令一直报错,报错原因是rpmdb损坏,通过 cd /var/lib/rpm  删除里面全部文件,然后通过 rpm --rebuilddb 重建rpm数据库,最后通过yum clean all ,然后使用

yum makecache 又出现错误

错误如下:

http://mirrors.aliyun.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found

Trying other mirror. To address this issue please refer to the below wiki article

这种错误 不知道是啥意思,望知道的小伙伴帮忙!

请先 登录 后评论

1 个回答

shitian
擅长:linux服务器和mysql数据库

报错的原因是 yum 源中的变量 $releasever无法被解析,这个变量:

  1. yum中的变量$releasever是由/etc/yum.conf中的distroverpkg定义的
  2. “distroverpkg=centos-release”  #将 $releasever设置为centos-release 这个RPM包的版本号
  3. centos-release是一个rpm包(通过:rpm可以查询到该软件包并没有被安装)
    rpm -q centos-release

如果不能解析,很有可能 centos-release 这个rpm包没有安装,解决方法也很简单:

  1. 由于$releasever无法被识别,无法使用yum安装,可以修改yum源文件,把$releasever全部替换为7(注意先备份源文件)
  2. 通过yum安装centos-release
    yum install centos-release -y
请先 登录 后评论
  • 1 关注
  • 0 收藏,591 浏览
  • 每天惠23 提出于 2023-07-29 20:34

相似问题