1、GNU计划
在上篇博文中谈到Kernel是Linux系统的心脏,但Kernel只能实现系统最基本的功能,作为一个操作系统,仅仅只有内核是远远不够的,我们的重点是要使用在Kernel之上运行的Web服务、FTP服务、邮件服务……这类应用程序,所以一个完整的Linux系统应该包括Kernel和应用程序两部分。
无论Linux的Kernel还是Linux中的应用程序,它们都具有一个共同的特点——都属于一个名为GNU的计划项目,都要遵守GNU计划中的GPL或LGPL协议。
GNU是世界知名的自由软件项目,正是它决定了Linux系统自由开放的属性,也正是它才导致了Linux系统百花齐放、版本众多的现状。
GNU计划是由一位名叫Richard Stallman的大胡子于1984年发起并创建的,这位Stallman兄堪称世界顶级程序员,也被誉为黑客中的黑客,确是了得。而且除了技术之外,Stallman兄的思想更是超前,他认为:对于整个人类,知识传播的过程应该是开放的(试想一下,如果一些基本的科学定理或法则都是封闭的,都要求付费以后才能使用,那我们的世界将会是什么样子),计算机软件作为人类智慧的结晶,也是知识的一种,所以它应以源代码的方式呈现,没有人可以独占。软件的开发没有壁垒,也没有垄断,其主要目的就是为了满足更多的用户需求,激发更多的创新力量。
所以,凡是属于GNU计划中的软件都是开放源代码的,任何人都可以自由地去使用、修改或传播这些软件。而且为了为保证GUN计划内的软件经传播、改写以后仍然具有“自由”特性,该计划还专门制定了针对自由软件的授权许可协议GPL和LGPL协议,正是这些协议为GNU计划中的软件提供了统一的使用规范。
下图就是GNU计划的logo及大胡子兄Stallman。
应当说, Stallman的思想在当年确是太超前了,别忘了在那个时期有多少人是靠卖一两款软件从而白手起家的,比尔盖茨更是凭借DOS和Windows操作系统这两款软件独霸多年的世界首富宝座。但时代的发展越来越体现出Stallman这种思想的正确性,这点从Red Hat公司与Microsoft公司的财报就可见一斑,作为自由软件公司的代表,Red Hat 2012财年全年总营收11.3亿美元,净利润为1.466亿美元,而作为对立面的Microsoft却在2012年首度出现了亏损。所以,单纯靠卖软件赚钱这条路必将越走越窄,提供有偿服务才是将来的大势所趋。
至此,我们可以简单的总结一下了:Linux系统的内核Kernel以及Linux系统中的绝大多数应用软件都来自于GNU计划,任何人都可以自由地(也可以狭隘地理解为免费地)去使用、传播它们,因此Linux系统的确切名称应该为“GNU/Linux操作系统”。
2、Linux发行版
现在大家终于可以明白为什么Linux会有这么多的发行版本了。正是由于Linux自由开源的特性,才造就了目前各种不同的Linux发行版本百花齐放的局面。
大家都知道Linux的标识是一只企鹅,企鹅只在南极才有,而南极洲不属于任何国家,所以企鹅寓意开放和自由,这也正是Linux的精髓。
所谓的Linux发行版就是指在Linux内核的基础之上添加上各种管理工具和应用软件,这就构成了一个完整的操作系统。根据GNU的相关协议,任何公司或社团甚至是个人都可以将Linux内核和各种自由软件打包成一个完整的Linux发行版。据不完全统计,目前各种Linux发行版加起来已有188个。虽然每个Linux发行版都有单独的名称,但其实它们所采用的Linux内核和使用的软件包都是基本类似的,只是在具体操作和使用上略有差别而已,所以我们只要学会了其中的一种,其它的也就基本是无师自通了。
在各种Linux发行版中最为知名的是Red Hat Linux,Red Hat也是全球最大的Linux厂商。Red Hat Linux系列发行版具有广泛的企业用户基础,也代表着Linux操作系统的事实标准,因此大多数人学习Linux都是从Red Hat Linux入手。
早期的Red Hat Linux主要是面向个人用户,任何人都可以免费使用。但后来Red Hat Linux逐渐发展为两个分支:Fedora项目和Red Hat Enterprise Linux(Red Hat Linux企业版)。
Fedora项目是一个由Red Hat公司资助并被Linux社区支持的开源项目,仍然是免费的。Fedora主要定位于桌面用户,追求绚丽的桌面效果,使用最新的应用软件。
Red Hat Enterprise Linux(简称RHEL)则专门面向企业用户,功能更加强大,性能也更优越。RHEL为很多企业所采用,但需要向Red Hat付费才可以使用。注意,这个费用并不是用于购买RHEL操作系统本身,而是为了得到Red Hat公司的服务和技术支持,以及专门针对企业应用的第三方软件定制。
下面我们要学习的就是这个Red Hat Enterprise Linux,其最新版本为RHEL6.3。
除了RHEL之外,还有一些非常知名的Linux发行版我们也应该了解,比如在国内大名鼎鼎的CentOS。
CentOS是RHEL的再编译版本,其实也就是抹去了RHEL系统中Red Hat的标识信息,其功能和使用与RHEL基本是一致的。而且其版本更新也与RHEL保持同步,只要Red Hat发布了RHEL6.0,过不多久就会紧跟着出现CentOS6.0,CentOS 其实就相当于是免费版的RHEL。估计Red Hat对此会有意见,但根据GNU计划,CentOS的这种做法又是完全合情合理的。所以很多人也用CentOS作为学习和实施Linux的发行版本,尤其是对于一些中小企业和个人,他们并不需要专门的商业支持服务,用CentOS以最低的成本就能开展稳定的业务。
另外在近几年还有一个比较火热的Linux发行版——Ubuntu。与RHEL和CentOS主要面向企业用户不同,Ubuntu主要是面向个人用户,是一个用于桌面环境的Linux系统。其操作界面比较华丽,但对于绝大多数的非专业用户,使用起来还是很不习惯,毕竟大家都是被Windows给惯坏了,对普通人而言,电脑就是一个工具,也实在没必要为了使用一个工具而再去大费周章的学习一个全新的系统。
因而,目前Linux系统主要还是应用于服务器和嵌入式系统两个方面,对于个人用户,建议大家还是乖乖的去用Windows吧。