TASK [Install httpd and mariadb-server package] **************************************************** fatal: [node.example.com]: FAILED! => {"changed": false, "msg": "Failed to download metadata for repo 'baseos': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http [Could not resolve host: mirrors.centos.org]", "rc": 1, "results": []} fatal: [node1.example.com]: FAILED! => {"changed": false, "msg": "Failed to download metadata for repo 'baseos': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http [Could not resolve host: mirrors.centos.org]", "rc": 1, "results": []}
时间: 2025-05-31 12:57:38 浏览: 25
### CentOS 9 Stream 中无法解析 `mirrors.centos.org` 主机名的问题分析
在 CentOS 9 Stream 系统中遇到 `Curl error (6)` 表明 DNS 未能正确解析指定的主机名。此问题可能由多种原因引起,例如网络配置错误、DNS 设置不正确或镜像源不可用。
#### 1. 修改 DNS 配置
如果系统的默认 DNS 服务器无法正常工作,则可以通过修改 `/etc/resolv.conf` 文件来设置可靠的 DNS 地址。以下是具体操作方法:
```bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf
```
这一步会将 Google 的公共 DNS 添加到系统中[^1]。完成后尝试重新执行命令以验证是否解决问题。
#### 2. 替换官方仓库地址
由于 CentOS 社区停止维护部分版本,可能导致某些镜像站点失效。可以手动替换为可用的第三方仓库(如 Vault 或其他社区支持的镜像)。编辑 Yum 配置文件并更新仓库 URL:
```bash
sudo sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Linux-*.repo
sudo sed -i 's|^baseurl=http://mirror.centos.org|baseurl=https://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*.repo
```
完成以上更改后运行以下命令刷新缓存并测试安装软件包的功能:
```bash
sudo dnf clean all && sudo dnf makecache
sudo dnf install httpd mariadb-server -y
```
#### 3. 使用 MariaDB 官方存储库
对于数据库服务而言,推荐直接采用 MariaDB 提供的专用存储库而非依赖于 CentOS 默认资源。按照如下流程操作即可实现无误部署:
```bash
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"
sudo dnf module reset mariadb -y
sudo dnf module enable mariadb:10.5 -y
sudo dnf install mariadb-server -y
```
通过上述脚本下载最新稳定版MariaDB,并启用对应模块后再实施实际安装过程。
#### 4. 检查防火墙与SELinux状态
有时安全策略也会干扰外部连接请求的成功与否。确认当前环境下的防护机制未阻碍必要的通信活动至关重要:
```bash
sudo systemctl status firewalld
getenforce
```
必要时临时关闭它们以便进一步排查潜在冲突情况:
```bash
sudo systemctl stop firewalld
sudo setenforce 0
```
最后记得依据生产需求调整至适当的安全级别。
---
### 总结
综合考虑以上几个方面能够有效应对因域名解析失败所引发的一系列连锁反应,在确保基础网络通畅的前提下合理选用替代数据源最终达成目标——顺利部署 Apache Web Server 和 MySQL 数据库实例。
阅读全文
相关推荐


















