在 Linux 操作系统的日常运维与应用部署中,软件包管理是核心环节之一。它负责软件的安装、卸载、更新与依赖处理,直接影响系统的稳定性、安全性与运维效率。Linux 生态中存在两大主流软件包管理体系:以 RPM 为基础的红帽系(如 CentOS、RHEL、Fedora)和以 DEB 为基础的 Debian 系(如 Ubuntu、Debian)。其中,rpm与dpkg是底层包管理工具,专注于单个软件包的操作;而yum与dnf则是基于rpm的高级包管理器,通过仓库实现依赖自动解决与批量操作。本文将系统解析这四类工具的核心功能、使用场景与操作方法,并深入讲解仓库配置的关键步骤,为 Linux 运维人员提供全面的实践指南。
Linux 软件包管理的本质是将编译后的二进制文件、配置文件、文档等资源打包成标准化格式,同时记录软件的版本、依赖关系、安装路径等元数据,以便实现自动化的生命周期管理。根据包格式的不同,主流体系可分为两类:
两类体系的核心差异在于包格式与依赖处理逻辑,但目标一致:简化软件管理流程,降低运维复杂度。下文将重点聚焦rpm、dpkg、yum、dnf四类工具,从功能定位、常用命令到实战场景展开详细说明。
.rpm
# 安装
rpm -ivh package.rpm
# 升级(无则安装)
rpm -Uvh package.rpm
# 查询已安装包
rpm -qa | grep 包名
# 查看包信息
rpm -qi 包名
# 卸载
rpm -e 包名
# 查询文件属于哪个包
rpm -qf /path/to/file
.rpm
包yum/dnf
进行底层调试.deb
# 安装
sudo dpkg -i package.deb
# 修复依赖
sudo apt-get install -f
# 查询已安装包
dpkg -l | grep 包名
# 查看包信息
dpkg -s 包名
# 卸载
sudo dpkg -r 包名
# 查询文件属于哪个包
dpkg -S /path/to/file
.deb
包apt
进行依赖管理# 安装
sudo yum install 包名
# 卸载
sudo yum remove 包名
# 更新
sudo yum update
# 搜索
yum search 关键字
# 查看包信息
yum info 包名
# 清理缓存
yum clean all
# 生成缓存
yum makecache
仓库配置文件位于 /etc/yum.repos.d/*.repo
,示例:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
修改后执行:
yum clean all && yum makecache
# 安装
sudo dnf install 包名
# 卸载
sudo dnf remove 包名
# 更新
sudo dnf update
# 搜索
dnf search 关键字
# 查看包信息
dnf info 包名
# 列出已安装包
dnf list installed
# 提供某文件的包
dnf provides /path/to/file
与 YUM 类似,配置文件位于 /etc/yum.repos.d/
,示例:
[appstream]
name=CentOS-$releasever - AppStream
baseurl=http://mirror.centos.org/centos/$releasever/AppStream/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
更新缓存:
dnf clean all && dnf makecache
工具 | 适用发行版 | 包格式 | 自动依赖处理 | 仓库支持 | 常用场景 |
---|---|---|---|---|---|
rpm | RHEL/CentOS/Fedora | .rpm | ❌ | ❌ | 离线安装、底层调试 |
dpkg | Debian/Ubuntu | .deb | ❌ | ❌ | 离线安装、底层调试 |
yum | RHEL/CentOS 7- | .rpm | ✅ | ✅ | 在线安装、更新 |
dnf | RHEL/CentOS 8+/Fedora | .rpm | ✅ | ✅ | 在线安装、更新,性能更优 |
rpm
或 dpkg
安装本地包yum
(CentOS 7-)或 dnf
(CentOS 8+)gpgcheck
并导入官方 GPG key,防止包被篡改原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。