全部博文(60)
分类: LINUX
2012-01-04 17:12:30
首先明确一点,很多Linux的发行版如Fedora/RHEL/CentOS、Ubuntu、Debian等,有很多自己发行的安装包rpm、deb等格式。那么为什么在Linux系统上,还有很多软件是tar.gz的格式,而且还需要自己configure/make/make install才能安装上呢?
其实,Linux下跟Windows的软件发布有一个最大的不同就是Linux下大部分软件都是开源的,并不提供编译好的二进制的软件包,为什么不像Windows系统上一样,直接双击安装多好。
现在我们来具体分析一下,我们知道,windows系统要么是32位的,要么是64位的,而大家也知道,还有很多的其他平台如ARM、HP等等,为了让软件适合更多的平台,那么只能让软件针对不同的平台自己配置,这样才是更好的啊,不像Windows那么死板了。这主要是从跨平台来考虑的。
还有另外一个方面的考虑。那就是定制化。通过./configure命令加上合理参数,可以不用编译自己不需要的模块,而这不像Windows就算你不安装你选择的模块,那也只是这个模块不安装。而主程序的模块者是编译好的,就算你不需要他同样是加载。
下面再说说make。make是根据刚才./configure的配置参数,把源码编译成二进制文件,然后放到当前的软件目录,这时候,并没有把所有需要安装的文件放到相应的位置,为什么要这样呢?这也是属于定制化方面的,我可以只提取make出来的某些模块。
最后就是make install,这个命令就是把把编译好的二进制文件和链接库、配置文件等复制到系统的各个目录,到这里,某个软件就安装完成了。
这就是开源的好处!你懂了吗?哈哈!!!