2011/8/24
伺服器安裝第一首選 CentOS 6帶來寧靜革命
翁卓立
根據維基百科的統計,世界上曾經出現過的Linux發行版本,其數量有253種之多。
雖然被納入計算的發行版本中,有些是屬於特定版本的衍化版本(例如Ubuntu、Kubuntu、Xubuntu等被計算為三種,即使它們都是屬於Ubuntu的變化版本),但就算將這些差異較小的版本也視為相同版本,Linux發行版本的統計數量仍然輕易超過100種。
由此可見,Linux各種發行版本的數量相當眾多,也讓Linux使用者擁有相當程度的決定權,可以自行挑選適合自己的發行版本加以使用。
早期的Linux發行版本中,由於較不強調安裝或使用者介面的便利性,因此常給人一種難以親近的感覺,甚至傳出「Linux是專業人士所使用的作業系統」這種說法。
雖然Linux的愛好者極力消除這種負面傳聞,但因為許多Linux初學者在接觸Linux時,一開始便在安裝過程豎起白旗而無法繼續使用Linux系統,所以造成許多初學者在面對Linux時產生不由自主的恐懼心理,甚至認定這種作業系統本身難以上手,不適合初學電腦自行嘗試使用。
這樣的情況在Linux剛開始發展的數年內相當普遍,一直到Red Hat的推出,才總算讓人覺得Linux的安裝與操作,不再是一件難如登天的工作。
Red Hat提供了較為直覺化的安裝介面,加上使用RPM套件管理程式,所以無論是一開始的安裝過程,或是後續的套件安裝與管理作業,都能相當容易地完成。
如此方便的設計,自然讓Red Hat的聲勢如日中天,也順利成為許多人初學Linux系統時所指定使用的Linux發行版本。
Red Hat改投商業陣營
但Red Hat發展到9.0版之後,由於商業利益上的考量而轉型為純商業化的版本,也就是所謂的Red Hat Enterprise Linux(RHEL),從此不再有免費下載的版本,也不提供免費的技術支援服務。
對於已經習慣使用Red Hat的使用者而言,Red Hat轉換成僅提供商業版本的Linux發行版本,意味著必須尋找其他發行版本,否則會在一段時間之後,仍須面臨Red Hat 9.0停止提供支援的問題。
雖然Red Hat稍後便以贊助Fedora的方式,間接提供免費的Linux發行版本,但這樣的方式仍然有不少人存有異議。因為通常Fedora會先導入一些新技術,直到這些技術較為成熟後,才移植到RHEL的下一個版本中。
有些人認為Red Hat這樣的舉動,是以Fedora作為實驗場所,等到技術驗證完成,才會在商業化的版本中使用這些技術。雖然對於免費版本的使用者而言,本身並沒有實質付費取得軟體,對於母公司的決策多半也只能照單全收。
但是,被企業當作白老鼠進行實驗,多少還是會讓人覺得不舒服。再加上RHEL通常在穩定性等各方面,會比Fedora等免費版本的Linux發行版本來得較為穩定,所以眾人對於Fedora這套發行版本的質疑聲浪從未停止過。
嚴格說來,就個人使用的場所來講,使用Fedora已經是相當穩定的選擇。雖然Fedora被視為是RHEL的實驗室,但這些新技術對於一般使用者而言可能並不是相當常用的功能,在大多數的情況下可能也不會使用這些新技術,因此即使新技術帶來一些不穩定的因素,影響也不會太大。
▲CentOS的作業畫面。
但如果是公司行號或是中、大型企業,這樣的問題便極有可能帶來一些風險。雖然企業可以使用一些資金購買RHEL以避開這些風險;但對於只想使用RHEL穩定技術的使用者而言,如果不想冒險採用Fedora,也不打算付費購買RHEL所提供的商業軟體與支援,那麼目前就只剩下一種選擇,也就是CentOS。
CentOS發展簡史
CentOS是一個基於RHEL的Linux發行版本,其目的是為了提供一套免費與自由的企業等級Linux發行版本。
CentOS的名稱來自於「Community ENTerprise Operating System」,從名稱便可以知道這是一套由社群主導、並以企業級用戶為主要目標的作業系統。
CentOS最主要是經由社群來進行支援,並且大量使用自由軟體。雖然是由社群主導,但是其中的一些成員本身便是Red Hat的開發人員,因此在相容性與穩定度方面都與RHEL相當的接近,並且不必擔心CentOS是由社群人員所主導,而在品質上有落差存在。
由於CentOS可以視為是RHEL移除掉非自由軟體後的產物,因此除了提供的軟體可能稍有不同外,CentOS幾乎可以視為是RHEL的同等級產品,也能夠直接使用相對應RHEL版本的執行檔,而不須要重新編譯。
目前CentOS是網頁伺服器用途的主機中最廣為使用的一套Linux發行版本。根據統計,目前大約有30%的Linux伺服器使用CentOS。許多書籍、網站在介紹Linux的操作方式時,也會援引CentOS作為操作介面。
通常CentOS都會在RHEL推出新版本之後,經過一小段時間的修改與測試之後再推出新的版本,而其版本編號大多也會跟隨RHEL的版本編號,例如目前最新版本的CentOS 6,其相對應的RHEL版本便是RHEL 6。
以往RHEL推出新版本之後,CentOS多半會在一、二個月內推出相對應的新版本,最多只須要等待三個月即可下載最新版本的CentOS。
但此次CentOS 6則是在RHEL 6推出八個月後才推出,不但創下有史以來與RHEL主版本最長的推出間隔時間,也讓人更加好奇此版本是否有更強大的新功能,才會讓開發團隊花費如此長久的時間進行改版。
▲CentOS提供許多線上支援服務,例如IRC或線上論壇等等。
與其他Linux發行版本相比,CentOS擁有許多獨特的優點。例如,CentOS的背後有一個運作且成長中的使用者社群,此社群不但提供CentOS的開發工作,也能讓一般使用者直接參與討論。如果整合的軟體功能或套件有問題,CentOS也會立即反應,並且重新建立與測試新的套件。
而持續擴大中的鏡射網路(Mirror Network)則讓使用者可以在越來越多的網站中找到CentOS的下載點,不必再連接到大老遠的國外網站進行下載。不但速度緩慢,也容易因為全世界的人都集中到某些特定網站進行下載,而造成網路壅塞的情況發生。
CentOS強調一般使用者都可以聯絡到開發者,並且會回應使用者所提出的開發建議或問題修改。在使用CentOS方面,如果有操作上的問題,則可透過IRC聊天室、電子郵件列表、線上討論區,或是隨時進行更新的常見問題集取得答案。
CentOS 6新特色
CentOS 6目前所支援的中央處理器(CPU)平台僅僅只有x86系統,但無論是32位元的i386或者是64位元的x86_64,都有提供相對應的安裝光碟影像檔下載的服務。
目前看來,CentOS尚未打算支援其他的CPU平台,這種情況或許在將來的版本之中才有可能改變。
CentOS除了提供安裝光碟外,也有另外提供Live CD與Live DVD的版本。使用者可以先行試用過CentOS的功能後,再決定是否安裝此系統。Live CD與Live DVD也可以作為安裝光碟使用,所以不須要另行下載單純的安裝光碟。
此外,CentOS也提供了取名為最小安裝光碟的版本。使用此版本進行安裝,可以在機器上建立一個最基本的CentOS環境。
此環境雖然提供的軟體數量與功能都較其他版本較少,但已經是一個可以運作的CentOS環境。如果不喜歡Linux發行版本總是安裝一堆完全不會被使用的軟體,則可以考慮使用此版本進行安裝。
如果先前已經使用過CentOS 4或CentOS 5版本的使用者,現在打算升級至CentOS 6,建議最好重新安裝再進行資料整合的工作,千萬不要直接升級。因為直接升級可能會發生一些新舊套件與軟體彼此衝突的情況,在處理上較為麻煩。
▲CentOS可以從許多鏡射站台取得,並且提供多種不同的安裝媒體可供下載。
從CentOS 6的版本編號中,可以得知此版本是基於RHEL 6.0所變化而來的發行版本,但CentOS 6將所有RHEL的數個套件資料庫整合為一,這讓使用者更加容易使用,也可避免操作時發生不必要的問題。
CentOS 6也採用了更新的核心版本,並且在系統效能和管理工具上都進行加強。不但提供更加現代化的作業系統,也在桌面操作環境的體驗上持續進行改善,所以操作顯得更加簡捷。
在檔案系統與儲存相關功能方面,CentOS 6則在此次的新版本中採用ext4作為預設的檔案系統。ext4檔案系統雖然問世時間不長,一開始也曾經傳出有人質疑其穩定性的疑慮,但經過這段時間的驗證,目前已經廣為大多數的Linux發行版本所採用,CentOS也是其中的一份子。如果不希望採用ext4,而打算使用先前已經有不短研發歷史的ext3或是其他檔案系統,也是可行的方案。
▲CentOS源自於RHEL,穩定性與操作便利性都與Red Hat Enterprise Linux不相上下。
而在邏輯磁碟管理員(Logical Volume Manager,LVM)方面,CentOS 6開始支援可合併的快照功能。這樣的功能也讓CentOS終於能夠支援以rsync的方式進行較為安全的檔案層級複製功能。
這樣的機制是透過交易方式進行處理,所以不必擔心處理到一半發生中斷而造成問題。
在網路部分,CentOS 6最大的新增功能則是支援以iSCSI作為系統主要分割區(Root Partition)或是「/boot」分割區的功能。如此一來,主機的根目錄檔案系統甚至可以放置到網路上,而不一定要使用本機的磁碟空間。
此次,CentOS 6提供了較新版本的Linux核心並支援「tickless」功能,讓系統的耗電量有機會降低一些,以達到節能的目標。另外,也採用了「Cgroups」功能,可以在不同的行程群組中進行資源配置,讓系統運作的彈性更加強大。
由於CentOS大多被使用者拿來充當伺服器之用,因此網頁伺服器與相關應用程式的版本,通常也會在CentOS釋出新版本時同時更新。此次,CentOS 6內建Apache 2.2的版本,MySQL與PostgreSQL資料庫系統則分別更新至5.1.47與8.4.4版。
而在相關的程式語言直譯器方面,則是採用Ruby 1.8.7與PHP 5.3.2。當然,這些版本也都能隨著時間變化而持續進行線上更新,並不限定只能使用這些版本。
結語
CentOS推出的主要目的,是希望可以提供一套穩定的Linux解決方案,讓不須要商業支援的團體或個人也能同時享有與商用版本功能相近的Linux系統。為了達到這樣的目標,CentOS持續在許多方面進行改善。例如,系統管理與維護變得更加容易,甚至允許任何人自行建立伺服器主機。
如果主機預計在正式場合使用,CentOS的長期支援計畫也相當適合安裝在此方面的主機上。而且,無論是應用程式或核心功能,CentOS都能提供長達數年的更新支援,確保系統不至於在短時間之內立即進行系統更換工作。
或許很多人都有自己慣用的Linux發行版本,對於更換其他發行版本的興趣缺缺,但如果希望得到更佳的支援與更好的伺服器運作效能,使用CentOS雖不能斷言是最佳的選擇方案,但絕對會是較好的選擇之一。