又是一年过去,忽然接到通知,要求更新一个之前做的展示系统,就想起来要更新一下系统。结果使用 yum list kernel.x86_64 提示 Cannot find a valid baseurl for repo: base

更换国内源也不行,看了http://mirrors.163.com/centos/6.10/readme 文件,发现官方自 2020/11/30 起就禁止 CentOS 6.x 更新了(文件被清空)。呜呜,真是后知后觉了!

su
cd /etc/yum.repos.d/
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.original
    # 系统是根据 Base*.repo 来判别基础源的,因此备份的时候必须修改扩展名

gedit CentOS-Base.repo
    # 国外 http://vault.centos.org/6.10
    # 国内 http://mirrors.aliyun.com/centos-vault/6.10/;

mv epel.repo epel.original
gedit epel.repo 
    # 网址替换为 http://archives.fedoraproject.org/pub/archive/epel/6/x86_64/ 即可
    # 国内(好像不行了) http://mirrors.aliyun.com/epel-archive/6/
rm -f /var/run/yum.pid
yum clean all
yum makecache
yum repolist

网友多喜欢用 vim ,我是普通人,我就是喜欢使用 gedit ,用上边提到的网址将文件中的网址替换一下就搞定了;如果可能需要滚动升级到下一个版本的,请参考修改一下网址的表达方式就行了。

你问我怎么更换国内源,方法和上边是一样的——都是更换源嘛!至于国内源有哪些,可以了解一下清华、阿里云、网易、搜狐、中科大等源。当然,如果想简单一点的话,还可以

su

# 备份
mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bck

# 下载替换源(依次为网易、阿里、中科大、搜狐)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://centos.ustc.edu.cn/CentOS-Base.repo
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

# 更新系统源数据库
yum clean all
yum makecache
yum repolist

当然,也可以用这种方法:

su
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo

国内源是真的快,不用真的不知道!

参考文献

  1. 清华大学TUNA团队.CentOS 镜像使用帮助[EB/OL].https://mirrors.cnnic.cn/help/centos/, 2021/02/01.

  2. fogwu.centos6 yum源失效,yum不可用处理方法及php环境搭建[EB/OL].https://www.cnblogs.com/fogwang/p/14133970.html, 2021/02/01.