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 適合
自身研發或定制研發的前端,對二進制級別依賴較低,需要更新的功能支持,快速迭代式部署
對應用的最新功能沒有特別要求,希望快速部署,自動更新