Linux越來越臃腫?這些發行版是時候減減肥了
譯文【51CTO精選譯文】隨著日復一日為創建新虛擬服務器模板努力工作,我逐漸發現用戶其實希望能在安裝流程中擁有一套專為虛擬化或者至少只針對虛擬機環境的Linux發行版。某些發行版確實在這方面做出了一定傾斜,例如Ubuntu與OEL jeOS(即just enough OS,剛剛夠用的操作系統),但它們并沒有針對虛擬服務器領域做出必要調整。
對于大規模安裝任務,現有發行版選項普遍采取了這樣或那樣的高度定制方案——或者以模板的形式部署在虛擬機中、或者通過客戶端安裝工具乃至腳本根據業務需求部署其中的特定部分。然而這些定制效果都是一次性的,它們無法廣泛適應或被使用在各類業務環境當中。通常情況下,這些自定義模板或安裝機制只針對某一款單獨應用程序,且必須經過大幅改動才能在其它用例中發揮作用。如果能在安裝之前提供專門的“虛擬機環境”選項,相信安裝工具能更高效地運作、結果也會更加令人滿意。
所謂“更令人滿意”,我指的是不會在不必要的環境中安裝SMART工具或者藍牙系統。我不需要X11或桌面環境,而且顯然不需要將ISDN支持設為默認啟用狀態。在虛擬服務器環境下,不僅存在很多根本沒有實際意義的工具及實用程序,二者所附帶的各類庫也完全沒有安裝的必要。系統中總有很大一部分內核模塊的使用可能性幾乎為零,因此這部分內核選項及其相關數據應該被徹底排除在安裝對象之外。雖然開發人員辛辛苦苦寫出了這些代碼,但我們實在沒有任何理由讓它們占用系統資源——這也正是管理員在準備定制模板或進行大規模安裝工作時需要完成的任務。
我個人希望看到一套專為虛擬機環境所打造并受到支持的主流Linux發行版,甚至是針對特定虛擬機管理程序。這實際并不會增加發行版的可用數量,而只是以額外安裝選項的形式滿足用戶的愿望。大家實際上已經親自動手實現了這一訴求,命名在RHEL上,我們需要篩選每一們默認軟件包并排除不必要的部分,然后再安裝經過修剪的精簡版定制內核。這些工作也可以通過Kickstart以腳本化方式進行,但這將再次把我們帶入一次性勞動的怪圈。
有趣的是,在谷歌中搜索“紅帽vmware優化安裝”后,返回結果中的***條是如何在VMware中安裝Red Hat Linux 7.3的鏈接。而在搜索“RHEL vmware優化安裝”時,其中顯示的最有幫助的博文鏈接也已經撰寫于三年之前。這實在是令人驚訝,無數管理人員都在不斷重復勞心勞力的過程,為什么直到現在我們也沒看到一套由主流商業化Linux供應商提供、能夠自上而下大面積推開的優化運動?
我估計其中一大重要原因在于,供應商自己也很難拿出一份能夠得到普遍接受的虛擬機必要軟件包列表,這樣的標準實在不易界定。但我們能夠肯定的是,用戶并不需要一大堆默認安裝軟件包,而且將額外需要的軟件包添加進去比把它們從安裝列表中剔除要容易得多。在重新啟動之后,我們可以另行安裝業務所需的各類工具,系統本身精簡些并沒有問題。
再者,從已經安裝完成的系統中刪減軟件包相當令人頭痛,因為我們寧愿選擇謹慎一些的處理方式(誰知道DNS服務器什么時候會用到CUPS呢),也不希望自己的額外處理引發定制內核失效的惡果。當然,如果能有一套內核虛擬化RPM來自動化處理一切,情況會好得多——但這又是另一碼事了。我得說,很多Linux發行版所提供的默認方案讓人感覺莫名其妙——就以Ubuntu Server 12.04為例,它只會詢問用戶是否打算安裝GNOME,但我們實際上可能還希望安裝Transmission BitTorrent客戶端;RHEL則會安裝xsane掃描儀前端。
***,我們再來看看這種變化會給哪些用戶帶來影響。大多數管理員都不愿意深入研究默認安裝選項并從中剔除不必要的部分。沒錯,我們的存儲資源如今已經相當豐富,但能把虛擬機安裝體積從2.5GB縮減為500MB同時又不損失任何實用功能,這樣的成效在規?;O施中顯然***吸引力——尤其是在備份工作方面。另外,體積的壓縮還能大大降低我們在存儲陣列之間移動這些虛擬機所需要的時間。
也許是我太過挑剔,這樣的細支末節在很多人眼中恐怕根本不值一提。但我仍然堅持自己的觀點,因為每次看到大量Linux虛擬機還承載著負責處理ARCNET、Token Ring網絡適配器以及PCMCIA SCSI等已經多年沒使用過的軟件包時,我都要對由此帶來的浪費心生慨嘆。也許有人會說,至少這樣一來DNS服務器虛擬機就能在極端情況下訪問古老的并行端口掃描儀了。哦,如果真要這么較真,那為什么不多給虛擬機裝幾個游戲呢。
原文鏈接:
http://www.infoworld.com/d/data-center/linux-fatware-these-distros-need-slim-down-215757