jiangtie 2020-08-15
我们知道计算器如果没有安装任何操作系统,它就是一堆没用的电子器件;安装了操作系统,但是没有安装应用软件,那也是花瓶一只。因此我们要学会把这只“花瓶”变成能够为我们使用的机器,就必须要学会软件的安装。在Windows系统中,安装软件很简单,绝大部分情况运行安装包,然后几步"next"就能完成软件的安装,但是在Linux系统中,软件包的安装和管理远比Winodws的要复杂得多。
Linux下的软件包有两种,分别是源码包和二进制包。
源码包到底是什么呢?源码包就是一大堆源代码程序,是由软件工程师使用特定的格式和语法所书写的代码,是人写的计算机语言的指令。我们都知道,计算机只能识别机器语言,也就是二进制语言,所以源码包的安装,就需要一个中间角色把代码语言"abcdedg"翻译成二进制语,这个中间角色我们称它为“编译器”。“编译”指的是从源代码到直接被计算机(或虚拟机)执行的目标代码的翻译过程,编译器的功能就是把源代码翻译为二进制代码,让计算机识别并运行。
由于源码包的安装需要把源代码编译为二进制代码,因此安装时间较长。比如,我们在windows系统下安装一个几十兆的软件,可能几分钟就按照完成了,因为它不需要经过编译过程所以安装很快。但是在Linux系统中如果我们以源码包的安装方式安装一个压缩包仅有二三十兆的软件,可能也需要花费十几分钟到几时分钟不等。而且在安装过程中,如果遇到了什么错误,对于初学者来说都很难弄解决,安装难以继续下去。因此为了解决使用源码包安装方式的这些问题,Linux 软件包的安装出现了使用二进制包的安装方式。
何为二进制包?二进制包也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快,且安装过程报错几率大大减小。二进制包是 Linux 下的默认安装软件包,所以有时我们也把二进制包称作默认安装软件包。
目前主要有以下 2 大主流的二进制包管理系统:
因为我用的CentOS系统,因此后面讲解就是以RPM二进制包为主。
源码包一般包含多个文件的集合,出于发行的需要,一般会把源码包打包压缩之后发布,Linux 中最常用的打包压缩格式为“tar.gz”,因此源码包又被称为Tarball
。而且源码包需要我们自己去软件的官方站点下载,源码包的结构一般如下:
源码包优点:
源码包缺点:
在前面已经讲过,二进制包是在软件发布的时候已经进行过编译的软件包,所以安装速度比源码包快得多。但是因为已经进行通译,大家也就不能在看到软件的源代码了。目前两大主流的二进制包系统是 DPKG 包和 RPM 包。
RPM包的优点如下:
RPM包的缺点如下: