帮助中心 >  行业资讯 >  云计算 >  为什么Linux要使用Deb、RPM等安装包,而不是直接解压可运行?

为什么Linux要使用Deb、RPM等安装包,而不是直接解压可运行?

2025-03-13 09:04:45 495

很多人安装完Linux,就会安装一些自己喜欢的软件!

与我而言,喜欢搜狗输入法,我就会去它的主页下载!

这个时候,使用Ubuntu系统的我就会选择Deb格式的软件包,虽然搜狗在官方主页上面提供了对应“Windows”、“Debian”、“RedHat”三种操作系统的下载文件。


其实Windows对应的是Exe文件。

Debian对应deb为后缀名的文件!

RedHat对应的是rpm为后缀名的文件!

那为什么要提供三种格式呢?

一方面是因为操作系统的不同,Windows和Linux的不同,Debian和Redhat都是Linux,而Windows显然是Windows!


那为什么同是Linux,又分为Deb和Rp两种格式呢?

这就是我们今天的主题。

1、“分裂”的Linux

虽然都是Linux,但是Debian和RedHat唯一的相同之处都是使用Linux内核!

这和Linux本身的发展有关。

在Linux发展的早期,只是一个有启动功能、内存管理、文件读写功能的操作系统内核!

但是,现在的Linux有什么呢?

有Gnome、KDE、Xface桌面,有BSH、FishShell、Zsh等各种Shell,有各种Nginx等实用软件!

那除了内核以外,多出来的这些东西,是怎么出现在硬盘里的呢?

其实是集成而来!

有了Linux的内核很好,但是光有一个光秃秃的内核有什么用呢?

操作系统是需要应用的!

于是,就有一些Linux爱好者把Linux内核和各种实用程序集成到一起,做好了安装界面,就形成了所谓的“发行版”!

最早的发行版本现在依然存在,名字叫Slackware,依然活着。后来就出现了Debian、SUSE、Redhat这些大家很熟悉的名字!

有了这些发行版本,就让用户有了“开箱即用”的体验。

至此,Linux才得到了大量用户,抹平了以前的高门槛,告别以前需要“自己下载内核、自己手工编译”的刀耕火种时代!

从上面的描述可以看出,发行版本其实就是一个“集合包”!

Linux有了很多种发行版本,有了很多集合包,主要的区别就出现了-软件集合的方式不同!

可能这个发行版本的A程序,配置文件放在/etc的ProgramA目录下面,在另外一个发行版本里面A的配置文件放在它的可执行文件的同目录下面。

Linux并没有一个统一的存放标准,反正能运行就行!

Linux开始分裂了!

2、程序的依赖

随着Linux发行版本的升级,很多发行版本采取了更加"高明“的做法,对程序安装方法进行了改进!

我们知道,程序其实并不是孙悟空,直接从石头里面蹦出来,而是经常需要依赖一些“库”!

这些库,都是一些非常好用的功能集合体。

利用这些库作为基础,就会大幅度提高开发效率!

Linux的程序也不例外,很多程序都是在已有库的基础上面进行开发!

那如何管理这些依赖呢?

这些linux发行版,都采取了一种“软件包”机制!

当安装A软件的时候,如果发现它需要基础库B,就会先自动下载B进行安装。


image.png

上面是安装Docker这个软件的时候,apt提示的“依赖安装包”!

这就是apt、dnf等Linux的“Package Manger”工具的功能。

而在那里记录这些依赖信息呢?

其实就在Deb、RPM这些软件包里面。当开发者上传Deb格式包到服务器的时候,系统就会读取器内部信息,把依赖记录下来。有人下载安装的时候,就会自动提示安装这些依赖包,非常方便!

所以,Deb、RPM都是一些带有程序“元信息”的包,记录了软件的版本、依赖软件等信息。

只要安装这些软件,包管理系统就能自动下载依赖,进行安装!

3、安装不仅仅是安装

既然都是包含依赖,那一种格式不就可以了?

当然不是。

因为除了依赖,还有“文件放在哪里”和“安装脚本配置”这些事情!

这些事情,其实都很第一项的“分裂”有关!

Linux版本不同,存放路径就不一样。

为了单纯处理这些不同,就需要针对不同的系统,进行特别定制!

A程序的文件在Redhat上面放在“/usr/bin”目录下面,在Debian上面就放在“/usr/share/bin”上面。

由此,诞生了不同的安装路径。

另外,如果需要配置文件定制,软链接定制,都需要特殊的配置。

安装包,就是为了处理这些杂事来的!

至此,我们理解了Deb、RPM这些包的性质和作用!


总结
因为Linux发现版本的各自为政,安装位置不同,包依赖处理机制不同,每一种发行版都有自己的安装包格式!


Linux 的多样性既是优势也是挑战,不同软件包格式的存在正是其生态繁荣的见证。了解 Deb 与 RPM 的差异,不仅能帮助你更高效地管理系统,也能让你理解开源社区 "和而不同" 的协作哲学。下次安装软件时,不妨多留意包格式背后的技术故事,让你的 Linux 使用体验更加得心应手。


蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,也可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索,助力你在 Linux 运维之路上稳步前行。



提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: