简单说:Linux(尤其是 Red Hat 系发行版)用 yum,是为了更方便地管理软件包和依赖关系。
下面分层说明一下。
早期在 Linux 上装软件,常见流程是:
./configuremakemake install问题很多:
所以 Linux 引入了包管理系统。
yum = Yellowdog Updater, Modified
它是 Red Hat 系列 Linux(RHEL / CentOS / Fedora 早期) 使用的:
底层其实是:
RPM 负责装包,yum 负责找包和解决依赖
假设你执行:
rpm -ivh httpd.rpm
可能会提示:
error: Failed dependencies:
libapr.so.0 is needed by httpd
openssl >= 1.0.1 is needed by httpd
而用 yum:
yum install httpd
yum 会:
不同 Linux 家族用不同工具:
| 发行版 | 包格式 | 包管理工具 |
|---|---|---|
| RHEL / CentOS 6/7 | RPM | yum |
| CentOS 8+ / RHEL 8+ | RPM | dnf(yum 的继任者) |
| Debian / Ubuntu | deb | apt |
| Arch | tar.xz | pacman |
所以:
不是“Linux 要用 yum”,而是“Red Hat 系 Linux 用 yum / dnf”
dnf install nginx
如果你愿意,我也可以: