gentoo 和 archlinux 有什麼優缺點?
ubuntu 許多東西控制不了,想試試底層的發行版,這倆有什麼特點啊?
我是一個Gentoo用戶,使用linux數年後才進行第一次安裝,前兩次因為對gentoo不夠熟知放棄了重來,所以大體上花了一周時間才裝完。不過安裝後你會覺得對linux有了另一翻認識,包括了解各種配置文件,引導區,分區格式化,各種熟悉的軟體的來歷。
廣泛一點來看,gentoo使用源碼來做包管理,其實不僅僅是USE所控制又不只是裝多少包,你還能控制編譯選項,使得所獲得的程序更加是你所期望的。例如emacs23,一種支持xft,一種不支持,一般發行版會維護不帶xft的版本,你想用xft就得折騰源代碼編譯,很多平台下折騰某個不太熟悉的包的變異是一件無比痛苦的事情,比如說缺一個依賴的包時究竟應該下載哪個?源代碼的依賴關係和二進位的依賴是不一樣的。gentoo可以很好的處理。自由。
gentoo團隊同時是一個很負責的發行版,沒有經過驗證的包基本上會mask上,所以看起來不會那麼「新」,但維護的包質量都很高,某種程度上我覺得arch不管這些的。比如說gnome3暫時不會接受,會等到3.2,kernel source也不會輕易更新,題外話,ubuntu現在kernel更新的也太勤快了點,但很多內部的lib又不那麼新,看起來多少有些華而不實。
gentoo雖然小眾,但是支持很多的,不太用擔心遇到問題解決不了,可以試試看。我現在用的是Arch Linux,Arch的特點主要有以下幾點:
- Simple and Stupid,很多覺得沒用的東西可以不裝,定製性很好。
- 有類似Ubuntu的二進位包管理系統pacman,還有AUR。
- 滾動更新,pacman -Syu讓系統時刻保持最新。
Gentoo的話據說更為複雜一些,完全要從頭開始自己編譯系統,建議先試Arch Linux。
這兩者的官方Wiki內容都是相當豐富,碰到問題一定要看Wiki。兩個我都用過而且都是我最最喜歡的發行版。
站在最普通的用戶的角度講下我的感受:
Arch Linux: 二進位倉庫,但提供從源碼編譯的支持(ABS);更有海量野包(AUR)可供選擇,簡直無所不包。軟體版本極為激進,這是在不開啟testing倉庫的情況,可以想見開啟testing會是什麼樣子。。
Arch的包管理器(pacman)效率極高,原因之一是其需要處理的依賴關係遠沒有Gentoo複雜。如果開啟AUR,你會用到對應AUR的包管理工具,比如大部分人使用的yaourt。Arch的Wiki堪稱經典,比Gentoo更勝一籌,涵蓋了大多數常用軟體和概念的解析、安裝、配置等信息,但是一定一定要看英文版的,中文版太過陳舊以至於有些內容根本是錯誤的。Gentoo: 源碼倉庫,也提供野包(overlay),數量上絕不輸Arch,而且因為定製性極強的USE變數使其靈活性遠超Arch,相應的缺點就是軟體安裝速度太慢,尤其是一些大型軟體比如內核、LibreOffice、Chromium等。為了緩解這個問題官方也同時提供了這類包的二進位版,當然是以損失定製能力為代價。
Gentoo的軟體樹稱為Portage,對應的包管理器是emerge,包元文件稱為ebuild,Portage相當於Arch里的ABS,emerge相當於Arch里的abs, pacman、makepkg等的集合,而ebuild相當於Arch里的PKGBUILD。在從源碼生成安裝的角度來講兩者沒有明顯的優劣之分。甚至兩者都可以通過包元文件使用其他發行版提供的二進位包(rpm, deb等)進行安裝。Gentoo有一個特別的概念是「slot」,可以讓同一軟體的不同版本共存,比如gstreamer:1.0和gstreamer:0.10而Arch里只能確定一個主版本,其他的版本只能通過創建不同名的包來解決,比如gstreamer和gstreamer0.10。這方面Gentoo更佔優勢。
關於USE我多說一句,從依賴的角度來講,USE變數相當於更微觀的「包」,USE有全局的和針對特定包的,前者影響著後者,通過USE變數你可以選擇整個系統或某個包具備的特性和功能,全局USE可能會影響到多個包。USE之間也有依賴和衝突關係,包間的依賴和USE間的依賴共同構成了Gentoo包管理問題的核心。如前面一些吧友所說,Gentoo在版本的選擇上更為謹慎,穩定性更為出色,比如截止到我最後一次使用Gentoo為止,穩定倉庫里GNOME依然是2,「開瓢」(~arch,相當於Arch里的testing)之後才可以安裝。有一個看來很細枝末節但確實非常重要的區別:Arch默認的系統服務管理器是systemd,而Gentoo是OpenRC,我裝完Gentoo第一件事就是把OpenRC換作systemd,不是因為誰更好,只是因為GNOME 3.8(還是3.6記不清了)以上對systemd有強依賴(據說Sabayon(基於Gentoo)通過一個overlay解決了這個問題)。可以想見Gentoo對systemd的支持顯然沒有Arch好,我認識的使用Gentoo的同僚們卻也很少用GNOME的。。
Arch的理念是「我們不會為你準備好一切,因為喜好和習慣,每個人都不同」,Gentoo也在一定程度上貫徹著這個理念,因為兩者都是以可定製性著稱的。我認為兩者都稱得上「元發行版」。。兩者在安裝上相比其他發行版顯然是過於繁瑣,基本都離不了Wiki,Arch稍好一些。但是一旦安裝配置完成,用起來也是「飛」一般的感覺。
最最重要的差點忘了,兩者都是「完全滾動發行版」,只要持續更新,無需重裝系統。1、跨平台比較
gentoo官方提供多平台支持;arch官方只提供x86(32位和64位)支持,但是有非官方的跨平台支持,如arm平台http://archlinuxarm.org、ppc平台http://archlinuxppc.org,還有parabola(http://parabolagnulinux.org)和archloong提供mips平台支持。2、多內核比較gentoo官方提供多內核支持──linux、BSD、hurd;
arch官方只提供linux內核,但是有非官方的hurd內核版http://archhurd.org。3、新技術比較兩個發行版都可以輕松享受到比較新的技術和體驗。4、全功用比較gentoo可以靈活控制軟體版本,能夠適應各種環境;arch官方只有滾動更新,對於注重穩定性的服務器環境有點力不從心,arch曾經有非官方的服務器版http://archserver.org,可惜已於2011年9月12號關閉。參見其官方公告http://lists.archserver.org/pipermail/announce/2011-September/000019.html5、低能耗比較在這一點上arch完勝,以電費換性能著稱的gentoo堪稱環境殺手!參見我的日誌──《完美的操作系統(個人觀點)》
http://hi.baidu.com/red54/blog/item/8003871f3bc1a07cf724e44a.html沒用過gentoo,只說下Archlinux
我現在用Archlinux已經快兩年了,之前用過Ubuntu、Centos等。
首先個人感覺Archlinux的wiki做的真心不錯,內容十分豐富,基本搜什麼都有。其次Archlinux的pacman很簡單易用,有國內的源,而且還有aur倉庫,即用戶自己打包官方沒有的軟體,所以基本上有點名氣的軟體pacman都能安裝。archlinux自己的介紹:
a lightweight and flexible Linux? distribution that tries to Keep It Simple.在我看來就是,Archlinux默認提供你最基礎的東西,盡量讓自己簡單幹凈,你可以按需安裝自己所需要的其他軟體。archlinux不像其他系統安裝一大堆東西,archlinux安裝的時候會安裝一個最小集合,然後你可以自己安裝自己需要的軟體。
當然還有一種選擇是LFS即所有的東西都自己編譯安裝包括內核,我自己嘗試過,折騰了幾天才弄好。這個可以讓你更熟悉linux的架構以及配置等。
Gentoo是懶人用的操作系統。。。。絕對的。。。。只要你會用了。。。。你就開始踏上喜歡它的道路了。。。portage、USE、slot各種方便。。。。哪一個操作系統能做到多個版本GCC、多個版本Python、多個版本automake如此和諧地共存?
gentoo是所有包都是源碼包編譯安裝,根據硬體自動優化,性能上有一點優勢,缺點是編譯時間長;archlinux是二進位包安裝,不用編譯;兩者都有自己的包管理。這兩個發行版當年都玩過一段時間,後來不想折騰了,伺服器基本都用Redhat/CentOS。喜歡折騰的直接折騰LFS吧,我以前建的LFS/Gentoo/Arch超級群 3139610
arch的配置簡單不必多說.一個rc.conf可以搞定多數選項,daemon,鏡像地址的詳細配置...有個帶桌面的發行版archbang,配置openbox窗口管理器,界面風格與速度都是一流,最重要的是跟用原生的arch差別不大,不是ubuntu與debian的差別.
gentoo的話,新手第一次編譯安裝可能會有些麻煩,有半年左右linux經驗的人安裝應該不成問題.gentoo的幾乎每個部分都需要自己打理,這也是深入了解linux最好的方式.use關鍵字能保證你安裝軟體包是不加入無關的包,軟體潔癖的最愛.portage技術允許你快速搜索到要尋找的包_並且支持多線程_這是其它包管理軟體所不具備的.
arch簡單易用,ubuntu論壇也開闢了arch討論區.gentoo需要折騰,官方文檔豐富,高手很多.ubuntu做桌面系統_處理日常應用很完美,深入學習推薦gentoo.Gentoo裝個軟體,都要編譯半天源碼,受不了,現在用的archlinux,裝軟體簡單點。
先用gentoo,由於對linux不熟,折騰不起,換成arch,等用熟了再折騰gentoo。
不做server 的話gentoo就算了
編譯這一步嚇死80%的人
首先從定製性上來說, 2個都是很優秀的定製性的linux發行版, 但是, gentoo更為出眾一些, 從安裝開始, 你就可以一步一步的來定製屬於你自己的發行版
接下來我們來說包管理. Gentoo的包管理叫Portage, 是跟FreeBSD的Ports很相近的一個系統. 都可以對軟體包進行定製. 比如Portage中強大的USE標籤, 可以讓編譯更加精確, 包更加定製化. 同時, 依託mask, 還可以對包的不同版本進行管理. 比如你不喜歡py2.7, 可以直接把2.7以上的包全部mask掉, 系統只會安裝最接近2.7的一個版本, 比如2.6.6. 這對很多軟體是很有用的, 發現新版本穩定性不夠, 或者不想升, 直接mask掉再下來我們來看配置. Gentoo的配置一般都是標準的linux配置設置. 配置文件的存放位置, 基本都是包默認的位置, 不會有什麼改變. Arch基本都會在一個基本的rc.conf中, 也非常的統一再下來我們來說開發環境. 2個系統都有很標準的開發環境配置. GCC等編譯環境的配置, 2者也都是非常標準的, 對於普通的軟體編譯工作來說, 實在是太愜意了. 由於Gentoo的包都是從源碼編譯而來, 對硬體的優化也做的最好, 尤其是內核.最後來說一說新包的更新速度吧. Arch的更新速度絕對沒的說, 只要是某個軟體發了新的版本, Arch的源就一定更新了, 缺點是過上幾個月沒有升級Arch, 升級一次, 系統絕對會掛掉... 而Gentoo則會等上一段時間的驗證, 才會更新到源里, 比較安全, 不會升級壞.綜合來說, 2個發行版都很優秀, 如果希望更省事一些, 可以使用Arch; 如果想對Linux有更多的了解, 建議使用Gentoo, 上手可能會有難度, 但是學進去之後, 會真正的發現Gentoo的樂趣和優點在普天之下ubuntu佔領桌面,RHEL/Centos佔領伺服器的年代。只有豆瓣這樣文藝范的公司才會用Gentoo做伺服器OS。我個人的的建議是,桌面還是別用gentoo了。USE標籤你沒時間來搞清楚每個特性是否是需要的,桌面的軟體太多。伺服器上gentoo還是非常合適的。桌面系統的話,高帥富推薦用osx,吊絲就用archlinux吧
Gentoo 其實不怎麼折騰~
- Arch Linux和Gentoo Linux都是滾動升級的發行版,所以在上游軟體發布很短時間後,其上就會有軟體包可用。
-
Gentoo的基礎系統和軟體包都是根據用戶指定的USE標識直接從源代碼構建。Arch提供了一個類ports系統(Ports是BSD上的一個系統工
具)來從源代碼編譯軟體包,Arch基礎系統被設計為「直接由預構建好的i686/x86_64二進位軟體包組成」。一般來說,Arch更易於構建和升
級,而Gentoo更易於進行系統化的定製。 - Arch支持i686和x86_64架構,Gentoo對x86、ppc、sparc、alpha、amd64、arm、mips、hppa、s390、sh和 itanium 架構都提供官方支持。
-
Gentoo的官方包管理工具比ArchLinux的更複雜和強大,而且一些在Gentoo中處於核心位置的特性(比如UES標記、SLOTs等等)在
Arch中並沒有相對應的功能。究其原因,一是因為ArchLinux主要是一個二進位發行版,第二是因為Gentoo和Arch在設計哲學上有些差別。
Arch在原則上更偏向於架構的簡潔性和避免過度設計。 - 因為Gentoo和Arch的安裝包都只包含基本系統,所以它們兩者都被認為是需要高度定製化的系統。一般來說,Gentoo用戶對Arch的大多數方面都會感到滿意。
以上是gentoo和Arch的比較,摘自[ArchWiki](https://wiki.archlinux.org/index.php/Arch_compared_to_other_distributions_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#Gentoo.2FFuntoo_Linux),題主可以感受下。
去年一個同事推薦我用gentoo之後,一直都用gentoo,定製性的確是最強的,但是出了問題還是有很多很難搞,最折騰的一次是在gnome下面webkit死活編譯不過,導致整個gnome不能用,而且麻煩的是gentoo的webkit是一個精簡包,和webkit的發行版不一樣。 搞了兩三個晚上,最好在gcc的一個mail list裡面知道要gperf有點問題,要把webkit的一個編譯選項從-O2-&>-O1。只好自己製作patch,然後用ebuild自己重新算hash,最後再安裝。 不過大多數編譯不過的可以通過mask的辦法安裝低一點的版本。
4年前學習Linux內核編譯的時候,第一次接觸的GENTOO,從此愛恨交加。stag1... 哈哈。疼也是一種痛快淋漓的感覺
我是gentoo用戶,因為我很懶,打字很費力,給我個棒棒糖吧
當年在Arch和Gentoo中選Arch的一個重要原因是宿舍晚上斷電.....
想要控制性,slackware是首選,slackware 的哲學就是keep it simple……更自製的是lfs, linux from scratch.have fun!
推薦閱讀:
※Linux 和 Mac 下有什麼好用的類似於 Visio 的畫圖軟體?
※信號(signal)和異常(exception)存在哪些異同?
※你的Linux系統是否經常更新呢?
※vim只能在linux下才能得到最好的體驗嗎?