rpm与tgz的区别
- 1、Linux软件包的内容分类
- 2、Linux软件包的格式分类
1、Linux软件包的内容分类
Linux应用程序的软件包按内容类别可分为两类:
-
可执行文件(编译后的二进制软件包)
解包后可以直接运行,看不到源代码。例如,Windows上所有的软件包都是这种类型。安装完程序后,我们就可以使用,但我们看不到源代码
优点:安装简单、速度快,还可以实现包的升级、卸载
缺点:不能查看源代码,功能选择不如源代码灵活
-
源程序(源码包)
解包后仍需要使用编译器将其编译成可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的
优点:开源可查看源代码,可以自由选择所需功能,卸载方便(直接删除安装位置)
缺点:安装步骤多、速度慢,编译时间长
可执行文件(软件包)与源程序的区别如下:
- 几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装、卸载和更新;易于保护配置文件、跟踪已安装文件
- 一般来说,自己动手编译源程序更具灵活性,但也容易遇到各种问题和困难。而相对来说,可执行软件包反而是更容易安装,当然灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序,我们可以根据自己的情况来选择
2、Linux软件包的格式分类
Linux软件安装包主要有rpm
、deb
、tar.gz
三种格式,想了解三种软件包的区别,需要先来看下Linux软件的扩展名,通过扩展名可以了解软件格式,进而了解软件安装
- 后缀为
.rpm
最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用 - 后缀为
.deb
是Debain Linux提供的一种包封装格式 - 后缀为
.tar.gz
、tar.Z
、tar.bz2
或.tgz
是使用Unix系统打包工具tar打包的
1)rpm格式软件包
RPM(Red Hat Package Manager)即Red Hat包管理器,是由红帽公司最先发布的一种用来打包软件的的文件格式,它是一种特定的用来安装、卸载软件等操作的专门格式,它里面打包的内容是一个可以直接使用的具体软件
RPM本质上就是一个软件包,包含可以立即在特定机器上安装和运行的Linux软件。可以在CentOS、Red Hat、Fedora Linux上直接进行安装,但在Ubuntu中却无法识别
2)deb格式软件包
deb是Debian Linux提供的一个包管理器,它与RPM类似。但由于RPM出现较早,并且应用广泛,所以在各种版本的Linux中更加常见,而Debian的包管理器deb只出现在Debian、Ubuntu Linux中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian、Ubuntu Linux中才能见到这个包管理工具。例如,在Ubuntu系统中双击deb包就可以进入自动安装进程
3)tar.gz格式软件包
tar.gz
就是一个压缩包,类似于Windows上的ZIP、RAR等文件,它是为了便于传输所产生的一种专门用于网络流通的文件格式,这种文件格式与其他两种软件存在本质上的区别,例如,tar.gz
可以也是一个文本、照片等的文件压缩在里面,并不一定是一个具体软件。tar.gz
格式的软件包在所有的Linux版本中都能使用,但安装过程也最麻烦
最后总结来说就是,通常,tgz格式的都是源程序,灵活但安装麻烦;而rpm、deb格式的则是可执行程序,安装简单但灵活性差
参考文章:https://www.kaotop.com/it/746714.html