一般情況系統管理員/運維人員首推CentOS;開發人員首推Ubuntu/Debian。對于各個系統優劣,下面從生命周期、包管理、對硬件支持和適用性上做個詳細說明。
生命周期
生命周期就是對系統的支持,補丁安裝、漏洞修復之類的,過了生命周期后,并不是能不能用,而是不再對這版系統進行修復,會有安全或穩定方面的問題。
CentOS生命周期一般為7年,在非云服務器的年代里,這個生命周期有一個特殊的意義,就是計算機硬件的更新換代的速度,CentOS生命周期基本上可以覆蓋服務器硬件的生命周期,就是說你買了服務器安了系統后,下次更新硬件設備,你不需要折騰系統了。
Ubuntu的LTS(Long-Term-Support長期支持)版,平均2年出一個版本,基本都提供5年支持更新,也有例外,這個年限不是絕對的,比如2008年4月22日發布了Ubuntu 8.04 LTS,第一次更新2008年7月1日Ubuntu 8.04.1 LTS;第二次更新2009年1月21日Ubuntu 8.04.2 LTS;第三次更新2009年7月9日Ubuntu 8.04.3 LTS;第四次更新2010年1月21日Ubuntu 8.04.4 LTS。前后大概一年半左右的時間。
Debian的生命周期不太固定,新版本的發布時間也不固定,經常會延遲,一般情況,新版本發布后,會對上個版本繼續支持18個月左右,總體算下來,平均生命周期會在3~4年左右。
包管理
Ubuntu/Debian的包管理做的非常好,很多時候你可能只需要一個apt-get就把事情搞定了,而CentOS,你時常可能要面對下載源代碼自己編譯,版本控制也可能成為一大問題。有個java項目用的Spring框架,用到MQ和WebSocket,在Ubuntu中幾條命令解決,部署到CentOS,那個費勁,各種下載,有些只能用源代碼編譯,當然對CentOS不熟悉也是一方面原因。
對硬件支持
這個沒得說,一定是CentOS,如果是非常大的項目,還是建議用CentOS,Debian非常規的網卡和硬盤陣列卡有時候驅動不起來。
適用性
國內的商業公司部署在生產環境上用的系統CentOS比較多,而Ubuntu在國內可能更受個人開發者所歡迎,Debian做為服務器系統,相比Ubuntu沒有那么多的花俏,穩定是王道。
一般情況:
系統管理員/運維人員首先推薦CentOS,理論上系統比較穩定,雖然他會給開發人員造成部署上許多出其不意的麻煩,做為系統管理員,服務器的穩定會是他的主要職能,也是在做選擇時的主要考量標準之一。如果你是系統管理員,對CentOS了解多一些或許會好找工作。
開發人員首推Ubuntu/Debian,因為做發開發者,把你寫的程序安全、穩定、便捷的推送到服務器上是非常必要的,畢竟部署不上程序,老板會直接找到你。
我之前公司用的開發環境Ubuntu和Mac,語言是Ruby;對于生產環境,因為我對Ubuntu更加熟悉一些,所以服務器用的Ubuntu,并且在部署時并沒出太大的問題。
這之后接了一個Java項目,開發環境Ubuntu/Elementary/Mac,生產環境CentOS,服務器部署時各種問題,不是包不全,就是文件權限、防火墻,各種折騰了一天才搞定。
所以,如果你是初學者或者開發人員的話,非常建議用Ubuntu/Debian做服務器;如果你是系統管理人員或運維人員,并且不需要你來開發部署程序的話,CentOS或許是第一選擇。
如果沒有特殊要求或使用場景,這三個系統都可以選擇,選擇一個你熟悉的系統或許對之后的運維更加便利些。