# Arch Compared to Other Distributions (简体中文)

相关文章

- Arch Linux
- Arch 之道

翻译状态： 本文是英文页面 Arch_Compared_to_Other_Distributions 的翻译，最后翻译时间：2013-11-7，点击这里可以查看翻译后英文页面的改动。

本文在Arch Linux和其他发行版之间做了一些比较，以帮助用户判断 Arch 是否是符合需要。比较 Arch Linux 和其他发行版的最好办法是安装它进行亲身体验。

## 基于源码的发行版

基于源码的发行版非常容易移植，优点是可以根据机器架构和使用情况最优地控制和编译整个系统和所有软件，而劣势是要在源码编译上消耗大量时间。Arch Linux的基础和所有软件包都为i686和x86-64平台编译，相比基于i386/i486/i586二进制包的发行版,性能的优势和潜力更大,而且便于安装.

### 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和Arch的安装包都只包含基本系统，所以它们两者都被认为是需要高度定制化的系统.一般来说,Gentoo用户对Arch的大多数方面都会感到满意.

### Sorcerer/Lunar-Linux/Source Mage

- Sorcerer/Lunar-Linux/Source Mage (SLS)都是基于源码的发行版，最开始的时候都是有联系的。
- SLS使用一套非常简单的脚本文件来创建包描述，使用一个全局配置文件来配置编译过程，这很像 Arch 的Arch Build System（ABS系统）。SLS工具提供完全依赖检查（包括处理可选特性）和包的跟踪、删除以及升级。SLS不提供二进制的包，但回滚到以前安装的包很容易.
- 安装过程包括通过Shell和ncurses菜单配置一个简单基本系统，然后重新编译这个基本系统（可选）。
- 和Arch一样,SLS不提供缺省的WM/DE/DM(窗口管理器,桌面环境,桌面管理器）,在基础系统中也不包括Xorg。不过它支持一些X server的替代者,比如X.Org 6.8,Xorg 7, XFree86.

## 极简派

极简发行版和 Arch 有一些共同之处，都强调简洁的重要性。

### LFS

- LFS（Linux From Scratch）只以文档形式存在,提供的文档指导用户如何从零开始构建一个完全个性化的操作系统:从如何获取构建一个基础操作系统所需的源代码,到如何编译,如何打补丁,如何对系统进行配置.总之,LFS提供一个构建和定制基础系统的良好教程.
- LFS不提供在线软件仓库;必须手动获取源代码,然后用make编译安装它们.(需要一些包管理方法,这点在LFS Hints里面提到过)
- Arch基础系统除了提供和LFS一样的软件包,还包含systemd,pacman等一些额外的工具,并且这些软件都已经为i686/x86_64架构编译过了.Arch社区和开发者提供了数以千计的软件包,这些软件包可以通过pacman或者PKGBUILD脚本进行安装(PKGBUILD脚本需要和Arch Build System一起使用).除此之外,Arch还包含了一个名叫makepkg的工具来生成方便pacman使用的.pkg.tar.xz格式的包.
- Judd Vinet从零开始构建了Arch,然后使用C开发了Pacman.所以,Arch有些时候被幽默的描述为"外带一个优秀包管理器的Linux".

### CRUX

- 在创建Arch之前,Judd Vinet使用CRUX并且对其相当赞赏(CRUX是 Per Lidén创建的一个极简发行版).在草创之初,ARCH就和CRUX,BSD秉承同样的理念,之后才有了用C完成的pacman.
- ARCH和CRUX拥有一些相同的指导理念,比如:针对硬件架构进行优化,极简化和K.I.S.S原则驱动.
- ARCH和CRUX的发行版都提供类ports系统.并且和*BSD系统一样,都提供了一个基础系统以供用户在其之上进行构建.
- ARCH使用pacman来进行二进制包管理,同时还使用Arch Build System.CRUX使用一个叫prt-get的社区开发软件和它自己的ports系统来处理依赖关系解析.尽管如此,CRUX上所有的软件包都需要从源代码进行编译,虽然CRUX的基础系统是基于二进制包的.
- ARCH官方只支持i686和x86_64架构.而CRUX官方只支持x86_64
- ARCH是一个滚动升级系统,其软件仓库提供大量编译好的二进制软件包,除此之外,还拥有Arch User Repository.CRUX的软件仓库比较逊色并且其ports系统也缺乏官方支持.

### Slackware

- Slackware 和 Arch 很相似，二者都是小巧优雅的发行版。
- Slackware 很少修改软件包，从内核往上全部都使用上游提供的软件。Arch 只有在避免出现严重问题或保证顺利打包时才使用补丁。
- Slackware 使用 BSD 风格的初始化脚本，Arch 使用 systemd.
- Arch 有一个健壮的包管理系统 pacman。与Slackware的标准工具不同，它可以自己处理依赖关系并提供更自动化的系统升级方式。Slackware用户更倾向于手动处理依赖关系，以尽可能控制自己的系统。Slackware也对预编译的库和依赖提供杰出的支持。
- Arch 是一个滚动升级的系统，Slackware的发布更为保守，更喜欢提供稳定的软件包。在这个方面，Arch更为“前卫”。
- Arch 软件仓库提供成千上万的二进制包，而相比之下 Slackware 官方支持的软件包比较少。
- Arch提供 Arch Build System（一个类ports系统）和AUR（用户贡献的数以万计的PKGBUILD）。 Slackware提供一个相似的系统 slackbuilds.org，它是半官方支持的Slackbuilds（和PKGBUILD相似）仓库。Slackware用户一般会对Arch的多数方面感到满意。

## 通用发行版

这些发行版提供长处和优点更为广泛,可以满足绝大部分对操作系统的需求.

### Debian GNU/Linux

- Debian是上游最大的发行版,其社区规模更大,提供稳定、测试和不稳定分支,包含超过三万个高质量的二进制包.ARCH的软件仓库相对较小,但是如果包含AUR,那么支持的软件数量也差不多.
- Debian对自由软件更热情,但是也提供非自由软件仓库.ARCH对GNU定义的非自由（'non-free'）软件更显宽容.
- Debian更注重于稳定性并经过充分测试，而ARCH更注重于简洁、小巧和"前卫".一般来说,ARCH提供的的软件包比Debian Stable和Test分支中的更新,和unstable里的差不多。
- Debian和ARCH都提供很好的包管理系统.
- ARCH滚动升级，而Debian Stable采用“冻结”的包发行方式.不过,Debian的unstable分支是滚动升级的.
- 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,而ARCH使用systemd,因为其总体性能更优.(不过Debian上也可以使用systemd和upstart)
- ARCH只在迫不得已时才打补丁,以避免出现上游无法审阅的问题.Debian使用者众多,所以经常对软件包打补丁.

### Fedora

- Fedora由社区开发,并红帽提供公司级支持.它是红帽版的技术前导版,对新技术的采用非常激进.Fedora的软件包和项目会被引入RHEL中,并最终被其他发行版采用.ARCH一般也被认为很"前卫"，但是它不像很多发行版一样提供测试分支,而是采用滚动方式进行升级.
- Fedora采用RPM包,使用YUM包管理器并且提供一个图形化的包管理工具.ARCH使用pacman管理tar.xz软件包,官方不支持图形前端.
- Fedora坚持开源理念,默认不提供有专利限制的软件,比如MP3支持.一些第三方源提供这些内容. Arch 对于 MP3 及非自由软件更加宽松，将决定权交给用户。
- Fedora提供很多安装选项,比如图形化安装和最小化安装.Fedora "spins" 还提供许多桌面环境以供用户选择(这些桌面环境都带一些默认的软件包).ARCH仅提供了一些脚本来方便进行最小化系统安装
- Fedora 发行周期固定,但官方支持通过FedUp工具进行跨版本升级.Arch是滚动升级系统.
- Arch的设计理念是简洁,优雅,轻量级,用户定制.而Fedora的核心价值是自由软件,社区开发和前卫性系统性创新.
- ARCH有ports系统,而Fedora没有.
- ARCH和Fedora都面向有经验的用户和开发者,都倡导用户积极为项目开发做贡献.
- Fedora在SELinux整合,GCJ编译包(GCJ的目的是解除对Oracle JRE的依赖)等方面走在前列,并且积极为上游开发做贡献.和其他项目相比,Red Hat和Fedora开发者贡献的Linux内核代码最多.
- Arch Linux Wiki被认为是各发行版Wiki中内容最丰富的和最易用的.Fedora wiki仅是开发者,测试者和用户间交流信息的平台,并不是和Arch Wiki一样为最终用户准备,其实它更像一个问题追踪和合作开发wiki.

### Frugalware

- ARCH基于命令行.
- Frugalware默认不支持JFS文件系统.
- Arch和Frugalware都针对i686进行优化.
- Arch可以先做为最小化的基础系统安装,再根据用户需求通过pacman进行扩展.Frugalware从DVD安装,有默认安装的桌面环境和软件包.
- Frugalware有固定的发行周期,而ARCH更注重通过滚动发行来保证简洁,最小化,代码正确性和"前卫".

## 新手友好的发行版

"新手友好版"有时也被叫做“新手发行版”.新手友好的发行版之间有许多相同之处,而Arch和他们其中的任何一个都不同.如果你想通过构建极简系统的方式来学习GNU/Linux,Arch也许是一个好选择,因为相比之下,Arch只需安装少量软件包.不同"新手发行版"之间的不同如下:

### Ubuntu

- Ubuntu是一个非常流行的基于Debian的发行版,由Canonical公司提供商业支持;而Arch是独立开发而成.
- Ubuntu和Arch的目标不同并且面向的用户群体也不一样.Arch为那些渴望自己动手的用户设计,而Ubuntu提供自动配置好了的系统,对用户来说更"友好".Arch设计了一个最小化的基础系统,然后严重依赖用户按自己的特定需求进行定制.一般来说,开发者和动手能力强的用户更喜欢Arch.许多Arch用户都从Ubuntu起步,最终转向Arch Linux.
- 现在Ubuntu开发和推广的重心好像都转移到了触摸屏设备上,而Arch的开发依然坚持以用户为中心,鼓励社区合作开发客制化的解决方案.
- Ubuntu每6个月发行一个新版本，而Arch是滚动升级的，每月提供一个系统镜像.
- Arch提供类ports程序来构建系统（ Arch Build System）而Ubuntu没有.
- 这两个社区也有不尽相同/Arch社区更小,鼓励用户为Arch奉献一份力量.做为对比,Ubuntu社区很大,并能容忍其中许多实际上并未为开发、打包和维护作贡献的用户.

### Mandriva

Mandriva Linux(之前的Mandrake Linux)于1998年出现,其目标是让GNU/Linux变得对每个人都易于使用.它基于RPM,使用urpmi包管理器. Arch更简单,使用基于文本的配置,依赖更多的手动配置,主要面向进阶用户. Mandriva因其图形化方面的设置而出名，是非常自动化的发行版。默认使用了多线程下载的软件管理系统，更新上非常快速（arch也可以，安装curl就可实现），Mandriva有强大的社区和商业支持，对各种图形界面软件的打包非常专业，总体上优于ubuntu（比如gnome和kde都比ubuntu的稳定并且快速），但营销宣传上比ubuntu弱，而且近年来还发生社区分裂，力量削弱。和ubuntu类似，适合那些不需要太多定制，太过追新的人群。

### openSUSE

openSUSE以RPM格式软件包为中心.提供了优秀的YaST2图形配置工具,它是一个一站式配置和软件包管理中心,所以能满足大多数用户对于系统配置的需求.因为这种方式不符合 Arch的理念,所以 Arch 没有提供此类工具.一般openSUSE 更适合经验较少或需要图形驱动界面、自动完成配置的用户。

### PCLinuxOS

- PCLinuxOS是基于 Mandriva 的流行发行版,提供用户友好的完整的桌面环境,而且颇为"简单".这种"简单"却和Arch的定义不同.Arch被设计为一个简单的基本系统,可以从下到上进行定制,所以更适合高级用户.
- PCLOS使用apt作为RPM软件包的管理器.Arch使用独立开发的pacman软件包管理器来处理`.pkg.tar.xz`包.
- PCLOS倾向于使用图形界面,提供了硬件配置图形界面和Synaptic软件包管理器前端,基本和命令行绝缘.而Arch则是基于命令行,目的在于方便的进行系统配置,管理与维护.
- PCLOS推荐至少拥有256MB内存.与之相比,Arch更轻量,运行一个系统所需的内存更少.安装i686架构的Arch基础系统仅需64MB内存,如果在现在的电脑上运行,则更流畅.

## 与BSD系列的对比

*BSDs都始于UC Berkeley大学的工作:提供一个可以自由分发、免费的UNIX系统.这些*BSD不是GNU/Linux发行版,而是UNIX-like系统.所以,尽管Arch和它们都使用精简的基本系统和port系统,但是从代码上看是没有任何关系的.vi可能是个例外,因为Arch使用原版BSD vi(大多数*BSD*都不使用原版BSD vi).*BSDs从原版AT&T `UNIX`代码演进而来,可以说是真正的 `UNIX`后裔.关于*BSD各种版本的特点,请参考各自官方站点.

### FreeBSD

- Arch和FreeBSD都既提供编译好的二进制软件又提供ports系统来编译安装软件.
- 和其它*BSDs系统一样,FreeBSD是做为完整来开发的,每个程序都会被移植到FreeBSD并保证能够正常运行.GNU/Linux 发行版则是从许多独立的源聚合出一个系统.
- FreeBSD协议注重保护程序员,而GPL注重保护代码.Arch在GPL下发布.
- FreeBSD和Arch一样,需要用户自己做出决定.FreeBSD的软件包数量和Arch相似,都有优秀、活跃、理性而且规模相似的社区.
- 两个系统非常相似,一般来说,FreeBSD用户对Arch的大部分方面会感到满意.

### NetBSD

- NetBSD 是一个自由安全并且具有高度可移植性的Unix-like系统,支持超过50个平台,从64位 Opteron机器到桌面系统到手持设备和嵌入设备.它设计简洁、功能强大,使其既适于在生产环境中使用,又适于在研究环境中使用.用户可以查看完整代码，许多应用程序可以通过pkgsrc从NetBSD软件集获得.
- Arch支持的平台没有NetBSD多,但是在i686上提供更多软件.
- NetBSD的pkgsrc提供了和Arch ABS类似的软件包安装方法,也可以通过pkg_tools获取二进制包
- Arch和NetBSD有许多相似的地方.比如都需要手动配置,精简,轻量,既提供ports系统又提供二进制包,都有活跃理性的开发者和社区.

### OpenBSD

OpenBSD是一个自由的,可以用于多个平台的,基于4.4BSD的UNIX-like操作系统

- OpenBSD的侧重点是可移植、标准化、代码正确、安全和整合加密.相比之下,Arch更专注于简单,优美,精巧和最新的软件.OpenBSD将自己描述为"可能最安全的系统".
- 和Arch一样，OpenBSD提供了一个小而优美的基本安装。
- 都使用一个ports系统和软件包系统方便安装和管理非基本系统的软件包.
- 与GNU/Linux系统(比如Arch)不同,OpenBSD的内核和用户空间的程序,比如说shell和常用工具(像ls,cp,cat和ps),集中在单一的源代码仓库中开发.BSD系统一般都采取这种方式.

## 参阅

- DistroWatch.com

Category:

- About Arch (简体中文)