手动编译

不同的理念

Linux与windows实在有很大的理念差异。不说商业运作,盖茨在微软的发展阶段利用DOS的兼容性迅速打开用户市场,在windows1,windows2之后的成功之作windows3.x又对当时他的竞争对手重拳出击。后来,网络开始普及,windows利用IE的捆绑销售抢占先机,后来其他的很多软件也是捆绑销售。虽然当时微软就有很多的反垄断诉讼,盖茨也通过各种手段处理这些问题。但是不提褒贬,盖茨的确可以称得上是一个“枭雄”,而且他的windows对于pc的普及也的确起到了莫大贡献。

而对于linux走的却是一条截然不同的开放之路(当然linux也有收费的服务,但是这和开源并不矛盾),在这里我主要讲GNU和FSF。我们的主人公是Stallman,在百度百科上可以看见他的介绍是“自由软件运动的精神领袖”,而本人是一个长得很像哈利波特中的海格的一个大叔。由于历史环境原因和其他的种种因素,他一直想成立一个开放的程序员团体来为自由软件而工作,但一直没有成功。

后来1983年他接触到了Unix,觉得这个操作系统的移植性非常好,便将自己的工作环境迁移到Unix下,这是他迈出的第一步。1984年,他开始了GUN项目,这个项目的目的是创建一个自由开放的UNIX 操作系统,他开始独立着手编写一些免费的Unix来为自己的项目打开知名度。他编写的著名软件有gcc,emacs,bash,成立自由软件基金会,并且为了防止自己苦心经营的GNU为其他的商家做嫁衣,与律师草拟通用公共许可证(GPL),并称之为CopyLeft。这些都在1990年左右完成。

make

这个开放源码最初的目的就是大家一起为一个软件团队工作,形成自由的生态圈,还有就是每个人可以自己改动并供自己使用,也就是可以私人订制。所以我们可以下载源代码,按照自己的喜好阅读并修改源码,然后自行编译安装。

这也就是make程序做的事情,它会根据makefile的参数配置,自动编译链接安装。

tarball

tarball实际上就是源码的压缩包,也就是我们下载的.tar.gz文件。里面通常会有源代码,程序检测文件(生成makefile)和相关信息(readme等)。

你可能感兴趣的:(手动编译)