Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

CentOS/RHEL RPM 與 YUM/DNF 包管理完整操作指南

編輯:Linux 教學

RPM 是底層包格式,YUM/DNF 是高層包管理器(解決依賴、倉庫同步)。本文涵蓋安裝、升級、查詢、驗證、卸載、倉庫配置等全生命週期操作。

RPM 底層操作

安裝/升級/卸載


# 安裝本地 RPM
rpm -ivh package.rpm          # -i install, -v verbose, -h hash進度
rpm -Uvh package.rpm          # 升級(不存在則安裝)
rpm -Fvh package.rpm          # 刷新(僅升級已安裝)

# 強制/忽略依賴(慎用)
rpm -ivh --force --nodeps package.rpm

# 卸載
rpm -e package_name
rpm -e --nodeps package_name  # 忽略依賴強制卸載

查詢與驗證


# 查詢已安裝包
rpm -q package_name           # 是否安裝
rpm -qi package_name          # 詳細信息
rpm -ql package_name          # 文件列表
rpm -qc package_name          # 配置文件列表
rpm -qd package_name          # 文檔文件列表
rpm -qf /path/to/file         # 文件屬於哪個包
rpm -qa                       # 所有已安裝包
rpm -qa | grep kernel

# 查詢未安裝 RPM 文件
rpm -qip package.rpm          # 信息
rpm -qlp package.rpm          # 文件列表

# 驗證包完整性
rpm -V package_name           # 對比文件屬性(S大小、M模式、5摘要、D設備、L鏈接、U用戶、G組、T時間)
rpm -Va                       # 全系統驗證

# 包簽名驗證
rpm --checksig package.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

YUM/DNF 高層管理(推薦日常使用)

基本操作


# 安裝
yum install package_name
dnf install package_name      # Fedora 22+/RHEL 8+ 默認 dnf

# 升級
yum update package_name       # 指定包
yum update                    # 全系統升級

# 卸載
yum remove package_name
yum autoremove                # 移除無用依賴

# 搜尋
yum search keyword
yum list available | grep keyword
yum provides */filename       # 反向查找提供某文件的包

倉庫管理


yum repolist                  # 啟用倉庫列表
yum repolist all              # 所有倉庫
yum-config-manager --add-repo URL
yum-config-manager --enable repo_id
yum-config-manager --disable repo_id

# 清理緩存
yum clean all
yum makecache                 # 重建緩存

常用插件

  • yum-plugin-versionlock:鎖定包版本 yum versionlock kernel-3.10.0-1160.el7
  • yum-plugin-downloadonly:僅下載不安裝 yum install --downloadonly --downloaddir=/tmp pkg
  • yum-plugin-security:安全更新 yum update --security

實戰場景

場景命令
查看包安裝腳本rpm -q --scripts package_name
提取 RPM 文件不安裝rpm2cpio package.rpm | cpio -idmv
修復 RPM 數據庫rpm --rebuilddb
離線安裝依賴包yum install --downloadonly --downloaddir=/offline pkg → 拷貝 → yum localinstall /offline/*.rpm
查看包變更日誌rpm -q --changelog package_name

DNF 差異提示(RHEL 8+/Fedora)

  • 命令基本相容,dnf 為 yum 別名
  • 模組化倉庫:dnf module list、dnf module install nodejs:18
  • 更快的依賴解析器(libsolv)、更好的並行下載
Copyright © Windows教程網 All Rights Reserved