# Arch compared to other distributions (正體中文)

相關文章

- Arch Linux
- Arch 的設計哲學

翻譯狀態： 本文章是 Arch_Compared_to_Other_Distributions 的翻譯版本。最近一次的翻譯時間：2014-01-25。點擊本連結查看英文頁面之後的變更。

這個頁面會將 Arch Linux 和其他流行的 GNU/Linux 發行版與類 UNIX 作業系統做個比較。您可以藉由下面的簡短描述，看看 Arch Linux 是否真的符合自己的需要。儘管在比較各家發行版本上有不少評價和說法，但最好的方式還是動手來安裝體驗。

## 基於原始碼的發行版

基於原始碼的發行版本的移植性很高，優點是可以根據機器架構與使用計畫來控制、編譯整套 OS 與應用程式，不過缺點就是編譯程式碼會消耗大量時間。所有 Arch 的軟體包都預先以 i686 和 x86_64 架構編譯，比起使用 i486/i586 二進位軟體包的發行版，除了效能潛在提升，且更適合用於安裝。

### Gentoo Linux

- Arch Linux 和 Gentoo Linux 皆屬於漸進發行系統，在軟體上游釋出新版本後不久就可以獲取軟體包。
- Gentoo 的軟體包與基本系統會透過使用者自訂的「USE 參數」，由原始碼直接組建而成。Arch 則提供一個類似 ports 的系統來組建軟體包，不過基本系統會以預先組建的 i686/x86_64 二進位檔安裝。總而言之，Arch 的組建與升級比較快速，而 Gentoo 可以達到更具系統的客製化。
- Arch 支援 i686 和 x86_64 硬體架構，而 Gentoo 官方支援 x86, x86_64, PPC, SPARC, Alpha, ARM, MIPS, HP/PA, S/390, sh 以及 Itanium 硬體架構。
- Gentoo 的官方軟體包/系統管理工具比 Arch 更為複雜且強大，且 Gentoo 的某些主打功能 (例如 USE 參數、SLOT) 是 Arch Linux 所沒有的。這可能和 Arch 主要作為一個基於二進位檔的發行版有關係，但設計哲學的不同也是其中一個因素。Arch 較偏向於「架構簡潔」這項原則，並避免無謂的過度設計 (over-engineering)。
- 由於 Gentoo 和 Arch 預設只安裝基本系統，兩者都被認定為客製化相當具彈性的發行版。一般而言，Gentoo 使用者對 Arch 大部分方面都會感到滿意。

### Sorcerer/Lunar-Linux/Source Mage

- Sorcerer/Lunar-Linux/Source Mage (SLS) 都是基於原始碼的發行版本，一開始它們是有關聯的。
- SLS 發行版本使用一套簡單的腳本檔案來建立軟體包的描述單，並使用一個全域的設定檔來設定編譯過程，這和 Arch 組建系統相當類似。SLS 工具會做全套的相依性檢查，包括處理選用功能、軟體包追蹤、移除與升級。SLS 不提供二進位軟體包，但回過頭使用之前安裝的軟體包卻相當容易。
- 安裝過程包括從 shell 和 ncurses 選單設定基本系統，並可選擇將基本系統重新編譯。
- 和 Arch 一樣，SLS 沒有預設的 WM (視窗管理員)、DE (桌面環境)、DM (顯示管理員)，基本安裝也不包含 Xorg。但它有一些 X 伺服器的替代品 (X.Org 6.8 或 7, XFree86)。

## 極簡化發行版

極簡化發行版和 Arch 相當類似，有一些共通之處。這類發行版無論何種面向，用技術上的角度來看都相當「簡潔」。

### LFS

- LFS (Linux From Scratch；從頭打造 Linux) 單純就是一份文件。這份文件指導使用者如何用一些基本軟體組建一個能運作的 GNU/Linux 系統：從獲取原始碼、手動編譯、修補和設定軟體，使用者都必須一手包辦。在組建與自訂基本系統這方面，LFS 相當迷你，且給使用者一個很棒的學習經驗。
- LFS 不提供線上軟體庫；原始碼必須手動取得，並用 make 編譯安裝。(LFS Hints 有提到數種手動管理軟體包的方式)。
- Arch 不僅提供 LFS 提到的基本軟體，還添加 systemd 這套附帶工具，和強大的 Pacman 軟體包管理員當作本身的基本系統，並且所有的軟體皆預先編譯為適用 i686/x86_64 架構。除了這套小型 Arch 基本系統，Arch 社群與開發人員也提供、維護數千種二進位軟體包，可透過 pacman 以及 PKGBUILD 組建腳本 (由 Arch 組建系統處理) 安裝。Arch 還提供 makepkg 工具，方便組建或自訂 .pkg.tar.xz 軟體包，也易於用 pacman 安裝。
- Judd Vinet 從頭打造了 Arch，並以 C 語言撰寫 pacman。曾經有段期間 Arch 有一個幽默的稱呼：「附帶良好軟體包管理的 Linux」。

### CRUX

- Judd Vinet 在創造 Arch 之前，使用 CRUX 並對它相當欣賞；這個極簡化發行版由 Per Lidén 創建。在 CRUX 和 BSD 的共同理念啟發下，便從零開始打造出 Arch，並以 C 語言撰寫 pacman。
- Arch 和 CRUX 有同樣的指導原則：例如對硬體架構的優化、極簡化和秉持 K.I.S.S. 原則。
- 兩者皆擁有類似 ports 的系統，並且和 *BSD 系統一樣，都提供一個小型基本環境供使用者繼續組建。
- Arch 使用 pacman 管理系統的二進位軟體包，並和 Arch 組建系統無縫搭配。CRUX 則使用一個社群開發的系統 prt-get，與自己的 ports 系統一同處理相依性解析，但所有軟體包皆需要從原始碼組建。(不過 CRUX 的基本安裝會使用二進位包)。
- Arch 官方支援 x86_64 與 i686，而 CRUX 只支援 x86_64。
- Arch 使用漸進發行系統，並提供數個二進位包軟體庫以及 Arch 使用者倉庫。CRUX 則提供更精簡的官方 ports 系統，加上一個相對而言較小的社群軟體庫。

### Slackware

- Slackware 和 Arch 十分類似，它們都是致力於優雅與極簡化的發行版本。

- Slackware 不作任何品牌推銷，並提供完全純淨的軟體包，從 Linux 核心到應用程式皆然。這是 Slackware 相當知名的一點。Arch 一般只有在避免嚴重故障、確保軟體包乾淨編譯的情況下，才會加上自有的修補程式。

- Slackware 使用 BSD 式的 init 腳本，Arch 則使用 systemd。

- Arch 所提供的 pacman 軟體包管理系統和 Slackware 的標準工具不同，它會自動解析相依性，並提供更自動化的系統升級。Slackware 的使用者傾向於手動處理相依性問題，依據 Slackware 賦予他們的系統控制等級作出行動，另外 Slackware 在提供預裝函式庫與相依性方面相當傑出。

- Arch 是漸進發行的系統。Slackware 的發行相對之下比較保少，偏向提供穩定的軟體包。Arch 在這一方面顯得相當「前衛」。

- Arch Linux 的官方軟體庫提供了數千種二進位軟體包，相較之下 Slackware 的官方軟體庫能提供的軟體包較少。

- Arch 提供一個類似 ports 的 Arch 組建系統, 以及 AUR (數以千計的使用者貢獻 PKGBUILD)。Slackware 也在 slackbuilds.org 提供一個更輕薄的系統，這是 Slackbuilds 的半官方軟體庫，類似 Arch 的 PKGBUILD 概念。一般而言，Slackware 使用者對 Arch 大部分方面都會感到滿意。

## 通用發行版

這些發行版本擁有廣泛的優點與能力，可以勝任絕大部分的作業系統用途。

### Debian GNU/Linux

- Debian 是上游最大的 Linux 發行版，社群規模更大，提供了穩定 (stable)、測試 (testing) 和不穩定 (unstable) 三條開發分支，提供超過 30,000 高品質的二進位軟體包。相較之下，Arch 提供的二進位軟體包顯得非常稀少。但如果將 AUR 包含進來，兩者的軟體數量其實相當接近。

- Debian 熱衷於自由軟體，但仍然提供非自由軟體倉庫。Arch 對此較為寬鬆、包容，將是否選擇 GNU 定義的「非自由軟體包」交由使用者決定。

- Debian 的設計方針著重於穩定、嚴格的測試，並基於其知名的 Debian 社會契約 (Debian social contract)。Arch 則著重於簡潔、極簡化、提供最尖端軟體的設計哲學。Arch 的軟體包版本比 Debian 穩定和測試分支的軟體版本還新，可媲美 Debian 的不穩定分支。

- Debian 和 Arch 都提供了備受推崇的軟體包管理系統。

- Arch 屬於漸進發行的系統。Debian 穩定分支則發行「凍結」的軟體包。Debian 不穩定分支也採用漸進發行。

- Debian 可以用在多種硬體架構，包括 alpha, arm, hppa, i386, x86_64, ia64, m68k, mips, mipsel, powerpc, s390 和 sparc；Arch 官方只支援 i686 與 x86_64，社群移植版只有 arm (例如 Raspberry Pi)。

- 組建外部來源的自訂軟體包這方面，Arch 有一個類似 ports 的軟體包組建系統，提供較快捷的支援。Debian 沒有提供類似的 ports 系統，得依靠本身其龐大的二進位軟體庫。

- Arch 安裝系統只提供一個小型基本系統，系統設定必須原汁原味的進行；Debian 的安裝提供更自動化的設定，以及數種替代安裝方式。

- Debian 預設採用 SysVinit，不過也可以使用 systemd 與 upstart 設定系統；Arch 則預設使用 systemd 以獲得較佳的整體效能。

- Arch 盡可能的不採用修補程式，以避免任何上游無法檢查的問題；Debian 的使用者群比較廣泛，因此對採用修補程式這件事開放許多。

### Fedora

- Fedora 屬於社群開發的發行版，但背後有紅帽公司 (Red Hat) 支持；它通常被認為是一個尖端的測試發布系統；Fedora 的軟體包和專案會移植到 RHEL，有時還會被其它發行版採用。Arch 本身也被認為是走在尖端的發行版，不過它採用漸進式發行，且並非其它某個發行版本的測試分支。

- Fedora 軟體包格式為 RPM，使用 YUM 軟體包管理員，也有官方的圖形軟體包工具可供使用。Arch 使用 pacman 管理 tar.xz 軟體包，且沒有任何官方支援的圖形前端介面。

- Fedora 由於堅持只使用自由軟體，官方軟體庫拒絕收錄 MP3 媒體支援和其它非自由軟體，不過這些類型的軟體包可以在第三方軟體庫中找到。Arch 對於 MP3 和非自由軟體採取較為寬鬆的態度，讓使用者自己決定是否採用這些軟體。

- Fedora 提供很多安裝選擇，包含圖形安裝與極簡化安裝。Fedora "spins" 也提供其它種類的桌面環境選擇，每個種類都附帶一些預設軟體包。另一方面，Arch 只提供幾個腳本來方便小型基本系統的安裝。

- Fedora 有訂定發行時程，但官方支援透過 FedUp 工具進行跨版本升級。Arch 則採用漸進式發行。

- Arch 設計哲學 (Arch Way) 著重於簡潔、輕量優雅、將選擇權還給使用者；Fedora 核心價值 (Fedora Core Values) 著重於自由軟體、社群發展與尖端的系統性革新。

- Arch 有 ports 系統；Fedora 沒有。

- Arch 和 Fedora 都主攻有經驗的使用者與開發者。兩者皆倡導它們的使用者多為專案的開發出一點力。

- Fedora 在整合 SELinux、GCJ 編譯包 (用來解除對 Oracle 的 JRE 依類) 和積極的上游貢獻，已經為它贏得許多社群的認可；紅帽公司和 Fedora 開發者是 Linux 核心原始碼的首要貢獻者。

- Arch Linux 提供了被廣泛認定是最豐富詳盡的發行版 wiki。Fedora wiki 比較符合 "wiki" 原始的用意，是作為開發人員、測試人員和使用者快速交換資訊的平台。它不像 Arch wiki 以終端使用者的知識庫自居。Fedora wiki 比較像是問題追蹤與協作 wiki。

### Frugalware

- Arch 比較以命令列為導向。

- Frugalware 預設不支援 JFS 檔案系統。

- Arch 和 Frugalware 都主打針對 i686 架構優化。

- Arch 一開始先安裝一個小型環境，接著根據使用者的選擇與需求由 pacman 擴充軟體。Frugalware 則從 DVD 安裝，並由使用者預先選擇預設軟體與桌面環境。

- Frugalware 有訂定發行時程。Arch 著重於簡潔、極簡化、正確的編程與最尖端的軟體包，並採用漸進發行。

## 親近初學者的發行版

這些親近初學者的發行版本有時會被稱做「新手發行版」，這些發行版有很多共通特性，而 Arch 跟它們一比則顯得格格不入。如果您希望以萬丈高樓平地起的方式來學習 GNU/Linux，Arch 會是個比較好的選擇，因為相較於這些發行版，Arch 只需要安裝少量的軟體包。以下會描述各發行版與 Arch 有何特別不同之處。

### Ubuntu

- Ubuntu 是一個大受歡迎的發行版，以 Debian 作為基礎，並由 Canonical 公司商業贊助；Arch 則是一個從頭打造、自主開發的系統。

- Ubuntu 和 Arch 無論是目標或使用者群皆大不相同。Arch 主攻喜好自己動手實作的使用者；Ubuntu 則提供能自動設定的系統，以更親近一般使用者。Arch 以一份基本安裝起頭，由使用者自己打造成他們自己適用的系統，這種設計比起 Ubuntu 顯得簡約許多。一般而言，開發者和愛動手實作的人會比較喜歡 Arch，有不少 Arch 使用者都是從 Ubuntu 起頭，之後跳槽到 Arch。

- 目前 Ubuntu 的開發與推廣重心似乎往觸控型裝置移動；Arch 則堅持以使用者為中心，鼓勵社群合作建立自訂的解決方案。

- Ubuntu 每隔 6 個月會發行新版本；Arch 屬於漸進式發行，每個月會釋出一份系統映像檔。

- Arch 提供了類似 ports 的組建系統；Ubuntu 則無。

- 兩方的社群也有些許不同。Arch 社群很小，因此相當鼓勵使用者為發行版作出貢獻。相反地，規模較大的 Ubuntu 社群可以容忍大部分沒有參與開發、打包或維護軟體庫的使用者。

### Mandriva

Mandriva Linux (之前為 Mandrake Linux) 於 1998 創建，目標是做一套每個人都容易上手的 GNU/Linux。它以 RPM 為基礎，使用 urpmi 軟體包管理員。Arch 則採取較簡約的設計，以文字介面為主，較依賴手動設定，並針對中等到進階的使用者群。

### openSUSE

openSUSE 以 RPM 軟體包格式為主，它有備受推崇的 YaST2 圖形介面設定工具，這是可以滿足多數系統設定需求的百寶箱，還包括軟體包管理。Arch 不提供這類型的工具，因為它和 Arch 的設計哲學相違背。因此，openSUSE 比較適合那些經驗不足的使用者，和希望有較多圖形環境、自動化設定、安裝後可馬上工作的使用者。

### PCLinuxOS

- PCLinuxOS 是以 Mandriva 為基礎的熱門發行版，它提供一個完整的桌面環境，其設計相當貼近使用者，使用上相當「簡單」。不過它的「簡單」和 Arch 定義的「簡單」大不相同。Arch 的設計是可從頭開始自訂的簡單基本系統，主要客群為進階使用者。

- PCLOS 使用 apt 軟體包管理員來處理 RPM 軟體包。Arch 使用自己獨立開發的 pacman 軟體包管理員，軟體包格式為 .pkg.tar.xz。

- PCLOS 的圖形化相當徹底，提供了圖形化硬體設定工具，以及 Synaptic 軟體包管理前端程式，並號稱所有工作都不需經由 shell。Arch 主要依靠命令列來達到更方便的系統設定、管理維護。

- PCLOS 的建議最低需求 RAM 為 256 MB。相比之下，輕量的 Arch 可以在 RAM 遠低於該大小的系統上執行。一個基本 i686 的 Arch 安裝只需要 64 MB 的 RAM，且可以毫無差錯的在更先進的系統上執行。

## BSD 系列

各家 BSD 始於加州大學柏克萊分校 (UC Berkeley) 的成果，它們都提供了可自由散布並且免費的 UNIX 系統。它們並非 GNU/Linux 發行版，而是類 UNIX 作業系統。因此，雖然 Arch 和各家 BSD 都把基礎與移植系統緊密整合奉為圭臬，但以原始碼的角度來看兩者是毫無任何關係的。vi 可能是個例外，Arch 的 vi 就是採用原版的 BSD vi (多數 BSD 已經不再使用原版的 BSD vi 了)。各家 BSD 皆源自原本 AT&T 的 UNIX 程式碼，可算是真正的 UNIX 繼承者。若要了解各種 BSD 版本的更多資訊，可以拜訪它們的官方網站。

### FreeBSD

- Arch 和 FreeBSD 都以二進位檔，以及透過「移植」系統編譯的方式提供軟體。

- 跟其它的 BSD 一樣，FreeBSD 的基本系統是以一個整體的系統來開發的，每個應用程式都必須「移植」到 FreeBSD，並確認可以正常運作。與此對比，GNU/Linux 發行版本如 Arch，則匯集來自許多不同來源的軟體。

- FreeBSD 授權一般而言更保護「編程者」，而與之對比的 GPL 較保護「程式碼」本身。Arch 是以 GPL 授權發布。

- 在 FreeBSD 就和在 Arch 一樣，決定權就在您 (使用者) 的手上。FreeBSD 的軟體更新度和 Arch 並駕齊驅，也各自擁有大小相近、聰穎、活躍並正經的社群。這或許是到目前為止和 Arch 最有意思的比較了。

- 兩個系統有不少共通點。一般而言，FreeBSD 使用者對 Arch 大部分方面都會感到滿意。

### NetBSD

- NetBSD 是一個自由、安全且具高度移植性的類 UNIX 開源作業系統，可在超過 50 種平台上使用，上至 64 位元的 Opteron 機器、桌面系統，下至手持與嵌入式裝置。簡潔的設計和進階功能讓它在生產與研究環境下有極佳的表現，且擁有完整來源的使用者支援。透過 pkgsrc 和 NetBSD 軟體集合 (NetBSD Packages Collection) 可以獲取許多應用程式。

- Arch 的平台支援度遠不及 NetBSD，但在 i686 系統上 Arch 可以提供較多的應用程式。

- NetBSD 的 pkgsrc 提供基於原始碼的安裝方式，和 Arch 的 ABS 類似；它也可以使用 pkg_tools 獲取二進位軟體包。

- Arch 和 NetBSD 有一些共通點：需要手動設定、極簡化並輕量、都提供移植系統與二進位包、都擁有活躍並正經的開發者與社群。

### OpenBSD

OpenBSD 專案提供自由、跨平台且基於 4.4BSD 的類 UNIX 作業系統。

- OpenBSD 著重於可移植性、標準化、正確的編程、積極的安全性與整合加密。相較之下，Arch 更著重在簡潔、優雅、極簡化與尖端軟體。OpenBSD 自稱「也許是第一安全的 OS」。

- Arch 和 OpenBSD 都只提供一個小而優雅的基本安裝。

- 兩者皆提供移植與打包系統，可簡單安裝與管理基本作業系統以外的程式。

- OpenBSD 核心，以及 shell 和共通工具 (如 ls, cp, cat, ps) 這些與使用者相關的程式，都在同一個來源軟體庫下開發。這在諸如 Arch 的 GNU/Linux 系統下相當罕見，但在 BSD 類作業系統中，這是相當稀鬆平常的事。

## 另請參閱

- DistroWatch.com

Categories:

- 正體中文
- About Arch (正體中文)