为仓库 ‘appstream’ 下载元数据失败问题
CentOS Linux 8已于 2021年12月31日停止更新和维护,由于entOS 团队从官方镜像中移除CentOS 8的所有包,所以在使用yum源安装时候,则出现下面错误“错误:
Failed to download metadata for repo ‘AppStream’: Cannot prepare
internal mirrorlist: No URLs in mirrorlist。
或
为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs
in mirrorlist)
由于CentOS 8的包被转移到了 ,如果仍然需要运行 CentOS 8,可以在/etc/中更新一下源。使用 代替 。
也可以用国内的其他源代替,例如阿里源或者腾讯源。
进入到 yum 的 repos 目录
cd /etc//
修改 centos的repo文件内容
sed -i 's/mirrorlist/#mirrorlist/g' /etc//CentOS-*
sed -i 's|#baseurl=|baseurl=|g' /etc//CentOS-*
linux repo就是指“repository”;在使用yum命令的时候系统会自动读取repo文件,然后去repositry获取软件;通常一个repo文件定义了一个或者多个软件仓库的细节内容;
清空原有缓存,并重新生成
yum clean all && yum makecache
执行
yum makecache
命令时,YUM
会从配置的软件仓库中下载软件包的元数据和索引信息,并将它们存储在本地缓存中。这样,在执行后续的 YUM 操作时,YUM
可以直接从本地缓存中获取这些信息,而不需要每次都重新从远程仓库下载,从而加快了操作的速度并减少了网络带宽的使用。
运行 yum update更新软件包
yum update -y
yum update是yum命令的一个选项,用于更新系统中的所有已安装的软件包到最新版本。 当执行yum
update命令时,yum会先检查可用的软件包,确定哪些软件包需要更新,并将它们的最新版本下载到系统中。这个过程中,yum会自动检查所有软件包的依赖关系,并在必要时同时更新依赖关系。更新完成后,yum还会重新配置系统中的软件包,以确保它们都能够正常工作。注意执行yum
update命令时,最好指定要更新的软件包名称,以免系统自动将存在新版本,但是正在使用中不能更新的软件包进行更新。
yunxi 2024/05/02