计算机运行的程序都是二进制的代码,那么我们所用的编程语言都是自然语言中的字符,那么就需要有一种机制来将这些转化成二进制代码,那么根据转化机制不一样,编程语言(软件 产生的源头)分两大类 解释型 编译型,解释型就不说了,编译型就是在写好程序的源码以后对程序进行编译,编译成二进制的可执行代码。
在linux中很多软件的源码都会伴随着软件一起发布,软件就是经过编译的一些二进制的文件,这些二进制文件由源码编译而来。所以当我们拿到了软件的源码的时候,可以根据源码编译出软件,然后对软件进行安装,这就是你所说的编译安装了,对于非电脑专业的人不需要了解那么多,涉及的东西比较多,要知道在编译的时候需要设置编译参数的,,
所以会拿deb rpm包来安装就行了。。使用打包好的二进制包安装的另外的好处就是可以由包管理系统进行管理可以方便的对软件包进行安装升级和卸载,如果是源码编译那么就需要自己手动的管理了。
具体的流程没那么复杂,linux软件发布的源码都是有标准格式 的,通常是tar.gz tar.bz2这样的压缩包,
tar xvf xxx.tar.gz 解压源码包
cd xxx 进入源码目录
more INSTALL 或者more README 阅读源码包里的安装说明,看不懂英语的可以跳过这步
./configure 参数 配置编译参数;最常见的是prefix=安装路径 这样可以把软件安装到一个指定目录而不是安装到系统的文件结构中(linux的文件结构可以参考FHS标准规范里的定义)
make 当上一步正确的执行后会生成一个Makefile文件,使用make命令可以对软件源码进行编译
make install 安装(可能会需要root权限)
//部分软件还会提供make test 这样的测试,在安装前可以运行make test 来测试软件是否编译正确。