Linux服務器幾乎從不採用Arch Linux?

咱們見得多的Linux服務器系統通常都是什麼Ubuntu Server啊,什麼Cent OS啊,什麼Fedora啊,或者企業採用的Red Hat啊,爲何幾乎沒有Arch Linux呢?下面我將從若干個方面指出Arch Linux在服務方面的劣勢。html

一、過度激進的滾動更新linux

滾動更新是Arch Linux最大的優點,但同時也是最大的劣勢之一。鑑於Linux屬於一類徹底開放的項目,技術人員的能力良莠不齊,貢獻的代碼質量固然也是良莠不齊的。對於其它的發行版來講,軟件包須要通過社區完善的測試纔會被髮布至軟件源從而被用戶更新;然而,Arch Linux的滾動更新機制過度激進,而Arch社區對軟件包的測試並不是絕對完善(有多少人滾掛過?)。服務器

Linux服務器幾乎從不採用Arch Linux?Linux服務器幾乎從不採用Arch Linux?
假如一臺Arch服務器在更新時滾掛了,技術人員頂着Boss的壓力,不只要一邊努力恢復服務器,還要一邊向Arch社區的上游反饋Bug、提Issue。這種事情誰都不肯意乾的吧。工具

二、激進的內核更新機制測試

不少Linux桌面用戶不止一次地問過我,爲何他們的桌面Linux在更新的時候不會像Arch同樣當即刪除舊的內核?這樣不是會浪費空間嗎?這種當即刪除舊內核的更新機制也是Arch做爲服務器的劣勢之一。首先,新的內核不必定都能正常工做。萬一你的新內核形成崩潰,你沒有辦法當即加載舊的內核,而必須從新安裝舊的內核。這個過程是很是麻煩的,你不只須要從安裝介質啓動,還必須設法弄到舊版內核的軟件包。對於遠程服務器來講,幾乎無解。下面是來自Arch Wiki的解決方案。能夠看得出來這有多麼麻煩:圖1:爲何Arch Linux不適合做爲服務器操做系統其次,當即刪除舊的內核要求系統必須重啓來加載新的內核,不然容易發生詭異的問題。這是由於Linux所謂的「內核」包含有大量的動態加載模塊,若是在某次啓動後,某個模塊沒有被加載過,而後系統內核更新了,刪除了舊的內核,那麼這些模塊將永遠不能被加載了——除非你重啓系統完整切換到新的內核——由於它們隨着舊內核被刪掉了。若是你手頭有Arch系統,你能夠嘗試一下在某次啓動以後不插任何USB設備,而後更新內核。你會發現,若是你不重啓系統,不管你怎麼努力,新插上去的USB設備老是不會被加載——由於須要被加載的模塊已經隨着舊內核刪掉了。從新啓動系統能完整切換到新的內核,以使用新版的動態加載模塊。可是對於服務器來講,不可能三天兩頭重啓;然而Arch Linux卻又是一個一週一小更,一月一大更的快速迭代的操做系統。這就使Arch不適合做爲服務器操做系統。操作系統

三、軟件包管理體系3d

Arch Linux被推崇很大一部分的緣由是便於使用的軟件包管理體系。不一樣於Debian系列的apt/dpkg和Red Hat系列的dnf(yum)/rpm包管理體系,Arch Linux只用了一個工具pacman就解決了獲取和安裝兩個功能。這下降了爲Arch Linux製做軟件包的門檻,這也是AUR幾乎能涵蓋整個Linux軟件生態的主要緣由。既然一個工具就能完成工做,那爲何另外兩個主流系列都依然存在兩個工具來管理軟件包體系?這是由於,這種兩個工具來管理軟件包的體系中,那個負責處理本地依賴和本地包的部分,不只僅是爲了管理依賴、安裝軟件包而存在的。它還有更有用的功能:提供「虛包」支持。提到「虛包」就不得不提到Java這個平臺,由於Java的開放,常見的Java運行時環境有兩種:一個是Oracle官方的JRE,另外一個是開源社區建立的Open JRE。它們都對Java提供很高程度的支持,可是依然存在微妙的差異。好比Android Studio使用Open JRE運行就會偶爾出現奇怪的Bug,而另外有一小部分軟件則不能正常運行在Oracle JRE上。它們都提供JRE的支持,可是對於Debian或者Red Hat來講,兩者是能共存的:dpkg或者yum能夠決定對於哪些應用程序選取哪一個JRE爲應用程序提供JRE依賴。可是對於pacman來講,虛包支持什麼的,不存在的。只能有一個軟件包提供JRE支持:安裝一個就必須刪除另外一個。對於服務器來講這就至關尷尬了:並不能保證全部的程序都能找到完美的依賴。server

四、打包粒度htm

雖然最近幾年有所改善,可是Arch Linux的打包粒度對於服務器來講仍是過度大了。咱們也許只會用到某軟件包的一部分,可是pacman會把整個軟件包給你裝上——你還沒得選。對於服務器來講,爲實現功能所安裝的軟件包越少越好——一來節省資源,二來能夠減小由軟件體系帶來的漏洞。這也是Arch不適合做爲服務器操做系統的緣由之一。就我目前的經驗,以上理由能夠充分打消在服務器上使用Arch Linux的想法。可是對於桌面系統,特別是對於開發人員,Arch仍是至關不錯的選擇。汝等虔誠的Arch教徒們,切勿忍耐;想安裝什麼的時候便裝,想作什麼研究的時候便作就好——由於明天並不見得還能正常運行。blog

原文來自:http://server.51cto.com/sOS-579026.htm

本文地址:https://www.linuxprobe.com/linux-arch-linux.html編輯:孔勝超,審覈員:逄增寶

相關文章
相關標籤/搜索