https://jackqq.wordpress.com/2014/06/24/centos-vs-freebsd-vs-ubuntu-lts/

看到周围的人好多在用或者学 CentOS,忍不住也想看看如何。在知乎和国外看了一通关于 CentOS 和 Ubuntu Server 的唇枪舌战。更加忍不住,这两天装了个 CentOS 的虚拟机简单体验了一下。结合之前用过的 FreeBSD 还有 Ubuntu 谈谈感受。可能还有不尽之处,以后再补充,也欢迎评论。

在发布和维护上的特色:

CentOS 提供操作系统核心和大批基础软件和服务(如 perl、 apache httpd 等),并由官方维护。

主版本维护期超长, 10 年,所以它上面的软件版本只求稳定不求新。
在一个主发行版本期间,其软件包不进行升级,只进行安全修补,不做功能更新。
镜像服务器包含了软件包的全部历史版本,所以我感觉这些软件包的更新、回滚均可由管理员随意进行。
还提供了方便的 yum history rollback 机制,在部署的系统上做更新可以说高枕无忧。
但是官方不提供应用软件。由应用软件提供安装方法,因为系统的稳定性,这一点还好实现。
系统更新有邮件列表通知,或者配置 yum-cron 每天提醒。不过应用软件自身的更新就要管理员自己注意了。

FreeBSD 基本上只提供操作系统核心功能的更新和回滚,由官方团队维护。多数软件(包括perl、 apache 等)通过 ports 提供,由志愿者负责跟踪、移植上游的更新。

主版本维护期不定,大约在 5 – 6 年。
但系统的核心功能大多数应用软件不够用,还要依赖第三方的基础服务。
多数软件,及其基础服务通过 ports 或者 pkg 安装,只提供软件包的最新版本。 ports 里同时维护着该软件的多个分支版本,可以任意选择。系统发行版本和应用软件版本不是绑定的,这一点比另外两个系统更灵活。但软件之间的兼容性问题可能也更容易出现。
但不一定是最先进的分支,跟 Ubuntu LTS 的问题一样。
在本地 /var/cache/pkg 中可以有一个曾经下载的缓存,可用作紧急回滚。
系统和应用软件的安全更新事件可以有每日邮件通知。

Ubuntu LTS 提供完整的应用软件栈,并由官方维护。

维护期为 3 – 5 年。
应用软件都是从官方软件库安装的,兼容性应该不会有问题。
但基本所有软件只做修补,不更新版本。所以用不了最新版本的应用。和 CentOS 一样。
软件包的回滚机制不够方便,需要大量手工操作。 http://askubuntu.com/a/34908
所有软件的安全更新可全部由系统自动安装。管理员只需重启机器。
另外,值得注意的是,任何一个系统,无论如何安全更新,都无法保护一个有安全漏洞的应用。所以,我认为

CentOS 的维护模式更像 Windows,适合
自身研发或定制研发的软件,长时间的稳定部署
需要用应用的最新版本,又希望操作系统和硬件长期稳定不变
FreeBSD 适合
要用其自身的特色功能,如 ZFS
对第三方应用需求比较简单——单一应用栈,没有交叉依赖
Ubuntu 适合
自身研发或定制研发的前端,对二进制级别依赖较低,需要更新的功能支持,快速迭代式部署
对应用的最新功能没有特别要求,希望快速部署,自动更新

CentOS, FreeBSD, Ubuntu LTS 维护风格的简单比较的更多相关文章

  1. 【转帖】Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo

     Linux发行版:CentOS.Ubuntu.RedHat.Android.Tizen.MeeGo作者:阳光岛主 原文在这儿 Linux,最早由Linus Benedict Torvalds在199 ...

  2. 【系统】CentOS、Ubuntu、Debian三个linux比较异同

    CentOS.Ubuntu.Debian三个linux比较异同 2014-07-31 12:58             53428人阅读             评论(6)             ...

  3. CentOS、Ubuntu、Debian三个linux比较异同

    Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本. 商业版本以Redhat为代表,开源社区版本则以debian为代表.这些版本各有不同的特点, ...

  4. CentOS、Ubuntu、Debian三个linux比较异同[转]

    Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本. 商业版本以Redhat为代表,开源社区版本则以debian为代表.这些版本各有不同的特点, ...

  5. linux中CentOS、Ubuntu、Debian三个版本系统 差别

    Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本. 商业版本以Redhat为代表,开源社区版本则以debian为代表.这些版本各有不同的特点, ...

  6. CentOS、Ubuntu、Debian简析

    Centos .Ubuntu.Debian 三个Linux都是非常优秀的系统,开源的系统,也分付费的商业版和免费版,下面简单比较这三种系统. Centos系统 非常多的商业公司部署在生产环境上的服务器 ...

  7. 查看系统信息,区分Centos和Ubuntu

    查看系统信息,区分Centos和Ubuntu # cat /etc/issue \S Kernel \r on an \m centos $ cat /etc/issue Ubuntu 16.04.4 ...

  8. CentOS和Ubuntu的区别

    CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代 ...

  9. Ubuntu LTS 系统学习使用体会和实用工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04

    Ubuntu LTS 系统学习体会和工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04 ubuntu入门必备pdf:http://download.csdn.net/de ...

随机推荐

  1. hibernate 关于主键

    本文为北京尚学堂hibernate视频的学习笔记 1在xml中定义单个主键生成策略 1.1通过xml <id name="id" type="long" ...

  2. 深入理解android6.0 RunTime Permisstion

    了解下runtime permission 2015.8 google发布了android 6.0,sdk版本为23,一款"为工作升级而生"的android系统.如6.0新加入的指 ...

  3. Mybatis事务(三)事务工厂

    在前面一篇博客Mybatis事务(一)事务管理方式中我们提到,mybatis及spring提供了三个事务实现类:JdbcTransaction.ManagedTransaction和SpringMan ...

  4. 我眼中的Linux设备树(五 根节点)

    五 根节点一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是"/",至少需要包含model和compatible两个属性.model属性我们 ...

  5. 认证模式之Basic模式

    HTTP协议规范中有两种认证方式,一种是Basic认证,另外一种是Digest认证,这两种方式都属于无状态认证方式,所谓无状态即服务端都不会在会话中记录相关信息,客户端每次访问都需要将用户名和密码放置 ...

  6. JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

    JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来 ...

  7. Ext.Net 1.x_Ext.Net.GridPanel 事件

    1.行双击事件 首先设置选择方式为RowSelectionModel单行选中 [html] view plaincopy <SelectionModel> <ext:RowSelec ...

  8. 【Unity技巧】统一管理回调函数——观察者模式

    这次的内容有点类似设计模式里的观察者模式.但是和常规意义上的观察者模式也不是完全一致,所以各位就不要咬文嚼字啦!咦?设计模式?!不懂!没关系,说不定你以前就用过. 开场白 我们来想象一个场景.在加载一 ...

  9. 反对网抄,没有规则可以创建目标"install" 靠谱解答

    在ubuntu下遇到这个问题,原因其实很简单,你不能用WINDWOS下的方法用图形方式打开,然后点了一下按扭"解压缩",生成了一个文件夹. 的确,这个文件夹看起来和正常的没有什么区 ...

  10. 如何让你的传输更安全——NIO模式和BIO模式实现SSL协议通信

    对于SSL/TLS协议,如果要每个开发者都自己去实现显然会带来不必要的麻烦,正是为了解决这个问题Java为广大开发者提供了Java安全套接字扩展--JSSE,它包含了实现Internet安全通信的一系 ...