目录

CentOS 7 安装 wget 教程:yum 在线安装与 rpm 离线安装两种方法详解

CentOS 7 安装 wget 教程:在线安装与离线安装完整指南

在日常的 Linux 运维工作中,wget 是一个非常实用的命令行下载工具。无论是下载软件包、抓取网页内容,还是从远程服务器拉取文件,wget 几乎都是首选方案。然而,很多同学在刚装完 CentOS 7 最小化版本后,执行 wget 命令时会遇到 “command not found” 的提示,这是因为最小化安装的系统默认并没有预装 wget

这篇文章将手把手带你了解在 CentOS 7 上安装 wget两种主流方法——yum 在线安装和 rpm 离线安装,同时也会分享一些实际操作中容易踩的坑和排查思路。


什么是 wget

wget 是 GNU 项目下的一个免费命令行下载工具,全称是 “Web Get”。它支持 HTTP、HTTPS 和 FTP 协议,能够在后台运行、断点续传、递归下载整个网站目录等。对于服务器管理员来说,wget 堪称是必备的基础工具之一。

简单来说,只要你需要在 Linux 终端里下载文件,第一个想到的大概率就是 wget


安装前的准备工作

在正式安装之前,建议先确认以下几点:

1. 确认系统版本

执行以下命令查看当前系统版本,确保是 CentOS 7:

cat /etc/redhat-release

输出类似 CentOS Linux release 7.x.xxxx (Core) 即可。

2. 确认 wget 是否已安装

有时候系统已经预装了 wget,只是我们不知道而已。先用以下命令检查一下:

which wget

如果返回了路径(比如 /usr/bin/wget),说明已经安装好了,无需重复操作。如果提示 no wget in ...,那就继续往下看。

3. 确认网络连通性(在线安装需要)

如果打算用 yum 在线安装,需要确保服务器能够正常联网:

ping -c 3 www.baidu.com

能 ping 通就没问题。如果服务器处于内网或者无法联网,那就需要走离线安装的路子。


方法一:使用 yum 在线安装(推荐)

这是最简单、最省心的方式。只要你的服务器能联网,一条命令就搞定了。

安装步骤

以 root 用户身份执行:

yum install -y wget

-y 参数的作用是自动确认安装过程中的所有提示,省去手动输入 y 的步骤。

安装完成后,验证一下是否成功:

wget --version

看到版本信息输出就说明安装成功了。

yum 安装失败怎么办

实际操作中,有些同学可能会遇到 yum 安装失败的情况,常见原因有以下几种:

yum 源不可用或过期

CentOS 7 已于 2024 年 6 月 30 日正式停止维护(EOL),官方镜像源可能不再更新。如果你遇到类似 Could not retrieve mirrorlist 的报错,可以尝试切换到归档源:

sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache

然后再重新执行 yum install -y wget 即可。

DNS 解析问题

如果 ping 域名不通但 ping IP 可以通,那多半是 DNS 配置有问题。编辑 /etc/resolv.conf 文件,添加公共 DNS:

echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 114.114.114.114" >> /etc/resolv.conf

方法二:使用 rpm 离线安装

如果服务器无法访问外部网络(比如处于隔离的内网环境),那就只能通过离线方式安装了。核心思路是:在一台能联网的机器上把 wget 的 rpm 包下载好,然后传到目标服务器上手动安装。

第一步:下载 rpm 安装包

在一台有网络的机器上,访问 CentOS 的软件包仓库下载对应版本的 rpm 包。推荐使用以下地址:

  • 阿里云镜像:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
  • 网易镜像:http://mirrors.163.com/centos/7/os/x86_64/Packages/
  • CentOS 归档源:http://vault.centos.org/7.9.2009/os/x86_64/Packages/

在页面中搜索 wget,找到类似 wget-1.14-18.el7_6.1.x86_64.rpm 这样的文件并下载。

注意: 由于 CentOS 7 已经 EOL,部分镜像站可能已不再同步该版本的包,建议优先使用 vault.centos.org 归档源。

第二步:上传到服务器

将下载好的 rpm 文件通过 scp 或其他文件传输工具上传到目标服务器:

scp wget-1.14-18.el7_6.1.x86_64.rpm root@your_server_ip:/tmp/

第三步:执行 rpm 安装

登录目标服务器,进入文件所在目录,执行安装命令:

cd /tmp
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm

参数说明:

  • -i:install,表示安装
  • -v:verbose,显示详细安装过程
  • -h:hash,用 # 号显示安装进度

安装完成后同样用 wget --version 验证即可。

rpm 安装常见报错

如果遇到依赖缺失的报错,比如:

error: Failed dependencies:
    libssl.so.10()(64bit) is needed by wget-1.14-18.el7_6.1.x86_64

说明系统缺少 wget 依赖的库文件。这时有两种处理方式:

  1. 补齐依赖包: 把缺失的依赖也下载对应的 rpm 包一起安装
  2. 强制忽略依赖(不推荐): rpm -ivh --nodeps wget-1.14-18.el7_6.1.x86_64.rpm

强制安装虽然能绕过报错,但运行时可能出现各种异常,所以不到万不得已不建议这样做。


两种安装方式对比

对比项 yum 在线安装 rpm 离线安装
是否需要联网 需要 不需要
自动处理依赖
操作难度 简单 稍复杂
适用场景 服务器可联网 内网 / 隔离环境
推荐程度 首选 备选

安装完成后的基本用法

成功安装 wget 之后,这里简单列几个常用的命令,方便你快速上手:

下载单个文件:

wget https://example.com/file.tar.gz

指定保存路径和文件名:

wget -O /home/download/myfile.tar.gz https://example.com/file.tar.gz

后台下载大文件:

wget -b https://example.com/large-file.iso

断点续传:

wget -c https://example.com/large-file.iso

-c 参数非常实用,当下载中断后可以接着上次的进度继续下载,避免重头再来。


常见问题

Q1:执行 wget 提示 “command not found” 怎么办?

这说明系统中没有安装 wget,按照本文的方法一或方法二安装即可。如果已经安装但还是提示找不到,可以用 which wgetrpm -qa | grep wget 确认一下安装状态。

Q2:yum install wget 报错 “No package wget available” 怎么处理?

通常是 yum 源配置有问题。可以尝试清理缓存后重建:

yum clean all
yum makecache
yum install -y wget

如果还不行,检查 /etc/yum.repos.d/ 目录下的 repo 文件配置是否正确,或者参考上文切换到归档源。

Q3:CentOS 7 已经停止维护了,还能用 yum 装软件吗?

可以,但需要将 yum 源指向 vault.centos.org(归档源)。官方镜像虽然不再更新,但归档源会一直保留历史版本的软件包供下载使用。

Q4:wget 和 curl 有什么区别?该用哪个?

两者都是命令行下载工具,但侧重点不同。wget 更擅长文件下载,支持递归下载和断点续传;curl 则更偏向 API 调用和数据传输,支持更多的协议。如果只是单纯下载文件,wget 用起来更方便;如果需要发送 POST 请求或处理 API 响应,curl 更合适。

Q5:能不能用其他方式替代 wget 下载文件?

当然可以。在没有 wget 的情况下,可以用 curl -O 来下载文件(CentOS 7 默认自带 curl)。此外,Python 自带的 urllib 模块也能实现简单的文件下载功能。


总结

在 CentOS 7 上安装 wget 其实并不复杂,核心就两条路:

  • 能联网 → 直接用 yum install -y wget,一行命令搞定,省时省力
  • 不能联网 → 下载对应的 rpm 包,传到服务器上用 rpm -ivh 手动安装

大多数情况下,yum 在线安装就是最优解。只有在服务器网络受限的特殊场景下,才需要走 rpm 离线安装的流程。另外,由于 CentOS 7 已于 2024 年正式 EOL,如果你的生产环境还在使用 CentOS 7,建议尽早规划迁移到 Rocky Linux、AlmaLinux 等替代发行版,以获得持续的安全更新支持。

希望这篇教程能帮你顺利解决 wget 的安装问题。如果大家在安装过程中遇到了其他报错,或者对 CentOS 7 的运维管理还有什么疑问,欢迎在评论区留言交流~~~

版权声明

未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!

本文原文链接: https://fiveyoboy.com/articles/centos-7-install-wget/

备用原文链接: https://blog.fiveyoboy.com/articles/centos-7-install-wget/