服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

早期,我们使用 Debian 作为服务器软件,后来转向了CentOS,主要原因如下:

1、CentOS/RHEL的生命周期是7年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统。要知道重新折腾一个生产机是很麻烦而且有风险的事情。

[2012.2.1]今天刚刚收到红帽子的通知邮件,RedHat 5, RedHat 6的生命周期,延长到10年,太牛叉了。这个对企业用户很重要。

而Debian的生命周期是不固定的,一般新版本发布以后,上个版本再维护18个月。而Debian的版本发布时间间隔不稳定,经常会延期。综合起来一个版本的生命周期一般在3~4年。

[2014.4.24]Debian 宣布对Squeeze(6.0),提供5年的LTS长期支持。

Ubuntu的LTS版生命周期是5年。

如果你选用了 Debian 或者 Ubuntu作为服务器,等生命周期过了以后,就没有安全补丁,你的服务器就会裸奔或者需要重新安装系统。

2、RedHat是一个值得尊敬的开源公司,长期以来Linux内核RedHat的贡献程度都是最多的。可以这么说,如果一个Linux方面的问题,RedHat搞不定,那么也很少有其他公司可以搞定了。公司有一批Linux内核方面的如雷贯耳的大牛,比如:

  • Alan Cox – Core developer, numerous contributions
  • Ingo Molnar – x86 subsystem maintainer
  • Al Viro – VFS subsystem maintainer, linux内核贡献第二多的个人
  • David Miller – Sparc Port maintainer, linux网络部分开发者, linux内核贡献最多的个人
  • Jeff Garzik – Sata subsystem maintainer
  • John Linville – Wireless subsystem maintainer
  • Stephen Tweedie – Ext3 filesystem developer
  • Eric Sandeen – XFS, Ext4 filesystem developer
  • Josef Bacik – Btrfs filesystem developer
  • Rik Van Riel – VM developer
  • Ric Wheeler – Filesystem developer
  • Val Henson – Filesystem developer
  • Dave Jones – Fedora kernel maintainer
  • Kyle McMartin – Fedora kernel maintainer
  • Chuck Ebbert – Fedora kernel maintainer
  • Eric Paris – LSM/SELinux/Audit/Capabilities maintainer
  • Eugene Teo – Security Response
  • Kay Sievers – Hotplug

3、CentOS/RHEL对硬件的支持很好,主流硬件厂商早就将服务器拿过去测试,一般不存在硬件的兼容性问题。

而Debian就麻烦了,由于有版权上的考虑和代码纯洁性上的洁癖,一些硬件驱动和软件被删掉了,导致安装过程有问题。比如 Dell 服务器上,大量使用的网卡 BroadCom,就驱动不了,安装了以后,网络起不来。

4、大量商业软件,比如 Oracle ,都是针对 Redhat认证的,有大量的帮助文档和使用说明,有良好的技术支持。出了问题,也容易在网上找到类似的答案和经验。

5、CentOS 是RedHat的克隆版,如果需要可以随时平滑切换到 RedHat,从而享受RedHat的服务支持。要知道厂商的服务,是最后一道防火墙,如果你给一个大客户做方案,他们一般会倾向选用商业服务。万一出了什么问题,还有Redhat可以求助,或者有一个RedHat可以承担责任 :-)

6、如果你是一个工程师,熟悉了 CentOS/RedHat ,找工作更加容易。如果你是一个企业老板,相对也容易招聘到熟悉CentOS/RedHat的工程师。RHCE的培训,也相对较完善,认同程度高。

7、CentOS/RHEL 的批量安装更加方便

在机房,使用kickstart + PXE安装,给客户,使用定制的kickstart光盘,一键安装,一般在5分钟左右就可以安装完。

上述3,4,5,6几点中,都说明CentOS/RHEL相对于其他Linux操作系统,有相对完整的生态环境,很多公司在CentOS/RHEL投入了大量资源,积累了大量经验,绑定了自己的利益,这个是CentOS/RHEL得以长期良好发展的保证。

=============
补充对评论的一些回复

1. 所谓的“centos稳定性非常差”,不知道你指的是什么?能否举一些CentOS不稳定的例子?至少我们用了这么多年CentOS,稳定性上可以说是坚如磐石的。如果是你说的由于yum升级造成的混乱,那只能说明你对centos不熟悉。
2、RHEL/centos 对于一些新的软件的支持,采用 SCL的方式支持,比如ruby193,python27, python 33, PHP 54, nodejs 0.10, mariadb55, postgresql 9.2
AdditionalResources/Repositories/SCL 
3、debian/ubuntu 同样存在版本稳定和程序太老的矛盾,比如他们的LTS版本,一般是两年多更新一次。 squeeze是2011年2月发布, wheezy是2013年5月发布,如果你在2013年4月使用Debian,你会发觉好多软件太老,比如:
内核:2.6.32,和Centos 6 一样的
glibc 还是使用的2.11.2
mysql使用的5.1.49
openjdk使用的是 6
php使用的是 5.3.3
python使用的是2.6.6

下一个版本的Deiban,至少要到 2015年下半年才能发布,而RHEL7/CentOS7的正式版发布在即,里面用到的不少软件,都比 wheezy的要新。按照你的逻辑,在接下来较长的时间里,是否CentOS比起Debian更加前卫?

再看看 Rio 的回复:“之前我用了很长一段时间的 Debian,但它的更新实在太慢了(好几年啊有木有!)”,呵呵

4、“debian的支持时间也非常长期 ”,这个最近确实有了改善,Debian刚刚宣布对 Debian 6.0 有了5年的LTS长期支持。可以这么说,Debian也看到了LTS的重要性,向CentOS学习了一把。
Debian — News — Long term support for Debian 6.0 Announced 

但Debian做得还不够,因为Debian的LTS在后续版本,比如 Debian 7 (wheezy), Debian 8 (jessie) 里的支持政策还不明朗:
Debian — Security Information — DSA-2907-1 

Debian的LTS支持,也不是Debian 官方安全团队维护的,而是由其他志愿者维护的,工作效率和质量是否有保证还不知道。相比RHEL明晰的发展策略和安全更新策略,有10年的安全补丁保证,还有不少差距。

5、“debian这个系列的软件包也比较新,debian和他儿子ubuntu很多软件包维护是共享的,更新速度非常快”,不知道你使用的是稳定版还是测试版。稳定版里面你是如何看到软件包“更新速度非常快”的。

Tagged: ,

Comments are closed.