[root@localhost ~]# dnf makecache Rocky Linux 9 - BaseOS 0.0 B/s | 0 B 00:00 Errors during downloading metadata for repository 'baseos': - Curl error (6): Couldn't resolve host name for https://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirrors.aliyun.com] Error: Failed to download metadata for repo 'baseos': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
时间: 2025-03-22 21:05:26 浏览: 65
### 解决 Rocky Linux 9 中 `dnf makecache` 主机名解析失败的问题
当在 Rocky Linux 9 上运行命令 `dnf makecache` 出现类似于 `curl error 6 Could not resolve host mirrors.alicloud.com` 的错误时,这通常表明系统的 DNS 配置存在问题或者默认的 Yum/DNF 源无法正常访问。以下是针对此问题的具体分析和解决方案。
#### 错误原因
该错误的核心问题是系统未能成功解析指定的主机名(如 `mirrors.alicloud.com`)。可能的原因包括但不限于以下几点:
1. 系统的 DNS 设置不正确或不可用。
2. 默认的 Yum 或 DNF 软件源地址失效或网络连接受限。
3. 当前使用的镜像站点暂时不可达或被屏蔽。
---
#### 解决方案
##### 方法一:修改 `/etc/resolv.conf` 文件以设置可靠的 DNS 服务器
如果当前的 DNS 配置有问题,则可以通过手动编辑 `/etc/resolv.conf` 来解决问题。推荐使用 Google Public DNS 或阿里云公共 DNS 地址作为备用选项:
```bash
nameserver 8.8.8.8 # Google Public DNS
nameserver 114.114.114.114 # 阿里云公共 DNS
```
完成上述更改后,重新尝试执行 `dnf makecache` 命令验证是否解决了主机名解析问题[^1]。
##### 方法二:更换为国内可用的镜像站点
由于某些国外镜像站点可能存在网络连通性问题,建议将默认的 Yum/DNF 源替换为国内高校或其他机构提供的可靠镜像站点。例如,可以参考上海交通大学提供的 Rocky Linux 镜像站点配置方法[^3]。
具体操作如下:
1. 执行以下脚本以批量更新 `/etc/yum.repos.d/Rocky-*.repo` 文件中的源地址:
```bash
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.sjtug.sjtu.edu.cn/rocky|g' \
-i.bak \
/etc/yum.repos.d/Rocky-*.repo
```
2. 更新缓存并测试新源的有效性:
```bash
dnf clean all
dnf makecache
```
如果一切正常,应该不会再遇到类似的主机名解析错误。
##### 方法三:临时切换到本地离线模式
对于完全依赖外部网络的情况,也可以考虑下载所需的 RPM 包及其依赖项至本地存储设备中,并通过创建自定义仓库的方式实现软件安装。不过这种方法适用于特殊场景下的应急处理而非长期策略。
---
### 总结
以上三种方式分别从调整 DNS 设置、变更官方源以及采用离线部署的角度出发提供了应对措施。实际应用过程中可根据具体情况灵活选用其中一种或多种组合来彻底消除此类困扰。
阅读全文
相关推荐


















