VMware 中 CentOS 7 无法使用 yum 安装 wget 的完整解决方案

一、问题背景

在 VMware 虚拟机中安装了 CentOS 7 ,准备使用 wget 下载文件,但执行:

bash 复制代码
wget

提示命令不存在,于是尝试安装:

bash 复制代码
sudo yum install wget

结果出现报错:

bash 复制代码
curl#6 - "Could not resolve host: mirrorlist.centos.org"
Cannot find a valid baseurl for repo: base/7/x86_64

即 yum 无法访问镜像源,导致任何软件都无法安装。


二、问题现象总结

主要报错信息如下:

Markdown 复制代码
Could not resolve host: mirrorlist.centos.org
Could not resolve host: mirrors.aliyun.com //后续切换源,也不行

这说明:

虚拟机网络已通 IP,但 DNS 域名解析失败

同时 CentOS 7 官方 yum 镜像源已停止维护

因此必须同时解决两个问题:

  1. 修复 DNS
  2. 更换可用 yum 源

三、环境说明

  • 宿主机:Windows
  • 虚拟机:VMware Workstation
  • 系统:CentOS 7 Minimal
  • 网络模式:NAT

四、问题排查过程

1. 确认虚拟机是否联网

bash 复制代码
ping -c 3 8.8.8.8

返回:

Markdown 复制代码
64 bytes from 8.8.8.8 ...

说明 虚拟机已联网,IP 可达


2. 测试域名解析

bash 复制代码
ping mirrors.aliyun.com

提示:

text 复制代码
unknown host

说明 DNS 未配置,导致无法解析域名。


五、修复 DNS

执行:

bash 复制代码
cat > /etc/resolv.conf <<EOF
nameserver 8.8.8.8
nameserver 114.114.114.114
EOF

再次测试:

bash 复制代码
ping mirrors.aliyun.com

若返回 IP,则 DNS 修复成功。


六、CentOS 7 官方 yum 源已失效说明

CentOS 7 已于 2024 年进入 EOL 状态,

官方 mirrorlist.centos.org 已不再提供有效镜像列表,

因此必须切换第三方镜像源。


七、切换阿里云 yum 镜像源

1. 备份原仓库文件

bash 复制代码
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/

2. 写入阿里云 CentOS 7 镜像配置

bash 复制代码
cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
[base]
name=CentOS-7 - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0

[updates]
name=CentOS-7 - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7/updates/x86_64/
enabled=1
gpgcheck=0

[extras]
name=CentOS-7 - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7/extras/x86_64/
enabled=1
gpgcheck=0
EOF

3. 清理并重建缓存

bash 复制代码
yum clean all
yum makecache

八、安装 wget

bash 复制代码
yum install -y wget

验证:

bash 复制代码
wget --version

输出版本号即安装成功。


九、防止 DNS 重启丢失(可选)

bash 复制代码
chattr +i /etc/resolv.conf

若以后需修改 DNS:

bash 复制代码
chattr -i /etc/resolv.conf

十、问题根因总结

问题点 说明
域名无法解析 resolv.conf 未配置 DNS
mirrorlist.centos.org 失效 CentOS 7 官方仓库停止维护
yum 无法获取 repomd.xml 源不可用导致

十一、解决过程

1.虚拟机网络正常

2.DNS 可解析域名

3.yum 源恢复可用

4.wget 成功安装

系统后续可正常安装 git、gcc、python、docker 等开发工具。


十三、完整一键修复脚本(备忘)

bash 复制代码
ping -c 3 8.8.8.8 || exit

cat > /etc/resolv.conf <<EOF
nameserver 8.8.8.8
nameserver 114.114.114.114
EOF

mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/ 2>/dev/null

cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
[base]
name=CentOS-7 - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0
EOF

yum clean all
yum makecache
yum install -y wget

结束语

这个问题表面看是 yum 报错,

本质是 DNS 未配置 + CentOS7 官方源下线 共同导致。

按本文流程排查即可一次性彻底解决。

相关推荐
kida_yuan2 小时前
【Linux】在树莓派上搭建自建 Git 服务(基于 GitLab)- 实战笔记与运维清单
运维·gitlab·树莓派
lph0092 小时前
mqtt broker (mosquitto)创建服务器、订阅与发布
运维·服务器
by————组态2 小时前
睿控(Ricon)组态
运维·前端·物联网·信息可视化·组态·组态软件
戈壁老孙2 小时前
使用Nginx实现动态后端服务切换:一套配置管理多环境
运维·nginx
gtr20202 小时前
Ubuntu24.04 基于 EtherCAT 的 SVD60N 主站
linux·ethercat
weixin_462446232 小时前
ubuntu真机安装tljh jupyterhub支持跨域iframe
linux·运维·ubuntu
小码吃趴菜2 小时前
select/poll/epoll 核心区别
linux
Ghost Face...2 小时前
深入解析网卡驱动开发与移植
linux·驱动开发
a41324472 小时前
在CentOS系统上挂载硬盘到ESXi虚拟机
linux·运维·centos