Pages

Tuesday, 17 January 2012

Archlinux与其他linux发行版的比较

本文试图将 ArchLinux 和其他流行的 GNU/Linux 发行版和类UNIX系统作一个比较。下面的总结很简洁,但可以帮您决定 Arch Linux 是否符合自己的需求。尽管评论和叙述有一定作用,但亲身体验总是比较发行版的最好方法。

基于源码的发行版

基 于源码的发行版是高度便捷的,优点是可以根据机器架构和使用方案最优地控制和编译整个系统和所有软件,而劣势是要在源码编译上消耗大量时间。 Arch 的基础和所有软件包都为i686和x86-64平台编译,从而相比基于i386/i486/i586二进制包的发行版,更充分发挥硬件的性能优势。

Gentoo

Arch Linux 和 Gentoo Linux 都是滚动升级的发行版,在上游软件发布后很短时间内就会制作完成可用的软件包。Gentoo的包和基本系统是直接从源码根据用户指定的USE标识构建。尽 管 Arch 基本系统被设计为安装预编译的 i686/x86_64 二进制包,它同时提供了类 ports 系统来从源码编译软件。这样 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不提供二进制的包,但回滚到以前安装的包很容易。
安 装过程包括从文本和ncurses菜单配置一个简单基本系统,然后重新编译这个基本系统(可选)。和 Arch 一样,它们不提供缺省的WM/DE/DM(窗口管理器,桌面环境,桌面管理器),在安装时也没有安装Xorg。但是它们提供一种很简单的方法来安装可选的 几个X server(包括X.Org 6.8或7, XFree86)。
SLS的历史非常复杂。关于它是最好记录可以在这里找到:the SourceMage wiki

极简派(Minimalist)

极简派发行版和 Arch 有相当的可比性,有一些共同之处。从技术层面都强调简洁的重要性。

LFS

LFS(Linux From Scratch)以文档形式存在,指导用户获得用于构建一个实用 GNU/Linux 系统的最少的基础源码包,然后从零开始编译、打补丁并进行配置。LFS 就是这样小巧,并且提供优秀的学习实践过程,用户从中学到构建和定制基本系统的整个过程。
Arch 基本系统同样提供这些软件包(针对 i686/x86-64 优化),加上BSD风格的启动脚本、一些额外的辅助工具和功能强大的 pacman 包管理工具。LFS 并不提供在线软件仓库,源码要手动获取、用 make 编译和安装。(也存在一些手动的包管理方法,在 LFS 手册有提及。)基于Arch基本系统,社区和开发者提供并管理数以千计可供 pacman 安装的二进制包以及 Arch Build System 使用的 PKGBUILD 脚本。Arch 同时也包括 makepkg 工具用来方便地生成 .pkg.tar.xz 格式的软件包,然后可以用 pacman 安装。
Judd Vinet从源码构建 ArchLinux,并用C编写 pacman 。以前,Arch 有时被称为“带有一个优秀包管理系统的Linux”(Linux, with a nice package manager)。

CRUX

Arch是单独开发的,而不是基于其他任何 GNU/Linux 发行版。在构建 Arch 之前,Judd Vinet 使用并称赞 CRUX(Per Lidén构建的轻量级发行版)。最初的灵感和CRUX是相同的, Arch从源码构建,之后有了用C写成的 pacman。它们有着相同的指导原则,比如二者都对硬件架构优化,最小化并符合K.I.S.S原则。二者都有类ports系统,使用*BSD风格的初始化系统,而且像*BSD一样都提供可扩展的最小基本环境。pacman 是 Arch 的一大特色,它用来管理系统中的二进制包,并能很好地与 Arch Build System 协同工作。CRUX 用一个社区开发的 prt-get来配合自己的ports系统来处理依赖关系,但包是从源码生成的(尽管 CRUX 基本安装环境是二进制的)。Arch 只提供对 x86-64 和 i686 的官方支持,而 CURUX 有官方支持的i686以及社区开发的 x86-64、ppc 和 ppc64。
Arch 使用滚动升级系统并提供大量二进制包和 Arch User Repository。相比之下 CRUX 提供一个缺乏官方支持的 ports 系统和比较逊色的软件仓库。
这个论坛的帖子陈述了一位用户对这两个发行版的观点。

Slackware

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

Arch 与 其他图形化的发行版

图 形化的发行版之间有许多相同之处,而Arch和他们其中的任何一个都非常的不同。 Arch 是个基于文本和面向命令行的。 如果想真正学习Linux,Arch是个更好的选择。图形化的发行版往往装备有GUI安装器(像Fedora的Anaconda)和GUI的系统配置工具 (像Suse的Yast)。特殊的不同之处在下面描述。

Arch 与 Debian GNU/Linux

Debian 是一个更大的项目和社区,提供稳定、测试和不稳定分支,包含超过二千的二进制包。Arch不像Debian那样把包分成“-dev”和 “-common”,因此Arch的软件仓库看起来更小。Debian 对自由软件更热情。Arch对GNU定义的非自由('non-free')包更显宽容。Debian更注重于稳定性并经过充分测试,而Arch更注重于简 洁、小巧和提供最新软件。Arch的包比Debian Stable 和 Testing 中的更新,和 unstable里的差不多。Debian 和 Arch 都提供很好的包管理系统。Arch 滚动升级,而 Debian Stable 采用“固定”的包发行。Debian 支持许多架构,包括alpha, arm, hppa, i386, x86_64, ia64, m68k, mips, mipsel, powerpc, s390 和 sparc,而 Arch 只支持i686 和 x86_64。 Arch 对从源码创建包提供更好的支持,有一个类ports系统。Debian 不提供ports系统,只依靠着包数量庞大的软件仓库。Arch安装环境只提供最小的基本系统,编辑文本文件来配置系统,而Debian的方式更为自动 化,另外还提供多种安装方式。Debian使用SysVinit,而Arch使用类*BSD风格init。Arch只在迫不得已时才打补丁。

Arch与 Ubuntu

Ubuntu 是一个非常流行的基于Debian的发行版,由Canonical公司提供商业支持,而Arch是从源码创建的独立发行版。两个项目有 非常不同的目标并面向不同的用户群体。Arch为那些渴望自己用手的用户设计,而Ubuntu提供自动配置好了的系统面向“所有”的用户。如果你想快速安 装使用而不作过多修改的话,Ubuntu更适合你。Arch以很小的基本系统提供给用户,很大程序上依靠用户按自己的需求定制。一般来说,开发者和用手能 力强更喜欢Arch,尽管很多Arch用户最初用的是Ubuntu后来转而使用Arch。Ubuntu每6个月发行一个新版本,而Arch是滚动升级的。 Arch提供类ports包构建系统( Arch Build System)而Ubuntu没有。这两个社区也有不尽相同,Arch社区更小,强烈鼓励用户为Arch奉献一份力量。而相反,Ubuntu社区很大,并能容忍其中许多实际上并未为开发、打包和维护作贡献的用户。

Arch 与 Fedora

Fedora 由社区开发,并由Red Hat提供财力支持,是目前最流行的发行版之一。它是一个很激进的测试的发行版,它的包和工程将被迁移到RHEL,基本一些最终被其他发行版所接受。 Arch同样也被认为是有些激进的,尽管它是滚动升级而且不是另一个发行版的测试分支。Fedora以一个庞大社区而骄傲,有很多预编译包和完美的技术支 持。Fedora的包是RPM格式的,使用YUM包管理器,并有一个官方的图形界面工具(Packagekit)。 Arch使用pacman去 管理简单的tar包并且不对图形前端提供官方支持。Fedora拒绝包含MP3和一些其他媒体支持因为它只包含自由软件,尽管有第三方的仓库。Arch在 这方面限制更少,把选择的权利留给用户。Fedora有图形和文本两种安装环境,提供一个默认包含一些软件的桌面环境,用户以以此为基础进行配置。 Arch只提供基于ncurses的最小系统安装环境。Fedora有计划的发行周期,并提供版本升级。Arch滚动升级。Arch更注重简洁、轻量和灵 活,而Fedora更注重社区开发和系统级的创新。 Arch有一个ports系统,而Fedora没有。Arch和Fedora有很鼓励社区人员为开发作贡献。Fedora社区在SELinux整合、 GCJ编译包(不需要Sun的JRE)和很多上游软件上作出不少贡献。

Arch 与 Mandriva

Mandriva Linux(前身为 Mandrake Linux)创建于1998年,目标是使GNU/Linux对于每个人都易于使用。它使用基于RPM包,使用urpmi包管理软件。它与Arch的目标用户不尽相同。

Arch 与 openSUSE

openSUSE使用RPM包格式并以YaST2图形化配置工具著名,YaST2对大多数用户提供一站式配置管理(包括包管理)。Arch不提供这样的工具,因为它违背了The Arch Way。 然而openSUSE大多为认为对新手(或者更喜欢图形界面、自动化配置和开箱即用的用户)更为友好。

与BSD系列的对比

Arch vs FreeBSD

BSDs 起源于伯克利Unix. http://www.freebsd.org/about.html 因此Freebsd不是一个Linux发行版. 软件可以使用二进制或通过'ports'从源代码安装。BSD自我宣称它不仅仅是一个作为整体上的系统,并且会确认每个被移植到FreeBSD上的程序是 否能工作正常。像Arch一样,软件包差不多是最新的。这大概是Arch最有意思的竞争者,因为它也醉心于追逐新软件,并且有一个规模比较可观,才华横 溢,活跃和严肃的社区。其中其pkg部分,近似于arch的pacman,其port部分,近似于arch的abs,但好像因为其严谨,而缺乏类似 arch的aur的东西。

Arch vs NetBSD

NetBSD 名称来源于其发起和发展主要靠网络,它是一个自由,安全并且具有高度可移植性的类UNIX开源操作系统,从64位的Opteron机器 和桌面系统到手持和嵌入式设备,它支持超过70种平台,可以说是支持平台最多的一个发行版,但它为了可移植性,不可避免牺牲了部分平台的功力,从而无法充 分发挥特定平台的全部潜力。它设计简洁,并且那些高级特性使它同时成为优异的生产和研究环境,它也提供给用户所有的源代码。许多应用程序轻易地可以通过 pkgsrc来获得,它就是NetBSD软件包集合。Arch不会像NetBSD那样可以用在那么多的设备上,但是对i686平台它会提供更多的应用程 序。而且默认的pkgsrc安装方法是先取得软件包的源码再进行编译,而Arch是直接提供二进制软件包。Arch和NetBSD之间有很多相似之处;它 们都使用/etc/rc.conf作为主配置文件,它们非常精简和轻巧,它们都提供ports系统和二进制软件,它们都有活跃,严谨的开发和社区。 Arch还从*BSD那里借鉴了它的init系统的概念。

Arch vs OpenBSD

OpenBSD 是个极端追求安全性的操作系统,自我宣称“大概是头等安全的操作系统“。它也是一个自由,用于多个平台的基于4.4BSD的类 UNIX操作系统。相比之下,Arch更专注于简单,优美,精巧和最新的软件。OpenBSD支持大多数程序的二进制仿真,它们来自 SVR4(Solaris),FreeBSD, GNU/Linux, BSD/OS, SunOS and HP-UX. 和Arch一样,OpenBSD提供了一个小而优美的基本安装并且使用一个ports系统和软件包系统来允许进行容易的安装和管理非基本系统的软件包。 GNU/Linux系统比如说Arch,它和大多数基于BSD的操作系统一样,OpenBSD内核和用户空间的程序,比如说shell和常见的工具(像 ls,cp,cat和ps),它们被开发成在单一的源代码仓库中。 目前BSD系列对硬件支持都集中在服务器,对普通电脑的支持相对落后于Linux,而且,软件交流社区也仍然集中在服务器领域,对桌面用户的交流比较弱 势,不太适合桌面用户。

与其他的对比

Arch 与 Zenwalk

Zenwalk是从Slackware衍生的,但是它更方便和现代。Arch和Zenwalk一个很大的不同是Zenwalk安装的包是开发者已经选好的。如果你喜欢他们的选择,这会节省你的时间,但如果你想有其他选择,这就成它的不便之处了。

Arch vs Gobolinux

Gobolinux 有一个独特的无为而治的包管理方法。其文件系统被组织成应用程序全部位于 /Programs 目录,并且通过符号链接使用。删除程序X只需 rm -rf /Programs/X http://www.gobolinux.org/index.php?page=at_a_glance It does not seem to focus on i686 binaries and does allow source-based package installs. 其并不是针对i686平台优化的二进制程序,允许基于源码的软件安装。

Arch vs Minix 3

Arch 是一个拥有现代社区和硬件支持的完整发行版。Minix 3 是一个有一些有趣特性的微小而不稳定的高级研究用操作系统,例如用于 microkernelhttp://www.minix3.org/

Arch 与 Frugalware

Arch 基于文本界面并且面向命令行操作, 而 Frugalware 提供了更佳的多语言支持. 同时 Frugalware 也提供了更多的本地化文档. 虽然同样使用 packman, 但是它们的包并不完全兼容. Frugalware 默认不支持 JFS 文件系统. Frugalware 不再基于 Slackware,更像是一个独立的发行版,并且它基于 i686 架构。

Arch 与 Rock

来自这篇介绍:http://www.rocklinux.org/wiki/About
ROCK Linux是一个用来打造Linux发行版的灵活的开发工具包,即打造你自己的Linux发行版可用的工具链或框架。这个你也可以参考我们的目标描述。
如果你不想打造你自己的Linux发行版,而只是对一个具有多用途的好的发行版感兴趣,你或许可以看一下 http://www.rocklinux.org/wiki/Crystal_ROCK
它是一个作为开发工具而生的发行版。和Arch相比,它有和其他基于源码的发行版一样的问题,如编译所需的时间等。它可以运行在多种处理器上如SPARC, ARM等。

Arch 与 T2

来自FAQ http://www.t2-project.org/faq/
问 题:既然已经有Gentoo了为什么还需要T2? 回答:T2,或者更精确的说,它的前身ROCK Linux,它在1998年就启动了,比Gentoo早几个月,而且比Gentoo更早在freshmeat注册--所以,这个问题如果能反过来问或许更 好。 同样,在技术方面T2支持商业强度的开发,坚持目标,交互编译,可选的嵌入式C开发库和多引导系统可选择。T2的包通常不包括任何代码,它是基于key- value的文本文件,这使得包的工作和更新在T2上非常快。 Arch使用为i686优化的二进制包(由于不需要编译所有的东西,所以很快)来和T2竞争。T2在技术实力方面是一个强有力的竞争者。由于它能用于嵌入 式设备,它有可能在某些应用方面击败Arch。T2值得关注.

No comments:

Post a Comment