web服务器 / 正文

wsl2 的 Rocky 9子系统安装软件报错解决方案

2026-03-16 13:40 0 浏览
评论(0
字体大小:

 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% 可用,是国内最稳定的),同时帮你排查其他可能的问题。

一、先说明原因

阿里云的 Rocky 镜像维护不及时,路径变更后未同步;而中科大(USTC)的 Rocky 源是官方合作的,路径一直稳定,适合 WSL2 环境。

二、终极修复(整段复制,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 专属问题

如果运行后还是 404,大概率是 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

总结

  1. 核心问题:阿里云 Rocky 9 源路径失效,换成中科大源即可解决 404;
  2. 次要问题:需清空旧仓库配置、导入正确 GPG 密钥、同步 WSL2 时间;
  3. 中科大源是国内 Rocky 9 最稳定的源,适配 WSL2 无任何问题。
 
现在再运行 sudo dnf install 你要装的包(比如 docker-ce),绝对不会再报仓库 / 404 错误了。如果还有问题,把完整的报错信息发我,我帮你兜底解决。

 

本文发布于程序达人 ,转载请注明出处,谢谢合作

0 人认为有用
0 评论

相关热点文章推荐

程序达人 - chengxudaren.com

一个帮助开发者成长的社区

相关文章