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
!