你的位置:首页 > 互联网IT
Error: Failed to download metadata for repo 'appstream': Cannot prepare inte,centos Error: Failed to
Error: Failed to download metadata for repo 'appstream': Cannot prepare inte,centos Error: Failed to download metadata for repo 'AppStream'
系统:centos8
软件:appstream
功能:centos8无法安装
方法一
CentOS-8 - AppStream 46 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'AppStream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
服务器是 CentOS
解决办法
自2022年1月31日起,CentOS团队从官方镜像中移除CentOS 8的所有包,但软件包仍在官方镜像上保留一段时间。现在被转移到https://vault.centos.org。如需继续运行旧CentOS 8,可以在/etc/yum.repos中更新repos.d,使用vault.centos.org代替mirror.centos.org
修改软件源
在/etc/yum.repos.d文件夹下有
CentOS-Base.repo
CentOS-AppStream.repo
CentOS-Extras.repo
修改
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
baseurl=http://vault.centos.org/$contentdir/$releasever/AppStream/$basearch/os/
保存
成功
安装wget
yum -y install wget
更新yum源为阿里镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all
yum makecache
-bash: tar: command not found
yum install tar -y
-----------------------------------------------------------------------------------
方法二
使用Dockerfile时Error: Failed to download metadata for repo 'AppStream
跟着教程使用指令docker build -f /mydocker/Dockerfile -t mytomcat:1.1 .时出现了以下错误:
Failed to download metadata for repo 'AppStream'Error: Failed to download metadata for repo 'AppStream'
在网上找了很多教程大多一知半解,而且大多都是2-3年前的了,并且没有作用,经过一晚上的尝试终于解决了这个问题,在此记录一下,希望小伙伴们能愉快解决这个问题
激动人心的Successfully
但是由于途中经过了太多的尝试,不能完全确定究竟是哪个方法生了效便一并写在这里,下次再实验的时候加以测试,再来完善,如果有大佬也多谢指正。
方法一:修改源
1.检查网络是否联通
随便ping一个网站即可,例如:ping www.baidu.com
2.关闭防火墙
systemctl stop firewalld.service(我第一次实验的时候就是使用这个方法,但是没有进行这一步,再第二种方法之后又进行了这一步并重启docker 最后居然成功了)
3.修改软件源
在/etc/yum.repos.d文件夹下有
CentOS-Base.repo
CentOS-AppStream.repo
CentOS-Extras.repo
这三个文件,将三个文件中的mirrow注释掉,设置baseurl 为阿里源
试错的时候阿里源都加了几个.........
4.命令行下载阿里源
指令为:wget -O /etc/yum.repos.d/CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-8.repo](http://mirrors.aliyun.com/repo/Centos-8.repo)(Centos8根据系统版本修改就好了,我的是CentOS8)
5.运行 yum makecache 生成缓存(或 yum clean all&&yum makecache )
6.重启Docker服务
service docker restart
方法二:下载ssh
yum install openssh openssh-server openssh-clients
没错就只下了个ssh,当时我也是非常怀疑,并且原帖使用此指令后出了错,而我没有出现,于是我就顺便把方法一的时候没关的防火墙关掉了,然后重启了一下Docker,然后就成功了。真是不可思议。
小伙伴们可以先按照方法一步不差的走一遍(不要学我跳过关防火墙),然后实验一下,如果不行的话再进行方法二。
方法二虽然看似简单,但是如果出错了处理很麻烦,所以优先使用方法一(而且个人感觉方法一的软件源才是问题的关键)
之后我再次实验后来更新的更准确一些。
----------------------------------------------------------------
方法三
大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误“错误:Failed to download metadata for repo ‘AppStream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist”
1、进入yum的repos目录
cd /etc/yum.repos.d/
1
2、修改所有的CentOS文件内容
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
1
2
3
3、更新yum源为阿里镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all
yum makecache
1
2
3
4
5
4、yum安装测试是否可以yum安装
yum install wget –y
1
这个问题解决花了半个小时,越来越讨厌那些哔哔半天讲不到点上的了。教程能用就能用,不能用就是过期了,一些 debug 的文章非要绕来绕去绕来绕去。
参考地址:
https://www.jianshu.com/p/68c0e1b3424e
https://www.jianshu.com/p/79906aca03e0
https://blog.csdn.net/qq_575775600/article/details/125274121
发表评论: