文章目录
一、遇到问题
二、原因分析
三、解决问题
方案一:更新centos提供的yum源新地址
1. yum源仓库配置文件内容
2. 更新yum源新地址
3. 测试yum安装命令
方案二:更新为 国内的yum源
1. 使用 阿里的yum源
2. 使用 网易的yum源
3. 使用 清华的yum源
四、总结
一、遇到问题
刚安装的CentOS 8服务器,在使用一些常见命令时,发现找不到这些命令,然后使用yum在线安装这些命令时报错:【错误:为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist】[root@Chen ~]# ifconfig -bash: ifconfig: 未找到命令 [root@Chen ~]# wget -bash: wget: 未找到命令 [root@Chen ~]# vim test.txt -bash: vim: 未找到命令 [root@Chen ~]# yum -y install net-tools CentOS Linux 8 - AppStream 15 B/s | 38 B 00:02 错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist [root@Chen ~]# yum list CentOS Linux 8 - AppStream 79 B/s | 38 B 00:00 错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist
二、原因分析
在网上查阅资料得知,CentOS Linux 8 版本的操作系统在 2021-12-31 就结束了生命周期(EOL),Linux 社区不再维护该版本的操作系统,CentOS Linux 8 的镜像及yum源一起迁移到了 https://vault.centos.org
三、解决问题
原因已经明确了,CentOS 8 的yum源失效了,那就更新下yum源呗,下边提供几个解决方案供参考。
CentOS Linux 8 的 yum 源仓库配置文件:[root@Chen ~]# cd /etc/yum.repos.d/ [root@Chen yum.repos.d]# ls CentOS-Linux-AppStream.repo CentOS-Linux-Devel.repo CentOS-Linux-Media.repo CentOS-Linux-BaseOS.repo CentOS-Linux-Extras.repo CentOS-Linux-Plus.repo CentOS-Linux-ContinuousRelease.repo CentOS-Linux-FastTrack.repo CentOS-Linux-PowerTools.repo CentOS-Linux-Debuginfo.repo CentOS-Linux-HighAvailability.repo CentOS-Linux-Sources.repo
方案一:更新centos提供的yum源新地址
1. yum源仓库配置文件内容
先来看下源文件内容(删掉了一些注释),以CentOS-Linux-BaseOS.repo为例。[root@Chen yum.repos.d]# cat CentOS-Linux-BaseOS.repo [baseos] name=CentOS Linux $releasever - BaseOS mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra #baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
2. 更新yum源新地址
将 CentOS-Linux-*.repo 所有文件内容做如下修改:
1)注释掉 "mirrorlist=..." 配置内容
2)取消 "baseurl=..." 的注释,同时将 mirror.centos.org 替换为 vault.centos.org
执行如下命令,完成上述修改[root@Chen yum.repos.d]# sed -i -e "s/mirrorlist=/#mirrorlist=/g" /etc/yum.repos.d/CentOS-Linux-*.repo [root@Chen yum.repos.d]# sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Linux-*.repo [root@Chen yum.repos.d]# cat CentOS-Linux-BaseOS.repo [baseos] name=CentOS Linux $releasever - BaseOS #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra baseurl=http://vault.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
3. 测试yum安装命令[root@Chen yum.repos.d]# yum -y install net-tools CentOS Linux 8 - AppStream 3.1 MB/s | 8.4 MB 00:02 CentOS Linux 8 - BaseOS 2.6 MB/s | 4.6 MB 00:01 CentOS Linux 8 - Extras 11 kB/s | 10 kB 00:00 依赖关系解决。 ============================================================================================================================== 软件包 架构 版本 仓库 大小 ============================================================================================================================== 安装: net-tools x86_64 2.0-0.52.20160912git.el8 baseos 322 k 事务概要 ============================================================================================================================== 安装 1 软件包 总下载:322 k 安装大小:942 k 下载软件包: net-tools-2.0-0.52.20160912git.el8.x86_64.rpm 613 kB/s | 322 kB 00:00 ------------------------------------------------------------------------------------------------------------------------------ 总计 610 kB/s | 322 kB 00:00 CentOS Linux 8 - BaseOS 148 kB/s | 1.6 kB 00:00 导入 GPG 公钥 0x8483C65D: Userid: "CentOS (CentOS Official Signing Key)
" 指纹: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D 来自: /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial 导入公钥成功 运行事务检查 事务检查成功。 运行事务测试 事务测试成功。 运行事务 准备中 : 1/1 安装 : net-tools-2.0-0.52.20160912git.el8.x86_64 1/1 运行脚本: net-tools-2.0-0.52.20160912git.el8.x86_64 1/1 验证 : net-tools-2.0-0.52.20160912git.el8.x86_64 1/1 已安装: net-tools-2.0-0.52.20160912git.el8.x86_64 完毕!
验证yum命令安装软件已正常可用!撒花 ✿✿ヽ(°▽°)ノ✿
方案二:更新为 国内的yum源
在演示方案二之前,先将已有的yum源仓库配置文件备份[root@Chen yum.repos.d]# mkdir backup && mv CentOS-Linux-*.repo backup [root@Chen yum.repos.d]# yum install wget 错误:在"/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d"中没有被启用的仓库。
1. 使用 阿里的yum源
1)使用 wget 或 curl 命令 下载阿里的yum源仓库配置文件wget -O /etc/yum.repos.d/CentOS-Linux-Base-ali.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
curl -o /etc/yum.repos.d/CentOS-Linux-Base-ali.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
(我的Linux系统,wget命令不可用,我用curl)[root@Chen yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Linux-Base-ali.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2495 100 2495 0 0 4346 0 --:--:-- --:--:-- --:--:-- 4339
[root@Chen yum.repos.d]# ls
backup CentOS-Linux-Base-ali.repo
2)验证yum安装命令[root@Chen yum.repos.d]# yum -y install wget
CentOS-8.5.2111 - Base - mirrors.aliyun.com 39 kB/s | 3.9 kB 00:00
CentOS-8.5.2111 - Extras - mirrors.aliyun.com 20 kB/s | 1.5 kB 00:00
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com 31 kB/s | 4.3 kB 00:00
依赖关系解决。
==============================================================================================================================
软件包 架构 版本 仓库 大小
==============================================================================================================================
安装:
wget x86_64 1.19.5-10.el8 AppStream 734 k
安装依赖关系:
libmetalink x86_64 0.1.3-7.el8 base 32 k事务概要
==============================================================================================================================
安装 2 软件包总下载:766 k
安装大小:2.8 M
下载软件包:
(1/2): libmetalink-0.1.3-7.el8.x86_64.rpm 181 kB/s | 32 kB 00:00
(2/2): wget-1.19.5-10.el8.x86_64.rpm 2.5 MB/s | 734 kB 00:00
------------------------------------------------------------------------------------------------------------------------------
总计 2.6 MB/s | 766 kB 00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : libmetalink-0.1.3-7.el8.x86_64 1/2
安装 : wget-1.19.5-10.el8.x86_64 2/2
运行脚本: wget-1.19.5-10.el8.x86_64 2/2
验证 : libmetalink-0.1.3-7.el8.x86_64 1/2
验证 : wget-1.19.5-10.el8.x86_64 2/2已安装:
libmetalink-0.1.3-7.el8.x86_64 wget-1.19.5-10.el8.x86_64完毕!
2. 使用 网易的yum源
1)新建一个 CentOS-Linux-Base-tsinghua.repo 文件,使用vi命令编辑并保存如下内容:[baseos]
name=CentOS-8.5.2111 - BaseOS - mirrors.163.com
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/BaseOS/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that may be useful
[extras]
name=CentOS-8.5.2111 - Extras - mirrors.163.com
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/extras/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-8.5.2111 - Plus - mirrors.163.com
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/centosplus/$basearch/os/
gpgcheck=0
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-Official[PowerTools]
name=CentOS-8.5.2111 - PowerTools - mirrors.163.com
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/PowerTools/$basearch/os/
gpgcheck=0
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream]
name=CentOS-8.5.2111 - AppStream - mirrors.163.com
baseurl=http://mirrors.163.com/centos-vault/8.5.2111/AppStream/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-Official
2)测试网易163的yum源
注意:在测试163的yum源之前,先把之前的阿里yum源仓库配置文件移动到backup目录[root@Chen yum.repos.d]# mv CentOS-Linux-Base-ali.repo backup
[root@Chen yum.repos.d]# yum -y install tree
CentOS-8.5.2111 - BaseOS - mirrors.163.com 252 kB/s | 4.6 MB 00:18
CentOS-8.5.2111 - Extras - mirrors.163.com 27 kB/s | 10 kB 00:00
CentOS-8.5.2111 - AppStream - mirrors.163.com 131 kB/s | 8.4 MB 01:06
依赖关系解决。
==============================================================================================================================
软件包 架构 版本 仓库 大小
==============================================================================================================================
安装:
tree x86_64 1.7.0-15.el8 baseos 59 k事务概要
==============================================================================================================================
安装 1 软件包总下载:59 k
安装大小:109 k
下载软件包:
tree-1.7.0-15.el8.x86_64.rpm 59 kB/s | 59 kB 00:01
------------------------------------------------------------------------------------------------------------------------------
总计 59 kB/s | 59 kB 00:01
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : tree-1.7.0-15.el8.x86_64 1/1
运行脚本: tree-1.7.0-15.el8.x86_64 1/1
验证 : tree-1.7.0-15.el8.x86_64 1/1已安装:
tree-1.7.0-15.el8.x86_64完毕!
3. 使用 清华的yum源
1)新建一个 CentOS-Linux-Base-tsinghua.repo 文件,使用vi命令编辑并保存如下内容:[baseos]
name=CentOS-8.5.2111 - BaseOS - mirrors.tuna.tsinghua.edu.cn
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-Official#additional packages that may be useful
[extras]
name=CentOS-8.5.2111 - Extras - mirrors.tuna.tsinghua.edu.cn
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/extras/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-Official[AppStream]
name=CentOS-8.5.2111 - AppStream - mirrors.tuna.tsinghua.edu.cn
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/AppStream/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-Official[PowerTools]
name=CentOS-8.5.2111 - PowerTools - mirrors.tuna.tsinghua.edu.cn
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/PowerTools/$basearch/os/
gpgcheck=0
enabled=0
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-Official
2)测试清华的yum源
注意:在测试清华的yum源之前,先把之前的163的yum源仓库配置文件移动到backup目录[root@Chen yum.repos.d]# mv CentOS-Linux-Base-163.repo backup
[root@Chen yum.repos.d]# vim
-bash: vim: 未找到命令
[root@Chen yum.repos.d]# yum -y install vim
CentOS-8.5.2111 - BaseOS - mirrors.tuna.tsinghua.edu.cn 5.3 MB/s | 4.6 MB 00:00
CentOS-8.5.2111 - Extras - mirrors.tuna.tsinghua.edu.cn 21 kB/s | 10 kB 00:00
CentOS-8.5.2111 - AppStream - mirrors.tuna.tsinghua.edu.cn 6.3 MB/s | 8.4 MB 00:01
依赖关系解决。
==============================================================================================================================
软件包 架构 版本 仓库 大小
==============================================================================================================================
安装:
vim-enhanced x86_64 2:8.0.1763-16.el8 AppStream 1.4 M
安装依赖关系:
gpm-libs x86_64 1.20.7-17.el8 AppStream 39 k
vim-common x86_64 2:8.0.1763-16.el8 AppStream 6.3 M
vim-filesystem noarch 2:8.0.1763-16.el8 AppStream 49 k事务概要
==============================================================================================================================
安装 4 软件包总下载:7.8 M
安装大小:30 M
下载软件包:
(1/4): gpm-libs-1.20.7-17.el8.x86_64.rpm 303 kB/s | 39 kB 00:00
(2/4): vim-filesystem-8.0.1763-16.el8.noarch.rpm 951 kB/s | 49 kB 00:00
(3/4): vim-enhanced-8.0.1763-16.el8.x86_64.rpm 3.0 MB/s | 1.4 MB 00:00
(4/4): vim-common-8.0.1763-16.el8.x86_64.rpm 7.2 MB/s | 6.3 MB 00:00
------------------------------------------------------------------------------------------------------------------------------
总计 8.8 MB/s | 7.8 MB 00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : vim-filesystem-2:8.0.1763-16.el8.noarch 1/4
安装 : vim-common-2:8.0.1763-16.el8.x86_64 2/4
安装 : gpm-libs-1.20.7-17.el8.x86_64 3/4
运行脚本: gpm-libs-1.20.7-17.el8.x86_64 3/4
安装 : vim-enhanced-2:8.0.1763-16.el8.x86_64 4/4
运行脚本: vim-enhanced-2:8.0.1763-16.el8.x86_64 4/4
运行脚本: vim-common-2:8.0.1763-16.el8.x86_64 4/4
验证 : gpm-libs-1.20.7-17.el8.x86_64 1/4
验证 : vim-common-2:8.0.1763-16.el8.x86_64 2/4
验证 : vim-enhanced-2:8.0.1763-16.el8.x86_64 3/4
验证 : vim-filesystem-2:8.0.1763-16.el8.noarch 4/4已安装:
gpm-libs-1.20.7-17.el8.x86_64 vim-common-2:8.0.1763-16.el8.x86_64 vim-enhanced-2:8.0.1763-16.el8.x86_64
vim-filesystem-2:8.0.1763-16.el8.noarch完毕!
四、总结
方案一是基于CentOS系统旧的yum源仓库配置文件直接做了修改,不同仓库是独立的配置文件,如 BaseOS、AppStream 仓库配置文件分别是 CentOS-Linux-BaseOS.repo、CentOS-Linux-AppStream.repo,然后修改配置时可以根据需要选择对应的仓库配置文件进行修改,当然文中是将所有配置文件都一并修改(推荐都修改);
方案二是下载或新建了一个 XXX.repo 文件,然后将一些重要仓库配置 合并到了一个配置文件里,然后将yum源地址更新为国内的yum源地址,当然国内有很多镜像网站都有提供,文中列举了几个镜像网站案例供参考;
也可以参考方案一的方式,将yum源改为国内的,方法都类似,以mirrors.aliyun.com 为例:
1)编辑 /etc/yum.repos.d/ 中的相应文件,在 mirrorlist= 开头行前面加 # 注释掉;并将 #baseurl= 开头行取消#注释
2)对于 CentOS 8 之前版本,把域名及路径 mirror.centos.org/centos/$releasever替换为 mirrors.aliyun.com/centos-vault/$minorver
3)对于 CentOS 8 版本,把域名及路径 mirror.centos.org/$contentdir/$releasever替换为 mirrors.aliyun.com/centos-vault/$minorver
($minorver 为 centos 完整版本号,如 CentOS 7 的最后一个版本为 7.9.2009,CentOS 8 的最后一个版本为 8.5.2111)
具体命令如下:
# Centos 8 之前版本
# 以 CentOS 7.9.2009 为例
minorver=7.9.2009
sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \
-e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors.aliyun.com/centos-vault/$minorver|g" \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo# CentOS 8 版本
# 以 CentOS 8.5.2111 为例
minorver=8.5.2111
sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \
-e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.aliyun.com/centos-vault/$minorver|g" \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo
配置文件中,如果需要启用一些 repo,需要将其中的 enabled=0 改为 enabled=1,enabled 省略默认等效为 enabled=1
在切换yum源后,如果之前的yum源在本地有缓存,需要先清理下缓存 yum clean all,然后如果有需要再重新更新缓存 yum makecache
不推荐不同的yum源混用,除了如下提示,也可能会在软件升级等操作中出现一些未知错误!
[root@Chen yum.repos.d]# ls
backup CentOS-Linux-Base-163.repo CentOS-Linux-Base-tsinghua.repo
[root@Chen yum.repos.d]# yum repolist
Repository baseos is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository AppStream is listed more than once in the configuration
Repository PowerTools is listed more than once in the configuration
仓库 id 仓库名称
AppStream CentOS-8.5.2111 - AppStream - mirrors.163.com
baseos CentOS-8.5.2111 - BaseOS - mirrors.163.com
extras CentOS-8.5.2111 - Extras - mirrors.163.com
参考资料:
https://developer.aliyun.com/mirror/centos-vault
https://mirrors.163.com/.help/centos.html
https://mirrors.tuna.tsinghua.edu.cn/help/centos-vault/阿里镜像
网易镜像
清华镜像
————————————————
版权声明:本文为CSDN博主「小青龍」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/B11050729/article/details/131382641