yum
和 wget
都是 Linux 上的下载工具,但它们的用途、下载方式和适用场景不同。以下是它们的 主要区别:
1. yum
是软件包管理器,wget
是文件下载工具
功能 | yum | wget |
---|---|---|
用途 | 安装、更新和管理 RPM 软件包 | 从 HTTP/HTTPS/FTP 下载文件 |
工作方式 | 通过 yum 仓库获取软件包及其依赖项 | 仅下载文件,不管理安装 |
依赖管理 | 自动解析依赖,安装所需的软件包 | 只下载文件,不解析依赖 |
适用场景 | 需要安装软件,例如 yum install wget | 下载网页、文件、脚本、二进制文件等 |
协议支持 | 只支持访问 Yum 仓库(通常是 HTTP/HTTPS) | 支持 HTTP、HTTPS、FTP |
是否需要 root 权限 | 需要 (sudo 或 root 用户) | 不需要 root |
示例
使用 yum
安装软件
yum install wget -y
📌 作用:安装 wget
,并自动安装所需的依赖项。
使用 wget
下载文件
wget https://example.com/file.tar.gz
📌 作用:下载 file.tar.gz
,但不会自动安装它。
2. yum
主要用于软件包管理
(1)安装软件
yum install nginx -y
📌 作用:安装 nginx
,并自动安装所有依赖项。
(2)更新系统
yum update -y
📌 作用:更新所有软件包到最新版本。
(3)搜索软件包
yum search git
📌 作用:查找包含 "git" 关键字的软件包。
(4)查看已安装软件
yum list installed | grep wget
📌 作用:检查 wget
是否已安装。
3. wget
主要用于下载文件
(1)下载单个文件
wget https://example.com/file.zip
📌 作用:从 example.com
下载 file.zip
到本地。
(2)断点续传
wget -c https://example.com/file.zip
📌 作用:如果下载中断,继续下载文件。
(3)下载网页
wget -O index.html https://example.com
📌 作用:将网页保存为 index.html
。
(4)递归下载整个网站
wget -r -np -k https://example.com
📌 作用:下载整个 example.com
站点。
4. yum
和 wget
的典型使用场景
场景 | 应该用 yum 还是 wget ? |
---|---|
安装 nginx | yum install nginx |
更新系统 | yum update -y |
下载一个 .tar.gz 文件 | wget https://example.com/file.tar.gz |
安装 wget 本身 | yum install wget |
下载 .rpm 包并手动安装 | wget https://example.com/package.rpm + rpm -ivh package.rpm |
5. yum
和 wget
结合使用
有时候你需要 先用 wget
下载 .rpm
文件,然后用 yum
或 rpm
安装:
wget http://mirrors.aliyun.com/nginx/nginx-1.20.1.rpm
yum localinstall nginx-1.20.1.rpm -y
📌 作用:
- 用
wget
下载nginx
的.rpm
文件。 - 用
yum localinstall
安装.rpm
,并解析依赖。
6. curl
vs wget
vs yum
工具 | 主要用途 | 是否自动安装 | 是否多线程 |
---|---|---|---|
yum | 安装和管理软件包 | ✅ 是 | ❌ 否 |
wget | 下载文件(支持 HTTP/FTP) | ❌ 否 | ❌ 否(单线程) |
curl | 发送 HTTP 请求、API 调用 | ❌ 否 | ❌ 否(默认单线程) |
7. 总结
✅ yum
适用于:
- 安装、更新、删除软件包
- 自动解决软件依赖关系
- 适用于
CentOS/RHEL
✅ wget
适用于:
- 下载网页、文件、脚本、压缩包
- 支持 HTTP、HTTPS、FTP
- 断点续传
如果你想安装软件 (如 wget
本身),应该使用:
yum install wget
如果你只是想下载一个 .tar.gz
文件,而不是安装它,应该使用:
wget https://example.com/file.tar.gz
🚀 所以 yum
适合安装软件,而 wget
适合下载文件!
是的,wget
只负责下载文件,如果你下载的是一个 RPM 安装包,那么你还需要使用 yum
或 rpm
来安装它。
🔹 示例:使用 wget
下载并安装软件
如果官方 yum
源没有你需要的软件,你可以先用 wget
下载 RPM 包,再手动安装。
1️⃣ 使用 wget
下载 RPM 安装包
wget http://mirrors.aliyun.com/nginx/nginx-1.20.1.rpm
📌 这里 wget
只是把 nginx-1.20.1.rpm
下载到本地。
2️⃣ 使用 yum
安装该 RPM 包
yum localinstall nginx-1.20.1.rpm -y
📌 yum localinstall
会自动解析和安装依赖项,确保安装成功。
3️⃣ 如果 yum
源不可用,可以用 rpm
安装
如果你不想使用 yum
,也可以用 rpm
命令直接安装:
rpm -ivh nginx-1.20.1.rpm
📌 但是 rpm
不会自动解决依赖问题,如果缺少依赖,需要手动安装!
如果缺少依赖,可以先运行:
rpm -ivh nginx-1.20.1.rpm
如果报错,例如:
error: Failed dependencies:
libssl.so.10 is needed by nginx-1.20.1.rpm
你需要手动安装依赖:
yum install libssl.so.10
然后再安装 nginx-1.20.1.rpm
。
🔹 总结
操作 | 命令 | 作用 |
---|---|---|
下载 RPM 包 | wget URL | 下载软件包 |
用 yum 安装 | yum localinstall package.rpm -y | 推荐方式,自动解析依赖 |
用 rpm 安装 | rpm -ivh package.rpm | 可能需要手动安装依赖 |
查找 RPM 依赖 | rpm -qR package.rpm | 查看软件包依赖 |
🚀 如果你不确定用哪个,优先使用 yum localinstall
!