二进制包是经过源码包编译过的安装包,编译就是将源码解释为机器可以认识的二进制语言的过程,安装源码包比二进制包复杂,因为要经过一个编译的过程,这个过程容易出错,一旦出错,就要对源码进行修改。
在redhat中二进制包后缀是rpm,在debian系列里如ubuntu二进制包的后缀是deb,但是它们都是二进制包。Linux下安装软件只有俩种格式:二进制包和源代码包
源码包
优点
- 开源,如果有足够的能力,可以修改源代码
- 可以自由选择所需的功能
- 软件是编译安装,所以更加适合自己的系统,更加稳定、效率更高
- 卸载方便(直接删除)
缺点
- 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
- 编译过程时间较长,安装比二进制安装时间长
- 因为是编译安装,安装过程中一旦报错新手很难解决
二进制包(RPM包、Deb包)
二进制包安装速度快是它的优点,但是二进制包不是系统自己编译的,效率不如源码包。如果是生产环境,就要源码包安装,因为效率高。
优点
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码包安装快的多
缺点
- 经过编译,不再可以看到源代码
- 功能选择不如源码包灵活
- 依赖性
脚本安装包
把复杂的软件包安装过程写成了程序脚本,初学者可以执行脚本实现一键安装。但实际安装的还是源码包和二进制包,例如LAMP一键安装包
- 优点:安装简单、快捷
- 缺点:完全丧失了自定义性,不能定义安装软件的版本,不能定义所需要的软件功能,源码包的优势几乎完全丧失