CentOS、Ubuntu、Debian三个Linux比较异同

爱丽丝13
• 阅读 1774

Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。

商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版进行简单的分析。

Ubuntu

Ubuntu近些年的粉丝越来越多,Ubuntu有着漂亮的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,Ubuntu还对大多数硬件有着良好的兼容性,包括最新的图形显卡等等。这一切让Ubuntu越来越向大众化方向发展。但别忘了:你所需要的只是一个简约、稳定、易用的服务器系统而已!

Ubuntu的图形界面固然漂亮,但这也决定了它最佳的应用领域是桌面操作系统而非服务器操作系统。如何你希望在学习Linux的过程中有个沉浸式的环境,那么Ubuntu的确不错:仅仅安装在自己的电脑中而非服务器中。从这一点来讲,Ubuntu并没有在VPS安装的操作系统选择之列,相信你也不会为了那数百M的驱动与宝贵的内存买单。

CentOS

你会发现非常多的商业公司部署在生产环境上的服务器都是使用的CentOS系统,CentOS是从RHEL源代码编译的社区重新发布版。CentOS简约,命令行下的人性化做得比较好,稳定,有着强大的英文文档与开发社区的支持。与Redhat有着相同的渊源。虽然不单独提供商业支持,但往往可以从Redhat中找到一丝线索。相对debian来说,CentOS略显体积大一点。是一个非常成熟的Linux发行版。

Debian

一般来说Debian作为适合于服务器的操作系统,它比Ubuntu要稳定得多。可以说稳定得无与伦比了。debian整个系统,只要应用层面不出现逻辑缺陷,基本上固若金汤,是个常年不需要重启的系统(当然,这是夸张了点,但并没有夸大其稳定性)。debian整个系统基础核心非常小,不仅稳定,而且占用硬盘空间小,占用内存小。128M的VPS即可以流畅运行Debian,而CentOS则会略显吃力。但是由于Debian的发展路线,使它的帮助文档相对于CentOS略少,技术资料也少一些。

由于其优秀的表现与稳定性,Debian非常受VPS用户的欢迎。

此外还有Arch Linxu、Gentoo、Slackware等一系列的Linux和FreeBSD、Unix等系统,由于其涉及领域更加专业,很少在VPS中出现,因此不作介绍。

对于初学者,我们建议采用CentOS或Debian,这两种系统都能在配置较低的VPS上流畅运行。但是如果VPS配置太低(OPENVZ内存在128M以下,或者XEN架构内存在192M以下),建议采用Debian;否则建议采用CentOS,以获取更多的在线帮助与支持,让自己入门更轻松。

CentOS、Ubuntu、Debian三个linux都是非常优秀的系统,开源的系统,也分付费的商业版和free免费版本,下面简单比较这三种系统。

CentOS系统

很多网站站长一般都选择centOS系统,CentOS是从redhat源代码编译重新发布版。CentOS去除很多与服务器功能无关的应用,系统简单但非常稳定,命令行操作可以方便管理系统和应用,并且有帮助文档和社区的支持。

Ubuntu系统

Ubuntu有亮丽的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,并且Ubuntu对计算机硬件的支持好于centos和debian,兼容性强,Ubuntu应用非常多,但对于服务器系统来说,个人感觉并不需要太多的各种应用程序,需要的是稳定,操作方便,维护简单的系统。如果你需要在服务器端使用图形界面,ubuntu是一个不错的选择,你需要注意的是,图形界面占用的内存非常大,而内存越大的vps价格也越高。

Debian系统

Debian也非常适合做服务器操作系统,与Ubuntu比较,它没有太多的花哨,稳定压倒一切,对于服务器系统来说是一条不变的真理,debian这个linux系统,底层非常稳定,内核和内存的占用都非常小,在小内存的VPS就可以流畅运行Debian,比如128m的内存,但debian的帮助文档和技术资料比较少。对于小内存,首选debian,对于非常熟悉linux系统的vps高手,首选debian。

在系统的选择上,属于新手,首选CentOS,并不是centos比Debian和ubuntu好,而是centos是初学者安装vps的首选,它既稳定,占用资源又少,在网络上能方便搜索到安装配置的文档,自身的帮助文档也非常强大;如果你是linux高手,高手的境界一般都选择debian,因为高手能在低配的vps上稳定运行系统;而ubuntu,系统虽然免费,但它适合有钱人玩,它占用的资源是比前面两种系统更高,而vps基本就是卖内存,内存越高,价格越贵。

身为运营人员,我们对可靠性和稳定性非常重视,是我们的第一要务。为此,我们只使用Linux来支撑顾客的系统。但是,我们应该使用哪一个Linux的发行版?答案是,CentOS。 为什么呢?

作为一个庞大的系统运营商,在很长的一段时间里,我们需要在多种大型系统中找到一个可靠的,可预测的系统,我们需要从世界上最强大的软件供应商和开源项目中获得强有力的支持。对于那些最常用的系统,我们需要文档,工具和全球性资源。

正因如此,RedHat / CentOS系列发行版正是我们的选择。他们能够满足以上所有需求,而且问题相对较少、长期稳定,这使得我们能够为成千上万的运行了不同配置、服务和应用的系统提供世界级的维护。

RedHat Enterprise Linux (RHEL)是黄金标准的企业发行版。它每五年左右更新一次,在系统的稳定性,前瞻性和安全性上有着极大的优势。每当新的主版本发行后,比如 5.x亦或最近的6.x,所有版本和代码都将保留不变,只有安全问题或是主要的bug,例如后门,端口之类的问题,会通过发布新的子版本来修复。

CentOS是RHEL发行版对应的开源版本,通常在RedHat的发布后就会很快发行。我们使用CentOS的原因在于RHEL发行版的标准支持服务费用非常高,大约每台服务器800美元左右,对于我们很多拥有数十台甚至上百台服务器的用户来说,这是必须要控制的成本。

RHEL/CentOS系统有两个潜在的问题。

首先,一旦确定了主版本,,除了安全问题和严重故障会被修复以外,其他内容将不会做任何改变。这虽然对稳定性有好处,但是对许多服务不利。比如MySQL和PHP服务,它们在这五年的CentOS/RHEL主版本发布周期中会进行繁重的开发和大量的修改。例如,MySQL5.0 是当前RHEL/CentOS主版本所默认使用的版本,但是当前MySQL已经更新到5.1和5.5版本了。

幸运的是,这个问题被Yum软件包管理器轻易地解决了。如此以来,那些主要的软件,例如当前RHEL/CentOS中实际的组件,包括内核和所有工具等仍然来自发行版, 但是那些附加的软件,例如Nginx,Apache,PHP,Java和MySQL等等来自更新的软件源例如Fedora; 或者直接从开发商获取更新的版本例如MySQL。 在我们这里,我们有自己专用的安装镜像来全自动的处理所有这些事情。

其次,CentOS的发行会滞后于RedHat的发行,包括关键的补丁和修复。这在RHEL 6.x的发行周期中尤为显著。但是根据我们的经验,这没什么好担心的,对我们来说永远不会成为问题。

很多人询问我们为什么不用基于Debian的系统,例如Debian或者Ubuntu服务器。如果在别无选择的情况下,我们的确会支持这个建议,但是根据我们的经验来看,这些系统并不如RHEL/CentOS来的稳定和可靠。

我们认为,这在某种程度上是由于他们过快的发展和各个版本、组合之间较少的测试且不成熟所导致的。然而尽管他们非常流行,但是主要的服务商和项目都仍然首选RHEL/CentOS系统,因为这样他们就可以为企业顾客提供服务,(对Oracle和MySQL更是如此)。除此之外,基于Debian的系统有许多内核和稳定性问题,尤其是在我们的云计算服务中。

对我们而言,唯一使用Debian/Ubuntu的原因是:

“它们能够为一个系统提供必要的特殊服务时,尤其是当一些驱动程序或者一些IO 子系统需要一种新的内核的时候”。例如,ext4 文件系统或在最近的内核中日志的改变等;现在,所有这一切都包含在了RHEL/CentOS6.x中。

当然,多数Linux开发者都使用的是Ubuntu的桌面版,而且可以理解的是,他们更倾向在开发生产时使用相同的系统,并且还能使用很多有趣的工具。但总体上来说,我们依然认为RHEL/CentOS是一个更优越的部署平台,并且已经有十多个客户成功地转向使用CentOS 作为生产环境并且没有任何问题,但这仍然是艰巨的任务。

总的来说,你将更乐于看到一个良好管理的CentOS 系统。我们有成千上万台服务器使用CentOS平台,而每年平均只有一台服务器崩溃。我们也很难想象它竟如此罕见,所以,挑一个优秀、迅捷、可靠的平台吧!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
CentOS、Ubuntu、Debian三个linux比较异同
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版进行简单的分析。Ubu
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
芝士年糕 芝士年糕
2年前
Linux 系统之 CentOS 和 Ubuntu 的区别
在3A那租了一个服务器,到安装系统的时候,在想centos好还是Ubuntu好,就写了这篇文章,如果有需要服务器的话,可以私信我前言Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以Debian为代表。这些版本各有不同的特点,在不同的应用领域发挥
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这