## 只下載套件與其相依套件,不安裝
---
### ✅ 方法 1:使用 `yum` 的 `--downloadonly` 選項
需要安裝外掛:
```bash
sudo yum install yum-plugin-downloadonly
```
然後執行:
```bash
sudo yum install --downloadonly --downloaddir=/path/to/dir tmux
```
這樣會:
* 只**下載** `tmux` 以及所有相依套件;
* 不會實際安裝;
* 下載到你指定的資料夾 `/path/to/dir`。
---
### ✅ 方法 2:使用 `dnf`(新版系統推薦)
`dnf` 原生支援 `--downloadonly`:
```bash
sudo dnf install --downloadonly --downloaddir=/path/to/dir tmux
```
這與 `yum` 的效果完全相同,不需要額外安裝 plugin。
---
### ✅ 方法 3:使用 `yumdownloader`(更靈活)
安裝 `yum-utils`:
```bash
sudo yum install yum-utils
```
然後:
```bash
yumdownloader --resolve --destdir=/path/to/dir tmux
```
參數說明:
* `--resolve`:會自動下載所有相依套件(像 `--recursive`)。
* `--destdir`:指定儲存位置。
這種方式**不會觸發 yum 安裝流程**,純粹下載 `.rpm` 檔,非常乾淨。
---
### ✅ 範例
假設要下載 `tmux` 及相依套件到 `/tmp/rpms`:
```bash
mkdir -p /tmp/rpms
yumdownloader --resolve --destdir=/tmp/rpms tmux
```
---
### ✅ 下載後安裝(若想手動安裝)
```bash
sudo rpm -Uvh /tmp/rpms/*.rpm
```
---
### ✅ 小結
| 方式 | 指令 | 是否需外掛 | 是否下載相依套件 |
| ------------------------- | -- | --------------------------- | -------- |
| `yum --downloadonly` | ✅ | 需 `yum-plugin-downloadonly` | ✅ |
| `dnf --downloadonly` | ✅ | 不需外掛 | ✅ |
| `yumdownloader --resolve` | ✅ | 需 `yum-utils` | ✅ |
要我幫你寫一個簡單的 shell 函式(例如 `yum-fetch`)自動化這個流程嗎?