适用系统
- RHEL 8+ / CentOS 8+ / Rocky / AlmaLinux / Fedora → 用
dnf - RHEL 7 / CentOS 7 → 用
yum
dnf 是 yum 的现代替代——大多数命令兼容。
核心命令
sudo dnf install pkg # 装
sudo dnf remove pkg # 删
sudo dnf update # 升级所有
sudo dnf upgrade # 同上
sudo dnf check-update # 看哪些可升
sudo dnf search keyword # 搜
sudo dnf info pkg # 看详情
sudo dnf list installed # 看已装
sudo dnf provides /usr/bin/htop # 找某文件属于哪个包
sudo dnf history # 看安装历史(可回滚)
一键升级
sudo dnf update -y
装本地 rpm(自动处理依赖)
sudo dnf install ./pkg.rpm # ✓ 推荐
sudo rpm -ivh pkg.rpm # 老方式(不处理依赖)
加第三方仓库
# EPEL(Extra Packages for Enterprise Linux,几乎必装)
sudo dnf install epel-release
# 加 Docker
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce
看仓库
sudo dnf repolist # 列出已配的仓库
sudo dnf repolist all # 含禁用的
清缓存
sudo dnf clean all
看安装历史 + 回滚
sudo dnf history # 列出所有操作
sudo dnf history info 5 # 看第 5 次操作详情
sudo dnf history undo 5 # 回滚第 5 次操作
sudo dnf history redo 5 # 重做
⭐ 这个回滚是 RHEL 系比 Debian 系强的地方。
模块化(dnf module,RHEL 8+)
sudo dnf module list # 看可用模块
sudo dnf module install nodejs:18 # 装 Node 18
sudo dnf module reset nodejs # 重置
静默装(脚本)
sudo dnf install -y pkg
sudo dnf -q install pkg # 安静
dnf vs apt 速查
| 操作 | dnf | apt |
|---|---|---|
| 装 | dnf install |
apt install |
| 删 | dnf remove |
apt remove |
| 升级 | dnf upgrade |
apt upgrade |
| 搜 | dnf search |
apt search |
| 看详情 | dnf info |
apt show |
| 已装 | dnf list installed |
apt list --installed |
坑
- RHEL 7 用 yum,命令完全兼容(除了
history等少数) - Rocky / AlmaLinux 是 CentOS 替代品(CentOS Linux 8 EOL 后)
dnf第一次跑会比较慢(建索引)