- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
很多人安装完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进行安装。
上面是安装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 使用体验更加得心应手。
售前咨询
售后咨询
备案咨询
二维码
TOP