1.1.2 选择哪个发行版 - Linux就是这个范儿

1.1.2 选择哪个发行版

接下来我们将面临一个更为麻烦的问题,就是到底应该选择哪个Linux发行版。因为Linux的发行版实在太多了,用多如牛毛来形容一点都不夸张。可以想象,在牛毛中要选择出毛色最正、长短最合适、粗细最均匀的一根是多么纠结的事情啊。我们现在就要做这件事情,还要做好它!

就目前的情形看,Linux发行版可以分为三个主要的分支:RedHat、Slackware和Debian。每一个分支都拥有一个最具代表性的商业服务器级的发行版,它们是:Red Hat Enterprise Linux,简称RHEL;SUSE Linux Enterprise,简称SUSE;Ubuntu Server,简称Ubuntu。

看似好难选择的样子,但实际上也没什么,不管是谁家的Linux发行版,都不会有本质的区别。因为Linux本身就不是一个完整的系统,它实际上只是一个内核。所谓的发行版只不过是给这个内核加上一堆应用程序而攒成的系统。而且这些应用程序很大一部分都是来源于GNU社区,代码都是一样的,能有什么差别呢?

虽然本质上没有什么不同,但是不同的发行版在细节上还是有一些差别的。这主要体现在管理工具的选用上。由于开源软件的绝对自由性,具有相同功能的系统管理类软件可以有很多种,不同的发行版可能会对某种特性有偏好。有些实力比较强大的发行商,比如Red Hat,自己也会为开源社区贡献很多这类软件,它的发行版自然也会首选自家的产品。当然,其他发行版也可以采用Red Hat开发的管理软件,实际上很多发行版也是这么做的。

前面还说到发行版的分支,但是具体分支的归属并不取决于是否使用相同的系统管理工具。所谓的分支在软件层面上并没有十分严格的界限,只是这三个分支是历史最为悠久的发行版,而后续诞生的这些发行版大多都是从修改它们其中一种而发展起来的。实际上很多到目前为止已经跟其原有分支没有任何关联了,比如SUSE Linux已经跟Slackware没有任何联系了,但是最初的SUSE Linux是从Slackware修改而来的,所以现在依然认为它属于Slackware分支。现在,不同的分支之间互相也有借鉴,取长补短,所以分支概念在当前的发行版中越来越模糊了。现在比较清晰的是软件安装方法的不同,有些使用rpm,有些使用deb,有些甚至直接采用源代码。当然,这样的差别只有在使用不同安装方法的发行版之间才能感觉到。在日常使用中,Linux就是Linux,跟发行版没什么关系。

花费了这么大的篇幅,依然没有讲清楚到底该选择哪个发行版,我感觉有点对不住各位。那么接下来就解决这个实际问题。大家可能有所察觉,我所列举的这些发行版有些人根本都没有听说过,现在流行的都是什么Fedora、Ubuntu。的确,如果你就是想自己装个Linux玩,它们都是很好的选择。但是我们都是实用主义者,同时还要排除一下个人偏好,所以从选择哪个发行版更适合找到好工作这个角度出发就比较靠谱了。比较理想的选择应该是——CentOS。

你绝对没看错,也不是我的脑袋让电梯夹了而语无伦次。虽然这之前完全没有提到过CentOS,但是当你知道它实际上是RHEL的一个克隆之后,就会稍微地理解我推荐它的原因了。

RHEL由Red Hat发行,可以说系出名门,也是目前被众多品牌厂商支持得最为完善的Linux发行版。当然,SUSE和Ubuntu也未见得差到哪里,但是RHEL还有另外一个优势,就是对KVM虚拟机的支持。很多大型互联网公司为了充分利用服务器的硬件资源,都会大量采用虚拟机技术。而KVM的很多开发和测试工作都是在RHEL上进行的。这也导致了很多大型互联网公司都选择了RHEL作为其主要的服务器系统。既然RHEL这么优秀且又是大型互联网公司的选择,那么我们直接选择RHEL好了,为什么要选择它的克隆——CentOS呢?

原因非常简单,RHEL要收费。当然,RHEL也允许免费使用,但是你将得不到任何系统升级服务,也得不到任何技术支持。RHEL在对外发行的时候采用两种方式:一种就是收费的二进制方式,一种就是完全免费的源代码方式。CentOS就是利用完全免费的RHEL的源代码重新编译而成的,免费提供给大家,所以本质上与RHEL没什么区别。唯一的区别就是更新的频率没有付费的RHEL快。当然,如果你有足够的时间,也可以使用RHEL的源代码构建自己的发行版,至于是否收费,你自己说了算,给自己的公司用当然也不成问题。

不管怎么样,要想吃Linux这碗饭,CentOS是非常好的选择。在免费的同时可以体验到大型互联网公司的服务器系统环境。如果有机会去这些公司面试,根据自己平时的学习经验就可以很好地回答面试官的问题了,而面试这种事儿,“共同语言”是很重要的。

时刻不要忘记,学习Linux的本质还是要学习它最核心的那些机制。而CentOS并不会改变这些机制。掌握好了这些机制,对于掌握任何其他Linux发行版,乃至自己去制作发行版,都将是水到渠成的事情。而在这之前还有希望找到一份较为体面的工作,何乐而不为呢?

 

Linux就是这个范儿 - 本书目录 

Comments