Chinaunix首页 | 论坛 | 博客
  • 博客访问: 348941
  • 博文数量: 60
  • 博客积分: 1793
  • 博客等级: 上尉
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-17 18:21
文章存档

2012年(30)

2011年(30)

我的朋友

分类: LINUX

2012-01-04 17:12:30

最近看到网上有人在讨论为什么Linux到现在也不能双击安装软件。在这里,我也和大家来起来讨论一下!

首先明确一点,很多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,这个命令就是把把编译好的二进制文件和链接库、配置文件等复制到系统的各个目录,到这里,某个软件就安装完成了。

这就是开源的好处!你懂了吗?哈哈!!!

阅读(2254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~