Linux 源码包和二进制包

前言

Linux下的软件包可细分为两种,分别是源码包二进制包
Linux下的软件包众多,且几乎都是经 GPL 授权、免费开源(无偿公开源代码)的。这意味着如果你具备修改软件源代码的能力,只要你愿意,可以随意修改。
GPL,全称 General Public License,中文名称“通用性公开许可证”,简单理解GPL就是一个保护软件自由的一个协议,经 GPL 协议授权的软件必须开源。

源码包:

源码包,就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。

我们都知道,计算机只能识别机器语言,也就是二进制语言,所以源码包的安装需要一名“翻译官”将“abcd”翻译成二进制语言,这名“翻译官”通常被称为编译器

“编译”指的是从源代码到直接被计算机(或虚拟机)执行的目标代码的翻译过程,编译器的功能就是把源代码翻译为二进制代码,让计算机识别并运行。

源码包的编译是很费时间的,况且绝多大数用户并不熟悉程序语言,在安装过程中我们只能祈祷程序不要报错,否则初学者很难解决。

源码包需要我们自己去软件官方网站进行下载,包中通常包含以下内容:
1、源代码文件。
2、配置和检测程序(如 configure 或 config 等)。
3、软件安装说明和软件说明(如 INSTALL 或 README)。

好处:
1、开源。如果你有足够的能力,则可以修改源代码。
2、可以自由选择所需的功能。
3、因为软件是编译安装的,所以更加适合自己的系统,更加稳定,效率也更高。
4、卸载方便。

不足:
1、安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。
2、编译时间较长,所以安装时间比二进制安装要长。
3、因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决。

二进制包:

二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快(同 Windows下安装软件速度相当),且安装过程报错几率大大减小。二进制包是 Linux 下默认的软件安装包,因此二进制包又被称为默认安装软件包

相比源码包,二进制包是在软件发布时已经进行过编译的软件包,所以安装速度比源码包快得多(和 Windows 下软件安装速度相当)。也正是因为已经进行通译,大家无法看到软件的源代码。

目前主要有以下 2 大主流的二进制包管理系统:
1、RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。
2、DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。

好处:
1、包管理系统简单,只通过几个命令就可以实现包的安装、升级、査询和卸载。
2、安装速度比源码包安装快得多。

不足:
1、经过编译,不能在看到源代码。
2、功能选择不如源码包灵活。
3、依赖性。有时我们会发现,在安装软件包 a 时需要先安装 b 和 c,而在安装 b 时需要先安装 d 和 e。这就需要先安装 d 和 e,再安装 b 和 c,最后才能安装 a。比如,我买了一个漂亮的灯具,打算安装在客厅里,可是在安装灯具之前,客厅需要有顶棚,并且顶棚需要刷好油漆。安装软件和装修及其类似,需要有一定的顺序,但是有时依赖性会非常强。

猜你喜欢

转载自blog.csdn.net/qq_34125713/article/details/128143357