惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
F
Fortinet All Blogs
B
Blog
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
The Register - Security
The Register - Security
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
B
Blog RSS Feed
WordPress大学
WordPress大学
Recorded Future
Recorded Future
Recent Announcements
Recent Announcements
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Secure Thoughts
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Webroot Blog
Webroot Blog
AWS News Blog
AWS News Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
O
OpenAI News
月光博客
月光博客
H
Hacker News: Front Page
S
Security Affairs
W
WeLiveSecurity
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Help Net Security
Help Net Security
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
T
The Blog of Author Tim Ferriss
Spread Privacy
Spread Privacy
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
S
Securelist
Microsoft Azure Blog
Microsoft Azure Blog
TaoSecurity Blog
TaoSecurity Blog
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
A
About on SuperTechFans

杜老师说

雨天出差的 3 件必备 桌面零食收纳的 2 个分区 演示前一晚的 2 个检查清单 培训讲师的 PPT 怎么"听完" 出差住酒店插座的 3 个用法 培训笔记只记关键字的 3 个好处 通勤最后 10 分钟的"减速"技巧 两人吃外卖的 2 个小默契 深夜吃夜宵的 3 个节制技巧 橘猫经常跳上书桌的 3 个应对 居家办公桌前的 4 个微习惯 培训归来:把新命令收纳到 shell 的命名约定 高铁出差路上的电源与网络 3 个 fallback 夏季骑行通勤的 3 个小习惯 推荐酷鸭数据主机 培训归来:把新学到的命令收纳到 shell 的 2 个动作 黄昏漫步的"下班缓冲"为什么重要 酒店 Wi-Fi 不稳的 3 个 fallback 工具 培训归来:怎样把新学到的命令收纳到自己的 shell 高铁出差路上的 4 个阅读习惯 macOS 终端下本地跑 LLM 实测 工作室暗光环境的护眼心得 通勤党耳机选型:3 款降噪豆横评 深夜 Terminal 的 4 个提效小动作 Minecraft 生存服务器来啦「1.21.8 版」 快速部署 Nexus Terminal 打造高颜值远程管理终端 ima 任务模式邀请码分享 Temp Mail 兼具隐私和便捷性的最佳临时电子邮件服务 Dockerd 日志太多?磁盘爆了?一篇教您搞定容器日志问题 二手手机值得买吗?数码爱好者的省钱换机经验 最近总觉得脑子不够用?杜老师的脑力不足自救实录 一站式操作系统 ISO 下载平台 MinIO 社区版 Web 管理界面被删事件全解析 如何使用 PHP 脚本筛选去不图床已到期用户邮箱 Focalboard 开源项目管理的有力工具 NodePass 开源的隧道工具重新定义内网穿透 探索网络实验的神器 Mininet Ubuntu 系统无法通过 pip 命令安装 Python 库问题解决 使用 Python 脚本实现图片相似度匹配 几种通过 FFmpeg 无损压缩视频的方法 天津游记「多图预警」 合肥游记「多图预警」
DEB 和 RPM 有什么区别
Teacher Du · 2025-12-03 · via 杜老师说

在 Linux 系统中,软件的安装和管理通常依赖于软件包(Package),而 .deb 和 .rpm 是两种最主流的软件包格式。它们分别服务于不同的 Linux 发行版生态系统,不仅文件后缀不同,所使用的工具链、依赖管理方式、系统集成方式等方面也各有特点。本文将从多个角度对这两种格式进行深入解析。

基础定义

格式全称主要用途
.debDebian Binary Package用于 Debian 及其衍生系统
.rpmRPM Package Manager用于 Red Hat 等及其衍生系统

软件包管理工具的不同

操作.deb 系列.rpm 系列
低层包管理器dpkgrpm
高层包管理器apt、apt-get、gdebiyum、dnf、zypper
自动解决依赖apt 系列具备强大的自动依赖解决能力yum / dnf 支持自动依赖解析
安装命令示例sudo apt install ./xxx.deb ; sudo dpkg -i xxx.debsudo yum install xxx.rpm ; sudo rpm -ivh xxx.rpm

软件包内部结构差异

尽管 .deb 和 .rpm 都包含软件的可执行文件、元信息、安装脚本等,但它们的打包方式和控制文件结构并不相同:

1
2
3
4
5
6
7
8
9
10
11
.deb 软件包结构:
.deb 文件实际上是一个 ar 档案,包含:
├── control.tar.gz → 控制信息(如版本、依赖、脚本)
├── data.tar.gz → 软件内容(实际文件)
├── debian-binary → 版本信息(固定为2.0)
.rpm 软件包结构:
.rpm 文件是经过 CPIO 和 RPM 格式封装的结构,包含:
├── 包描述信息(名称、版本、架构等)
├── 安装/卸载脚本(%pre、%post、%preun、%postun)
├── 文件列表及路径
├── 安装数据(通过 CPIO 解包)

平台兼容性

.deb 和 .rpm 是彼此不兼容的,不同包管理器和元数据结构使它们无法直接在非原生系统中使用。但可以通过跨格式转换工具实现临时兼容;

注意:转换后的包可能在目标系统中运行异常,特别是涉及依赖项或系统级服务时。

系统集成差异

.deb 系列操作系统默认使用 systemd 或 sysvinit 管理服务,依赖包也多以 .deb 分发。

.rpm 系统通常更加倾向于企业级应用部署,具备更强的 SELinux、Firewalld 集成与限制管理。

此外,.rpm 包更早支持数字签名验证(GPG 签名),而 .deb 也已在 apt 中引入类似机制。

使用场景与生态对比

项目.deb 系列(如 Ubuntu、麒麟桌面、统信桌面).rpm 系列(如 openEuler、麒麟服务器、统信服务器)
使用人群个人用户、国产桌面操作系统用户居多企业级、服务器、运维自动化场景多见
系统更新频率快,偏向社区活跃发展稳定,重视长期支持(LTS)版本
支持工具apt, dpkgyum, dnf, rpm, zypper