微信號(hào):tatait
與其它大部分桌面及服務(wù)器操作系統(tǒng)不同,Linux擁有多種多樣的版本及種類供廣大用戶任意選擇,而且它們?nèi)炕谕惶淄ㄓ眯蚅inux內(nèi)核以及一系列GNU用戶空間工具。如果大家正在運(yùn)行Linux服務(wù)器或者Linux桌面系統(tǒng),那么最重要的一點(diǎn)就是確保自己真正理解不同Linux發(fā)行版之間的差異所在,并根據(jù)這類區(qū)別為實(shí)際使用狀況選擇最合適的針對(duì)性方案。如果各位對(duì)此還感到有些信心不足,別怕——今天的文章就將幫助大家解破迷津。
由于Linux屬于開源軟件,因此Linux發(fā)行版的具體數(shù)量也實(shí)在相當(dāng)龐大、甚至難以準(zhǔn)確統(tǒng)計(jì)。不過(guò)從另一方面看,真正能夠在市場(chǎng)上獲得可觀份額比例的發(fā)行版并不太多,目前商用Linux部署領(lǐng)域的幾大競(jìng)爭(zhēng)者分別為:紅帽企業(yè)Linux(簡(jiǎn)稱RHEL)、CentOS、Fedora、Ubuntu、Debian以及OpenSuse。
風(fēng)格與實(shí)質(zhì)
其實(shí)不同發(fā)行版之間的大部分差異都只能算是細(xì)枝末節(jié)。它們所高度關(guān)注的定制對(duì)象其實(shí)主要來(lái)自小處,而非核心功能。文件系統(tǒng)布局、配置設(shè)定、更新機(jī)制以及綁定配置工具可能千差萬(wàn)別,但它們的相似之處要遠(yuǎn)遠(yuǎn)多于區(qū)別所在。
即便如此,不同發(fā)行版之間仍然存在著明確的劃分,而其中最主要的部分在于系統(tǒng)設(shè)計(jì)層面。當(dāng)面對(duì)生產(chǎn)環(huán)境下的Linux管理工作時(shí),大家會(huì)發(fā)現(xiàn)各類發(fā)行版在穩(wěn)定性以及對(duì)不同主流開源軟件包的支持能力等領(lǐng)域存在顯著差異。如果不能準(zhǔn)確把握這些源于細(xì)微的分別,我們?cè)诓渴鸩⑦\(yùn)行自己的應(yīng)用程序時(shí)可能會(huì)將原本一帆風(fēng)順的流程搞得波瀾翻騰、暗流涌動(dòng)。
首先以Web服務(wù)器為例進(jìn)行分析。所有Linux發(fā)行版都綁定有Apache Web服務(wù)器,但不同版本在實(shí)施Apache所使用的文件系統(tǒng)布局及配置機(jī)制方面存在著些許不同。
舉例來(lái)說(shuō),Ubuntu將Apache版本2稱為“apache2”,而CentOS與RHEL則將其稱為“httpd”。這將直接影響到Apache配置文件在不同發(fā)行版當(dāng)中的實(shí)際保存位置。在CentOS與紅帽Linux中,我們可以在…/etc/httpd目錄下找到這些配置文件; 而在Ubuntu當(dāng)中,其位置則在…/etc/apache2當(dāng)中。除此之外,Ubuntu及其它一些發(fā)行版可能會(huì)將Apache文檔放置在…/var/www當(dāng)中,而CentOS與RHEL則將其保存于…/var/www/html之內(nèi)。
再有,Ubuntu提供一套自主開發(fā)的Apache配置管理方案,允許管理人員將Apache配置片段分別放置在/etc/apache2/sites-available與/etc/apache2/sites-enabled當(dāng)中,從而利用a2ensite以及a2dissite等定制化命令將這些片段在Apache中遷移與載入、借此實(shí)現(xiàn)管理目的。也就是說(shuō),大家能夠通過(guò)命令行隨意啟用或者禁用虛擬網(wǎng)站。CentOS與RHEL并不提供這樣的功能,因此我們需要以手動(dòng)方式對(duì)配置文件進(jìn)行管理。
Ubuntu提供的方案并不一定更好或者更差——其實(shí)際效果如何還是要視用戶的具體需求而定。一方面,它確實(shí)能夠更為輕松地完成網(wǎng)站設(shè)置等操作; 但在另一方面,大家也需要將自己的配置方案進(jìn)行針對(duì)性調(diào)整、從而使其能夠與自定義配置命令切實(shí)對(duì)接。經(jīng)驗(yàn)老到的Apache管理員可能覺(jué)得直接手動(dòng)調(diào)整更方便,但新手用戶們則往往更認(rèn)同Ubuntu提供的解決方案??偠灾?,到底孰優(yōu)孰劣還是要由廣大用戶自行判斷。
其它一些差異同樣不容忽視。在默認(rèn)情況下,Ubuntu會(huì)鎖定root用戶,同時(shí)要求管理員在安裝流程中創(chuàng)建一個(gè)本地用戶; 此用戶擁有使用sudo命令的權(quán)限、旨在執(zhí)行與root用戶相等同的各項(xiàng)任務(wù)。CentOS與RHEL則不提供此類限制,而且允許root用戶對(duì)所有內(nèi)容加以訪問(wèn)。
某些發(fā)行版還提供多種定制化配置工具。Suse Linux(以及OpenSuse)采用YaST(全稱為Yet another Setup Tool),這款系統(tǒng)安裝與配置管理工具在其它Linux發(fā)行版中并不存在。
守護(hù)程序中的玄機(jī)
另外值得注意的是,當(dāng)前發(fā)行版當(dāng)中可能采用相當(dāng)廣泛但卻無(wú)法與陳舊版本共享的設(shè)計(jì)機(jī)制。舉例來(lái)說(shuō),systemd在各大主流Linux發(fā)行版的最新版本中被用于取代sysvinit,并從根本上改變了服務(wù)器在運(yùn)行這些發(fā)行版的啟動(dòng)、載入以及管理服務(wù)的具體方式(但這種解決思路也引發(fā)了一定爭(zhēng)議)。這些發(fā)行版的原有版本并不提供systemd,因此無(wú)法享受到由此帶來(lái)的執(zhí)行效率及性能表現(xiàn)提升。如果大家正在選擇理想的Linux系統(tǒng)版本,這一點(diǎn)確實(shí)值得認(rèn)真考慮。
不同Linux發(fā)行版之間的另一大關(guān)鍵性區(qū)別元素在于軟件包更新機(jī)制以及軟件包的更新頻率。在Ubuntu與Debian當(dāng)中,大家可以使用Apt(即高級(jí)軟件包工具)來(lái)處理與發(fā)行版相關(guān)的更新工作。這款工具允許用戶對(duì)個(gè)別軟件包或者系統(tǒng)整體進(jìn)行更新。而在RHEL、CentOS、Fedora以及其它一些發(fā)行版中,Yum(全稱為yellodog Updater, Modified)則扮演著軟件包管理工具的角色。Apt與Yum采取較為相似的運(yùn)作方式,允許管理員配置自定義軟件庫(kù),并輕松實(shí)現(xiàn)軟件包升級(jí)以及系統(tǒng)維護(hù)工作。
總體而言,大家可以通過(guò)以下概述了解各類主流Linux發(fā)行版的具體特色。
各大主流Linux發(fā)行版特性一覽
RHEL與CentOS
采用穩(wěn)定但略為陳舊的內(nèi)核及基礎(chǔ)軟件包。這些版本的發(fā)布周期較長(zhǎng),而且“當(dāng)前”軟件包通?;趦赡昵暗能浖姹尽6邔儆诓渴鸱秶顬閺V泛的Linux發(fā)行版,同時(shí)也是老牌Linux管理員們的最愛(ài)。
Fedora
穩(wěn)定性略遜于前兩者,但內(nèi)核與軟件包的更新頻率更高。通常被作為RHEL與CentOS的測(cè)試性發(fā)行版。
Ubuntu
將穩(wěn)定的舊有版本與新型維護(hù)機(jī)制相結(jié)合,從而提供穩(wěn)定性略遜但卻更具更新時(shí)效性的解決方案。其LTS版本適用于那些對(duì)穩(wěn)定性及長(zhǎng)期支持服務(wù)較為重視的管理員,在使用層面上也更適合新手用戶。
Debian
Ubuntu以Debian為基礎(chǔ),因此大家能夠在二者之間找到頗多相似之處。Debian同時(shí)提供三種版本供大家選擇:“穩(wěn)定版”、“測(cè)試版”以及“非穩(wěn)定版”。生產(chǎn)型工作負(fù)載顯然應(yīng)該使用“穩(wěn)定版”,而其發(fā)布周期也相應(yīng)更為漫長(zhǎng)。
OpenSuse
盡管屬于紅帽發(fā)行版的遠(yuǎn)親,但OpenSuse與其它各類Linux版本都存在顯著差別。它依賴于YaST配置工具,而且提供引入Novell及微軟解決方案的可用版本。
在多種方案中做出正確選擇
在選擇Linux發(fā)行版的過(guò)程當(dāng)中,通常需要認(rèn)真考慮以下幾種關(guān)鍵性因素:
熟悉性。堅(jiān)持使用自己所熟悉的Linux發(fā)行版,由此帶來(lái)的優(yōu)勢(shì)往往遠(yuǎn)大于使用其它較為陌生的發(fā)行版本。如果對(duì)CentOS與RHEL較為了解,那么從長(zhǎng)期運(yùn)行角度看這些版本要比其它發(fā)行版更具便捷性優(yōu)勢(shì)。除非服務(wù)器對(duì)此有強(qiáng)制要求,否則大家最好使用自己熟知的發(fā)行版選項(xiàng)。
便捷性。就應(yīng)用程序堆棧的同質(zhì)性來(lái)說(shuō),值得考量的因素也很多。保證整套堆棧當(dāng)中使用同樣的發(fā)行版本幾乎成為工作當(dāng)中的主要環(huán)節(jié)。如果大家的應(yīng)用程序服務(wù)器運(yùn)行的是CentOS,那么我們的數(shù)據(jù)庫(kù)服務(wù)器也同樣應(yīng)該使用CentOS——除非存在不可妥協(xié)的理由,否則請(qǐng)務(wù)必保證不同服務(wù)器設(shè)備選擇同樣的Linux操作系統(tǒng)。
服務(wù)器要求。最后,大家所選擇的Linux發(fā)行版也受到所需要部署的應(yīng)用程序及服務(wù)項(xiàng)目的影響。舉例來(lái)說(shuō),如果服務(wù)器必須運(yùn)行MySQL或者PHP等常見(jiàn)軟件包的最新版本,那么大家最好選擇CentOS或者RHEL的穩(wěn)定版本——這些版本擁有周期較長(zhǎng)的支持規(guī)劃,能夠確切符合合規(guī)性方面的要求。除此之外,大家可能還需要使用大量由第三方開發(fā)商提供的其它軟件庫(kù)以及由眾多貢獻(xiàn)者打造的使用包,這些方案由于并非來(lái)自系統(tǒng)官方、因此有可能帶來(lái)支持性問(wèn)題。在某些情況下,大家可能還需要?jiǎng)?chuàng)建自己的軟件包RPM或者定制化軟件包,并保證它們能夠與最新軟件包版本順利對(duì)接與協(xié)作。
除此之外,還有研究表明Fedora已經(jīng)能夠提供大家所需要的MySQL或者PHP版本,因此使用Fedora能夠幫助各位有效節(jié)約時(shí)間及精力。在另一些情況下,Ubuntu或者Debian可能更符合各位服務(wù)器對(duì)于軟件運(yùn)行的要求,因此即使對(duì)這兩類發(fā)行版不太熟悉、大家也應(yīng)該認(rèn)真考慮加以使用。
大家還可以根據(jù)自己預(yù)先規(guī)劃好的應(yīng)用程序或者服務(wù)堆棧作為基礎(chǔ),考慮哪些發(fā)行版最適合其實(shí)際需要。再有,大家還可以從其它一些Linux發(fā)行版當(dāng)中找到部分相關(guān)解決方案。大家最好能堅(jiān)持使用這些版本以確保整套系統(tǒng)擁有出色的兼容性表現(xiàn)。
穩(wěn)定性。最后,從保守角度看強(qiáng)調(diào)穩(wěn)定性也是很重要的一點(diǎn)。在默認(rèn)情況下,穩(wěn)定的操作系統(tǒng)版本應(yīng)該成為大家的首選方案。如果當(dāng)前的穩(wěn)定版本無(wú)法滿足對(duì)于服務(wù)器對(duì)軟件的要求,那么使用更新版本要比采用配備新型軟件包的原有穩(wěn)定性陳舊版本更具實(shí)際意義。
最好不要讓生產(chǎn)型服務(wù)器運(yùn)行來(lái)自各家供應(yīng)商的非穩(wěn)定或者測(cè)試操作系統(tǒng)版本。某些管理員可能會(huì)對(duì)這條指導(dǎo)意見(jiàn)擁有自己的理解,認(rèn)為這意味著我們不應(yīng)該在生產(chǎn)服務(wù)器之上運(yùn)行非LTS版本的Fedora以及Ubuntu系統(tǒng)。雖然這確實(shí)可算是一條值得借鑒的通行規(guī)則,但例外情況總是存在的。充分了解所涉及的風(fēng)險(xiǎn)以及可能出現(xiàn)的實(shí)際問(wèn)題,我們通常就能夠充分發(fā)揮出非穩(wěn)定或者測(cè)試版本的潛在優(yōu)勢(shì)。
在很多情況下,Linux發(fā)行版的選擇也并不完全取決于大家的個(gè)人考量。如果大家需要使用一套VPS(即虛擬私有服務(wù)器)或者云服務(wù)器實(shí)例,甚至是在托管設(shè)施中部署專有服務(wù)器,大家往往會(huì)擁有一系列由供應(yīng)商提供的受支持發(fā)行版組合。對(duì)于各家主流Linux操作系統(tǒng)供應(yīng)商而言,這些受支持的發(fā)行版通常來(lái)自RHEL、CentOS、Fedora、Ubuntu、Debian以及OpenSuse的部分子集。
一部分供應(yīng)商只提供面向CentOS以及Ubuntu的版本,也有一些專門打造以Fedora與Debian為基礎(chǔ)的發(fā)行版。少數(shù)供應(yīng)商提供的版本以O(shè)penSuse為基礎(chǔ),其發(fā)行版數(shù)量也基本維持在四到五個(gè)之間。除了前面提到指導(dǎo)性意見(jiàn),大家也可以結(jié)合下面這份表格了解哪種Linux發(fā)行版最適合自己的實(shí)際項(xiàng)目。
當(dāng)然,大家也可以多多體驗(yàn)不同Linux發(fā)行版、并結(jié)合感受選出最合適的選項(xiàng),這應(yīng)該能保證各位發(fā)現(xiàn)最能滿足個(gè)人需求的項(xiàng)目。
Copyright? 2012-2013 TATAIT.COM All Rights Reserved 深圳塔塔咨詢服務(wù)有限公司 版權(quán)所有 深圳網(wǎng)站建設(shè):沙漠風(fēng)
塔塔IT—高端IT培訓(xùn)領(lǐng)導(dǎo)品牌,專注于IT前沿技術(shù)的傳播與應(yīng)用。專業(yè)創(chuàng)造價(jià)值,服務(wù)贏得口碑!