yum更新安装时报错:Cannot find a valid baseurl for repo: base/7/x86_64
cd /etc/yum.repos.d/ 这个文件夹下面就是yum源
base源报错,找到CentOS-Base.repo文件,
先备份:mv CentOS-Base.repo CentOS-Base.bak
然后修改文件内容,一般出现baseurl,有时候是文件中使用了mirrorlist的地址,
而#注释了baseurl的地址,这种情况直接注释#mirrorlist,取消baseurl前的#。如下图:
把几个绿色项全部注释,baseurl前的#全部去掉。
再比如安装ffmpeg时,CentOS7需要安装额外的扩展源rpmfusion-free-release-7.noarch.rpm、rpmfusion-nonfree-release-7.noarch.rpm、nux-dextop-release-0-5.el7.nux.noarch.rpm等。
也是报错:Cannot find a valid baseurl for repo:
这种情况同上,注释mirrorlist,释放baseurl,这两个地址。
另外一种报错:failure: repodata/bc76c4dda8b2de78ef78a3e1855c8c2c6c37b185b1de78eda73b5bcd9f-primary.sqlite.bz2
yum源更新地址:http://mirror.centos.org/centos/7/updates/x86_64/repodata/
这是CentOS的yum源替换地址后更新时,并没有在提示报错的更新地址中找到bc76c4dda8b2de78ef78a3e1855c8c2c6c37b185b1de78eda73b5bcd9f-primary.sqlite.bz2这个文件,如图:
然后,查找了一下repomd.xml文件,文件中都是关于上面的一堆更新文件的配置,再然后,我又在自己的报错服务器中查找repomd.xml文件:find / -name repomd.xml
然后打开文件,果然,文件中出现了报错中的文件,但是在现有地址中并不存在。
这个原因并不清楚,可能是以前的缓存,但是并不影响,我们直接下载新文件替换服务器上的报错文件repomd.xml
然后在更新,更新成功。