欢迎光临:微信群|微信群大全|微信群二维码|微信分享-珍图时光 登录 注册
收录(17307)

您现在的位置: 首页 > 公众号 > 网站开发 > 为什么Linux要使用Deb、RPM等安装包,而不是直接解压可运行?

微信扫一扫,添加关注

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

很多人安装完Linux,就会安装一些自己喜欢的软件! 与我而言,喜欢搜狗 ......

公众号:

联系QQ:

160

热度

其他信息

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

  • 0次点赞

  • 0个收藏

内容详情

很多人安装完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这些包的性质和作用! 

登录

使用微信帐号直接登录,无需注册

X关闭
X关闭
X关闭
X关闭