适用系统

  • RHEL 8+ / CentOS 8+ / Rocky / AlmaLinux / Fedora → 用 dnf
  • RHEL 7 / CentOS 7 → 用 yum

dnfyum 的现代替代——大多数命令兼容。

核心命令

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 第一次跑会比较慢(建索引)