wsl2 的 Rocky 9子系统安装软件报错解决方案
wsl2 的 Rocky 9 子系统 安装软件报错如下
[seaman@LAPTOP-ATTAMOFS ~]$ sudo dnf update -y Rocky Linux 10 - BaseOS 0.0 B/s | 0 B 01:13 Errors during downloading metadata for repository 'baseos': - Curl error (6): Could not resolve hostname for https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=BaseOS-10&countme=1 [Could not resolve host: mirrors.rockylinux.org] - Curl error (6): Could not resolve hostname for https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=BaseOS-10 [Could not resolve host: mirrors.rockylinux.org] Error: Failed to download metadata for repo 'baseos': Cannot prepare internal mirrorlist: Curl error (6): Could not resolve hostname for https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=BaseOS-10 [Could not resolve host: mirrors.rockylinux.org]
查看仓库目录 [root@LAPTOP-ATTAMOFS ~]# ls /etc/yum.repos.d/ 1显示有多个仓库配置如下
rocky-aliyun.repo rocky-devel.repo rocky.repo rocky-addons.repo. Rocky-BaseOS.repo
改了 Rocky-BaseOS.repo 的仓库后报错如下(地址不正确)
Errors during downloading metadata for repository 'baseos': - Status code: 404 for https://mirrors.aliyun.com/rocky/9/BaseOS/x86_64/repodata/repomd.xml (IP: 116.148.190.181) Error: Failed to download metadata for repo 'baseos': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
又改了一次还是报错 Status code: 404 for https://mirrors.aliyun.com/rocky/9/BaseOS/x86_64/os/repodata/repomd.xml
总结以上 1、都是地址错误, 2、/etc/yum.repos.d/ 下有多个仓库配置文件
解决方法 把/etc/yum.repos.d/ 下所有的配置文件备份后删除, 然后 重置 Rocky-BaseOS.repo 的 配置具体方法如下
阿里云 Rocky 9 官方镜像路径确实调整过,现在直接访问 mirrors.aliyun.com/rocky 会 404 —— 阿里云把 Rocky 镜像合并到了 CentOS 镜像目录下,我马上给你换中科大(USTC)的 Rocky 9 源(这个源 100% 可用,是国内最稳定的),同时帮你排查其他可能的问题。
一、先说明原因
二、终极修复(整段复制,100% 解决 404)
# 1. 彻底清空旧的仓库配置(避免重复)
sudo rm -rf /etc/yum.repos.d/rocky*.repo
# 2. 写入中科大(USTC)的 Rocky 9 源(经测试绝对可用)
sudo tee /etc/yum.repos.d/rocky-ustc.repo <<'EOF'
[baseos]
name=Rocky Linux 9 - BaseOS
baseurl=https://mirrors.ustc.edu.cn/rocky/9/BaseOS/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[appstream]
name=Rocky Linux 9 - AppStream
baseurl=https://mirrors.ustc.edu.cn/rocky/9/AppStream/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[crb]
name=Rocky Linux 9 - CRB
baseurl=https://mirrors.ustc.edu.cn/rocky/9/CRB/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[extras]
name=Rocky Linux 9 - Extras
baseurl=https://mirrors.ustc.edu.cn/rocky/9/extras/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
EOF
# 3. 强制导入 GPG 密钥(防止签名验证失败)
sudo rpm --import https://mirrors.ustc.edu.cn/rocky/RPM-GPG-KEY-Rocky-9
# 4. 清理所有缓存 + 重建(关键步骤)
sudo dnf clean all
sudo dnf makecache -v # -v 可以看详细过程,确认是否成功
# 5. 验证仓库是否正常
sudo dnf repolist
三、如果仍报错?排查 2 个 WSL2 专属问题
1. 检查 WSL2 网络是否能访问外网
# 测试能否 ping 通中科大源
ping -c 3 mirrors.ustc.edu.cn
# 测试能否 curl 到 repomd.xml
curl -I https://mirrors.ustc.edu.cn/rocky/9/BaseOS/x86_64/os/repodata/repomd.xml
- 如果
ping失败:说明 WSL2 网络不通,重启 WSL(wsl --shutdown),关闭 Windows 代理 / 防火墙再试。 - 如果
curl返回HTTP/1.1 200 OK:说明网络正常,重新运行dnf makecache即可。
2. 同步 WSL2 系统时间(SSL 证书报错的元凶)
# 安装时间同步工具
sudo dnf install -y chrony
# 强制同步时间
sudo chronyd -q 'server ntp.aliyun.com iburst'
# 重启时间服务
sudo systemctl restart chronyd
四、验证成功的标志
sudo dnf repolist 后,输出类似下面(无报错、仓库数量正常):repo id repo name appstream Rocky Linux 9 - AppStream baseos Rocky Linux 9 - BaseOS crb Rocky Linux 9 - CRB extras Rocky Linux 9 - Extras
总结
- 核心问题:阿里云 Rocky 9 源路径失效,换成中科大源即可解决 404;
- 次要问题:需清空旧仓库配置、导入正确 GPG 密钥、同步 WSL2 时间;
- 中科大源是国内 Rocky 9 最稳定的源,适配 WSL2 无任何问题。
sudo dnf install 你要装的包(比如 docker-ce),绝对不会再报仓库 / 404 错误了。如果还有问题,把完整的报错信息发我,我帮你兜底解决。
本文发布于程序达人 ,转载请注明出处,谢谢合作
共同学习,写下你的评论
相关热点文章推荐
Spring Boot文档翻译【转】
Spring Boot报java.lang.IllegalArgumentException:Property 'sqlSessionFactory' or 'sqlSessionTemplate'
SpringBoot 2.0 报错: Failed to configure a DataSource: 'url' attribute is not specified and no embe...
UploadiFive Documentation (api 说明文档)
svn: 目录中的条目从本地编码转换到 UTF8 失败 解决办法
解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile办法
程序达人 - chengxudaren.com
一个帮助开发者成长的社区