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 官方源下线 共同导致。

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

相关推荐
草莓熊Lotso4 小时前
Linux 基础 IO 初步解析:从 C 库函数到系统调用,理解文件操作本质
linux·运维·服务器·c语言·数据库·c++·人工智能
Cx330❀4 小时前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
学嵌入式的小杨同学10 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
EverydayJoy^v^10 小时前
RH134学习进程——十二.运行容器(1)
linux·运维·容器
syseptember10 小时前
Linux网络基础
linux·网络·arm开发
b***251111 小时前
电池组PACK自动化生产线的关键流程与核心优势
运维·自动化
zl_dfq11 小时前
Linux 之 【多线程】(线程的概念、Linux中的线程、页表)
linux
郝亚军11 小时前
如何在Ubuntu和win10/11之间通过samba访问对方的文件
linux·服务器·ubuntu
曦云沐12 小时前
【避坑指南】Ubuntu更新报错“Repository is not signed”的快速修复
linux·ubuntu·docker
哲伦贼稳妥12 小时前
职场发展-遇到以下情况请直接准备后手吧
运维·经验分享·其他·职场和发展