前言
對於很多剛使用Linux的人來說,選擇使用哪個Linux發行版著實是一件頭疼的事情,特別是對於有選擇困難症的人們就更是如此了。其實對於那些著名的Linux發行版本,都有比較明顯的個性,具體選擇哪些,也只是由自己的需求而定,當然,如果你很熟悉Linux的話,那麼版本的問題就不是問題了,因為在根本上它們都是相似的。
那麼它們的個性是什麼呢?這就要從幾個方面去定義了。
包管理器
或許這是各發行版之間最顯著的不同了,Linux與Windows不同,各種已經編譯好的軟體包大部分可以透過軟體源來下載,而且各種軟體包之間都存在著複雜的依賴關係,這些依賴關係是很難手動去解決的,於是包管理器就誕生了。
對於包管理器,在Linux裡面可以說是分派系的,現在主要分為以下三派
DPKG
這是Debian Linux家族的包管理器,使用它的發行版包括了Debian,Ubuntu,Linux mint等等,在其範圍下有幾個比較出名的工具,一個是在命令列使用的APT(高階打包工具),另一個是有圖形介面的Synaptic包管理器,這兩個東西的使用非常廣泛,一般安裝了Ubuntu等之後就直接可以使用了。
RPM
由RedHat建立的包管理器(Red Hat Package Manager),顧名思義,這個包管理器就是RedHat系列Linux所使用的了,其中包括了RedHat,Fedora,CentOS等等。在其下也包括了幾個著名工具,一個是YUM,另一個是DNF。
Pacman
這又是一個流行的包管理器,主要用於Arch Linux及其發行版之中,包括了Arch Linux和Manjaro等。
當然,包管理器不止這麼些,但主要的就是以上幾個,其它的還有Gentoo上的Portage,openSUSE上的Zypper等。
桌面環境(DE)/視窗管理器(WM)
超強的自定義性可以說是圖形化Linux的一大特點了,Linux的桌面環境(或視窗管理器)數不勝數,但這其實已經不屬於選擇發行版的範疇了,但是因為每個發行版有其偏好的桌面環境,所以也放進考慮範圍。
桌面環境可以按輕量級和重量級來分。
輕量級
XFCE
一個最常用的Linux桌面環境,由於其輕量化可配置型強的特點,幾乎所有發行版可以簡單地安裝XFCE桌面,預設推薦使用XFCE的有Manjaro。
XFCE桌面
MATE
作為另一個常用的桌面,雖然可能沒有XFCE使用廣泛,但還是有許多人喜歡的。
MATE桌面
i3(wm)
這是一個經典的平鋪視窗管理器,常被一部分人奉為生產力環境,透過常用快捷鍵操作就基本不需要滑鼠了,當然,是否有生產力就因人而異了。
i3桌面
awesome(wm)
又是一個平鋪式的視窗管理器,與i3相似,由於平鋪式的桌面並非適合每個人使用,受到的爭議也比較多,所以似乎還沒有發行版將其作為預設桌面環境。
awesome桌面
重量級
KDE plasma
最出名的桌面環境之一,可定製性很強,同時流暢度也較高,由於其在KDE5版之前有著很多bug,所以曾經不被看好,但是現在是比較出色的桌面環境之一,桌面應用採用Qt進行開發。預設使用其作為桌面環境的有Kubuntu等。
KDE桌面
Gnome
一直和KDE不分高下,以簡潔高效著稱,可定製性沒有KDE那麼高,但也是不錯的。在早期版本中存在記憶體上限溢位和單執行緒的效能問題,所以流暢度有所欠缺,在最新的3.30版本中有所改善,桌面應用採用GTK進行開發。
Gnome桌面
Unity
在ubuntu16及以前在Gnome基礎上特別定製的桌面環境,從ubuntu17開始被Gnome取代,已經不推薦使用,但是在使用上似乎比Gnome流暢度要高。
Unity桌面
Budgie
最大的特點是簡潔好看而優雅,對Gnome工具的相容性高,特別之處不多,源於SoLus Linux。
Budgie桌面
DDE
Deepin DE,這是一個應用在Deepin上的桌面環境,Manjaro也有DDE版本,是一個國產的優秀桌面環境,從外觀上就勝過了不少對手。
DDE桌面
Cinnamon
Linux mint的預設桌面環境,基於Gnome3,跟Gnome同源,因為我也不太熟悉,就不多介紹。
Cinnamon桌面
當然,也還有不少其它的桌面環境,但以上的是最常見的。
穩定性/安全性
其實對於真正使用Linux作為伺服器或者生產環境的人來說,以上兩點無非是一點小習慣上的差異,因為無論是包管理器還是桌面環境,大家提供的功能並非是不可替代的,很多時候是順不順手的問題,所以在這時候產生主要影響的可能就是其穩定性了。
更新方式
要說到Linux的穩定性,就離不開它的軟體更新機制,一般來說Linux的更新方式有兩種,也即滾動更新和固定版本更新。
滾動更新
滾動更新就是說系統可以透過頻繁的小更新來使它的軟體時刻保持最新的狀態,在這種方式下,很多時候就免除了需要手動更新軟體版本的問題,軟體的漏洞也能及時得到修複,安全性比較有保證,但與此同時,任何軟體都保持最新狀態意味著它們的依賴關係可能會出現問題,因為一個軟體的開發者可能還沒準備好匹配它的依賴軟體,它的依賴軟體卻先行更新了。所以滾動更新有時又缺乏穩定性,造成所謂的“滾掛”的現象。預設使用滾動更新的有Arch Linux,Manjaro等。
固定版本更新
固定版本更新的發行版一般會處理好軟體之間的依賴關係再進行軟體的釋出,使得其穩定性有一定的提升,但它也同樣有著一些問題,這種更新方式使得如果你沒有更新整個系統到最新版本,一些軟體在官方渠道的更新方式上就永遠無法獲取到最新的版本,如果有安全漏洞有時也無法及時修複,必須要從第三方地址或者手動下載編譯來更新。當然對應的發行版也有一定的解決辦法,如使用Backports。預設使用固定版本更新的有Ubuntu,RHEL,SLES等。
核心版本
對於固定版本更新的發行版來說,它的核心(kernel)版本也像軟體一樣在升級上有一定的限制,一般來說其內核的版本更新較慢,且會保持在初次發行版本的附近,在大版本更新的時候才會進行內核的大幅升級,新的核心會有一些新的特性,可以相容更新的硬體,但有時候會導致相容性問題。而許多滾動更新版本的發行版對內核的限制要寬鬆一些。當然這兩者都是可以自己手動更新甚至手動編譯更換內核的,但是使用不推薦的核心版本有可能導致一些奇怪的問題。
Linux中的上下游關係
Linux發行版中的上下游關係也就是各種軟體包的上下游關係,從一定角度來看,上游就是軟體包的開發者和與開發者關係密切的發行版,而下游就是驗證軟體包可用性和穩定性並提交反饋的發行版,上游專案的軟體版本更新,而下游專案的穩定性更強,如Ubuntu就是一個下游發行版的典型。
說明檔案和社群支援
對於幾乎所有的發行版來說,它們都有相應的說明檔案,也有相應的社群,但它們的內容卻有很大的區別,有些發行版的說明檔案事無巨細,有些則是隻教你如何使用。像Arch Linux的wiki頁面就屬於全面仔細的典型,具體可以檢視Arch Wiki,而Ubuntu的社群則是活躍社群的典型,具體可以檢視Ubuntu論壇。
主要的Linux發行版
尋找主要的Linux發行版,可以參考DistroWatch,其中頁面點選次數的排名可以大概反映發行版的活躍程度。
DistroWatch
Manjaro
一個基於Arch Linux的Linux發行版,免去了Arch Linux配置的麻煩,但保留了其優點,基於滾動更新的機制,提供非常方便的核心更換軟體,同時其支援Arch使用者軟體倉庫(AUR)可能是最全的軟體倉庫之一,它提供了許多桌面環境的版本,包括KDE,Gnome,XFCE,MATE,DDE等等。
Manjaro
Linux Mint
基於Ubuntu/Debian的系統,從17.0開始,Mint基於Ubuntu長期支援版,以穩定性和簡單易用著稱,但軟體更新較慢,有時不能相容最新硬體,提供Cinnamon,MATE,KDE和XFCE桌面環境的官方支援。
Linux Mint
Ubuntu
著名的Linux發行版,由Canonical公司釋出,同時也提供商業支援,在易用性和穩定性上都有不錯的表現,Ubuntu從17以後將預設桌面環境從Unity改為Gnome,同時其有對應KDE桌面的第三方版本Kubuntu。其包括長期支援版和最新版,兩者的維護支援週期不同。
Ubuntu
Fedora
Fedora是Red Hat在個人領域的版本,因為其被作為Rad Hat的測試平臺,所以一般軟體都很新,約半年一次的釋出週期,引進新技術十分快速。
Fedora
openSUSE
德國工藝,特點是穩定,乾凈和漂亮,使用者不算多,在伺服器領域常用。
openSUSE
Elementary OS
從名字就可以知道,這是一個致力於外觀的Linux發行版,它是基於Ubuntu加一套特定主題和應用程式發展而來的Linux,和Linux相似,但更加註重圖形介面的應用。
Elementary OS
CentOS
這個版本來自於Red Hat的公開原始碼,由於這個特點,在一段時期內曾被人廣為推崇,很多教科書也是以此為例,但是在現在來說,這是一個更加適合作為伺服器系統的Linux。
Cent OS
Deepin
深度科技發行的Linux,在某種程度上可以說是最簡單易用的發行版,幾乎不需要命令列就能完成大部分功能,其集成了大量自行開發的軟體,以及接地氣的軟體商店,與CrossOver合作提供對Windows軟體的支援,同時還支援原生模擬Android軟體。
Deepin OS