Difference between revisions of "Arch compared to other distributions (简体中文)"

From ArchWiki
Jump to navigation Jump to search
(update interlanguage links)
Tag: wiki-scripts
 
(106 intermediate revisions by 27 users not shown)
Line 1: Line 1:
[[Category:简体中文]]
 
 
[[Category:About Arch (简体中文)]]
 
[[Category:About Arch (简体中文)]]
{{i18n|Arch Compared to Other Distributions}}
+
[[ar:Arch compared to other distributions]]
{{Article summary start|概述}}
+
[[bs:Arch compared to other distributions]]
{{Article summary text|Arch Linux 和其他流行 GNU/Linux 发行版和BSDs的简明比较。}}
+
[[cs:Arch compared to other distributions]]
{{Article summary heading|相关文章}}
+
[[da:Arch compared to other distributions]]
{{Article summary wiki|Arch Linux (简体中文)}}
+
[[de:Arch vs. Distribution X]]
{{Article summary wiki|The Arch Way}}
+
[[el:Arch compared to other distributions]]
{{Article summary heading|外部链接}}
+
[[en:Arch compared to other distributions]]
{{Article summary link|DistroWatch.com|http://distrowatch.com/}}
+
[[es:Arch compared to other distributions]]
{{Article summary end}}
+
[[fa:آرچ در مقایسه با سایر توزیع‌ها]]
 +
[[fi:Arch compared to other distributions]]
 +
[[fr:Arch vs autres distributions]]
 +
[[hu:Arch compared to other distributions]]
 +
[[id:Arch compared to other distributions]]
 +
[[it:Arch compared to other distributions]]
 +
[[ja:Arch と他のディストリビューションの比較]]
 +
[[ko:Arch compared to other distributions]]
 +
[[lt:Arch compared to other distributions]]
 +
[[nl:Arch compared to other distributions]]
 +
[[pl:Arch compared to other distributions]]
 +
[[pt:Arch compared to other distributions]]
 +
[[ru:Arch compared to other distributions]]
 +
[[sk:Arch compared to other distributions]]
 +
[[th:Arch compared to other distributions]]
 +
[[zh-hant:Arch compared to other distributions]]
 +
{{Related articles start (简体中文)}}
 +
{{Related|Arch Linux (简体中文)}}
 +
{{Related|基于Arch的发行版(活跃)}}
 +
{{Related|Pacman/Rosetta (简体中文)}}
 +
{{Related articles end}}
 +
{{TranslationStatus (简体中文)|Arch_compared_to_other_distributions|2017-03-06|466779}}
 +
本文在 Arch Linux 和其他流行的 GNU/Linux 发行版、类 UNIX 操作系统之间做了一些比较,以帮助用户判断 Arch Linux 是否能符合他们的需要。虽然对此进行一些描述有助于用户理解这些操作系统之间的不同点,但是比较 Arch Linux 和其他发行版的最好办法还是安装它们并进行亲身体验。
  
本文总结了 你牛叉龙头版 和其他发行版某些相似点以及不同点。这种问题常被问起,所以有个标准回答显然是不错的主意。请注意:比较 你牛叉龙骨 和其他发行版的最好的办法是安装它,并亲身暴力肉测之。
+
英文维基百科的[[w:Comparison of operating systems|《操作系统比较》]]和[[w:Comparison of Linux distributions|《Linux发行版比较》]]这两个页面包含了更详细的比较信息。
  
 +
== 基于源码的发行版 ==
 +
基于源码的发行版非常容易移植,它们的优点是可以根据机器架构和使用情况最优地控制和编译整个系统和所有软件,而劣势是要在源码编译上消耗大量时间。Arch Linux 的基础包和其他所有软件包都只为 x86-64 架构编译(在 2017 年 11 月[https://www.archlinux.org/news/phasing-out-i686-support/ 之前],仍对 i686 架构提供支持),相比基于 i486/i586 二进制包的发行版,性能的优势和潜力更大。
  
另外,你牛叉龙头版 有个超有爱的用户社区,那里的人们乐于帮助新用户。以下的粗略描述将给您足够的信息量,让您决定 你牛叉骨干 是否真的适合自己。
+
=== CRUX ===
 
+
* 在创建Arch之前,Judd Vinet使用CRUX并且对其相当赞赏(CRUX是 Per Lidén创建的一个极简发行版),在草创之初,ARCH就和CRUX、BSD秉承同样的理念,之后才有了用C完成的[[pacman]]。
==基于源码的发行版==
+
* ARCH和CRUX的发行版都提供类ports系统,并且和*BSD系统一样,都提供了一个基础系统以供用户在其之上进行构建。
基于源码的发行版是高度便捷的,优点是可以根据机器架构和使用方案最优地控制和编译整个系统和所有软件,而劣势是要在源码编译上消耗大量时间。Arch 的基础和所有软件包都为i686和x86-64平台编译,从而相比基于i386/i486/i586二进制包的发行版,更充分发挥硬件的性能优势。
+
* ARCH使用pacman来进行二进制包管理,同时还使用[[Arch Build System]]。CRUX使用一个叫“prt-get”的社区开发软件和它自己的ports系统来处理依赖关系解析。尽管如此,CRUX上所有的软件包都需要从源代码进行编译,虽然CRUX的基础系统是基于二进制包的。
 
+
* ARCH 和 CRUX 官方都只支持 x86_64 架构。
===Gentoo===
+
* ARCH是一个滚动升级系统,其软件仓库提供大量编译好的二进制软件包,除此之外,还拥有[[Arch User Repository]]。CRUX的软件仓库比较逊色并且其ports系统也缺乏官方支持。
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的历史非常复杂。关于它是最好记录可以在这里找到:[http://wiki.sourcemage.org/SourceMage/History the SourceMage wiki]
 
 
 
==极简派==
 
 
 
极简发行版和 Arch 有一些共同之处,都强调简洁的重要性。
 
  
 
=== LFS ===
 
=== LFS ===
LFS(Linux From Scratch)以文档形式存在,指导用户获得用于构建一个实用 GNU/Linux 系统的最少的基础源码包,然后从零开始编译、打补丁并进行配置。LFS 就是这样小巧,并且提供优秀的学习实践过程,用户从中学到构建和定制基本系统的整个过程。
+
* LFS(Linux From Scratch)只以文档形式存在,提供的文档指导用户如何从零开始构建一个完全个性化的操作系统:从如何获取构建一个基础操作系统所需的源代码,到如何编译,如何打补丁,如何对系统进行配置。总之,LFS 提供一个构建和定制基础系统的良好教程。
 +
* LFS 不提供在线软件仓库;必须手动获取源代码,然后用 make 编译安装它们。(需要一些包管理方法,这点在 LFS Hints 里面提到过)
 +
* Arch 基础系统除了提供和 LFS 一样的软件包,还包含 [[systemd]],[[pacman]] 等一些额外的工具,并且这些软件都已经为 x86_64 架构编译过了。Arch 社区和开发者提供了数以千计的软件包,这些软件包可以通过 [[pacman]] 或者 [[PKGBUILD]] 脚本进行安装(PKGBUILD 脚本需要和 [[Arch Build System]] 一起使用)。除此之外,Arch 还包含了一个名叫 [[makepkg]] 的工具来生成方便 pacman 使用的“.pkg.tar.xz”格式的包。
 +
* Judd Vinet 从零开始构建了 Arch,然后使用 C 开发了 Pacman。所以,Arch 有些时候被幽默的描述为“外带一个优秀包管理器的 Linux ”。
  
Arch 基本系统同样提供这些软件包(针对 i686/x86-64 优化),加上BSD风格的启动脚本、一些额外的辅助工具和功能强大的 [[Pacman (简体中文)|pacman]] 包管理工具。LFS 并不提供在线软件仓库,源码要手动获取、用 make 编译和安装。(也存在一些手动的包管理方法,在 LFS 手册有提及。)基于Arch基本系统,社区和开发者提供并管理数以千计可供 pacman 安装的二进制包以及 [[Arch Build System]] 使用的 [[PKGBUILD]] 脚本。Arch 同时也包括 [[makepkg]] 工具用来方便地生成 {{Filename|.pkg.tar.xz}} 格式的软件包,然后可以用 pacman 安装。
+
=== Gentoo/Funtoo Linux ===
 +
* Arch Linux 和 Gentoo Linux 都是滚动升级的发行版,所以在上游软件发布很短时间后,其上就会有软件包可用。
 +
* Gentoo 的基础系统和软件包都是根据用户指定的 USE 标识直接从源代码构建。Gentoo 提供了一个类 ports 系统( Ports 是 BSD 上的一个系统工具)来从源代码编译软件包,而 Arch 基础系统被设计为“直接由预构建好的 x86_64 二进制软件包组成”。一般来说,Arch 更易于构建和升级,而 Gentoo 更易于进行系统化的定制。
 +
* Arch 只支持 x86_64 架构,Gentoo 对 x86(i486/i686)、x86_64、PPC/PPC64、SPARC、Alpha、ARM、MIPS、HPPA、S/390、Itanium 架构提供官方支持。
 +
* Gentoo 的官方包管理工具比 ArchLinux 的更复杂和强大,而且一些在 Gentoo 中处于核心位置的特性(比如 [https://wiki.gentoo.org/wiki/Handbook:X86/Working/USE/zh-cn USE 标记]、[https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage/zh-cn#.E7.AE.80.E4.BB.8B_.3D SLOTs] 等等)在 Arch 中并没有相对应的功能。究其原因,一是因为 ArchLinux 主要是一个二进制发行版,第二是因为 Gentoo 和 Arch 在[[Arch Linux#Principles|设计哲学]]上有些差别。Arch 在原则上更偏向于架构的简洁性和避免过度设计。
 +
* 因为 Gentoo 和 Arch 的安装包都只包含基本系统,所以它们两者都被认为是需要高度定制化的系统。一般来说,Gentoo 用户如果习惯于 [[systemd]] 的话,对Arch的大多数方面都会感到满意。
  
Judd Vinet从源码构建 ArchLinux,并用C编写 [[Pacman (简体中文)|pacman]] 。以前,Arch 有时被称为“带有一个优秀包管理系统的Linux”(Linux, with a nice package manager)。
+
== 通用发行版 ==
 +
这些发行版提供长处和优点更为广泛,可以满足绝大部分对操作系统的需求.
  
=== CRUX ===
+
=== Debian GNU/Linux ===
  
在构建 Arch 之前,Judd Vinet 使用并称赞 CRUX(Per Lidén构建的轻量级发行版)。最初的灵感和CRUX是相同的, Arch从源码构建,之后有了用C写成的 [[Pacman (简体中文)|pacman]]。它们有着相同的指导原则,比如二者都对硬件架构优化,最小化并符合K.I.S.S原则。二者都有类ports系统,使用*BSD风格的初始化系统,而且像*BSD一样都提供可扩展的最小基本环境。[[Pacman (简体中文)|pacman]] 是 Arch 的一大特色,它用来管理系统中的二进制包,并能很好地与 [[Arch Build System]] 协同工作。CRUX 用一个社区开发的 prt-get来配合自己的ports系统来处理依赖关系,但包是从源码生成的(尽管 CRUX 基本安装环境是二进制的)。Arch 只提供对 x86-64 和 i686 的官方支持,而 CURUX 有官方支持的i686以及社区开发的 x86-64、ppc 和 ppc64。
+
*Debian 是上游最大的发行版,其社区规模更大,提供稳定、测试和不稳定分支,包含超过51000个二进制包. ARCH 的软件仓库相对较小,但是如果包含AUR,那么支持的软件数量也差不多.
 +
*Debian 对自由软件更热情,但是也提供非自由软件仓库。Arch 对 GNU 定义的非自由(“non-free”)软件更显宽容.
 +
*Debian 对稳定分支的测试更详细彻底,软件基本冻结并提供[https://wiki.debian.org/LTS 五年]支持。Arch 提供的的软件包比 Debian Stable 中的软件包新,与 unstable和testing里的差不多,而且没有固定发布周期,滚动发布。
 +
*Debian 支持许多架构,包括 alpha,arm,hppa,i386,x86_64,ia64,m68k,mips,mipsel,powerpc,s390和sparc.而ARCH仅对 x86_64 提供官方支持,其对 arm 的支持移植自社区项目(例如对Raspberry Pi的支持).
 +
*ARCH 对从源码创建软件包提供更好的支持,有一个类 ports 系统.Debian 不提供类 ports 系统,而是依靠它巨大的软件仓库.
 +
*ARCH 安装环境只提供最小的基本系统,然后通过编辑文本文件来配置系统.而 Debian 的配置方式更为自动化并且还提供多种安装方式.
 +
*在启动脚本上,Debian ( 8.0或更高版本 )和 ARCH 均使用 [[systemd]] ,因为其总体性能优。
 +
*ARCH 一般将 lib 软件库与其头文件一同打包在一起,而 Debian 则将这两部分分别放到不同的 package 中。
 +
*ARCH 只在迫不得已时才打补丁,以避免出现上游无法审阅的问题. Debian 使用者众多,所以经常对软件包打补丁.
  
Arch 使用滚动升级系统并提供大量二进制包和 [[Arch User Repository]]。相比之下 CRUX 提供一个缺乏官方支持的 ports 系统和比较逊色的软件仓库。
+
=== Fedora ===
  
[http://bbs.archlinux.org/viewtopic.php?pid=133721#p133721 这个论坛的帖子]陈述了一位用户对这两个发行版的观点。
+
* Fedora 由社区开发,并红帽提供公司级支持.它是红帽版的技术前导版,对新技术的采用非常激进. Fedora 的软件包和项目会被引入 RHEL 中,并最终被其他发行版采用.Arch 不像很多发行版一样提供测试分支,而是采用滚动方式进行升级.
 +
* Fedora 采用 RPM 包,用 DNF 包管理器并且提供图形化的包管理工具. Arch 使用 [[pacman]] 管理 tar.xz 软件包.
 +
* Fedora 坚持开源理念,默认不提供有专利限制的软件,比如 MP3 支持(从 Fedora 25 开始已重新支持 MP3).一些第三方源提供这些内容. Arch 对于 MP3 及非自由软件更加宽松,将决定权交给用户。
 +
* Fedora 提供很多安装选项,比如图形化安装和最小化安装.Fedora "spins" 还提供许多桌面环境以供用户选择(这些桌面环境都带一些默认的软件包).ARCH 仅提供了一些脚本来方便进行最小化系统安装
 +
* Fedora 发行周期固定,但官方支持通过 dnf-plugin-system-upgrade (适合大部分的版本)或 rpm-ostree (适合 Fedora Atomic Host)工具进行跨版本升级. Arch 是滚动升级系统.
 +
* ARCH 有 ports 系统,而 Fedora 没有.
 +
* ARCH 和 Fedora 都面向有经验的用户和开发者,都倡导用户积极为项目开发做贡献.
 +
* Fedora 在 SELinux 整合,GCJ 编译包( GCJ 的目的是解除对 Oracle JRE 的依赖)等方面走在前列,并且积极为上游开发做贡献.和其他项目相比,Red Hat 和 Fedora 开发者贡献的 Linux 内核代码最多.
 +
* Arch Linux Wiki 被认为是各发行版Wiki中内容最丰富的和最易用的.Fedora wiki 仅是开发者,测试者和用户间交流信息的平台,并不是和 Arch Wiki 一样为最终用户准备,其实它更像一个问题追踪和合作开发 wiki.
  
 
=== Slackware ===
 
=== Slackware ===
Slackware Arch 很相似,二者都是小巧优雅的发行版。Slackware以约束少和从内核开始的朴素的包著名。Arch 只有在避免出现严重问题或保证顺利打包时才使用补丁。两者都使用BSD 的初始化脚本。Arch 有一个健壮的包管理系统 [[Pacman (简体中文)|pacman]]。与Slackware的标准工具不同,它可以自己处理依赖关系并提供更自动化的系统升级方式。Slackware用户更倾向于手动处理依赖关系,以尽可能控制自己的系统。Slackware也对预编译的库和依赖提供杰出的支持。Arch 是一个滚动升级的系统,Slackware的发布更为保守,更喜欢提供稳定的软件包。在这个方面,Arch更为“前卫”。Arch 软件仓库提供成千上万的二进制包,而相对之下Slackware的更为逊色。Arch提供 [[Arch Build System]](一个类ports系统)和[[AUR]](用户贡献的数以万计的PKGBUILD)。 Slackware提供一个相似的系统 [http://www.slackbuilds.org slackbuilds.org],它是半官方支持的Slackbuilds(和PKGBUILD相似)仓库。Slackware用户一般会对Arch的多数方面感到满意。
+
* Slackware 使用 BSD 风格的初始化脚本,Arch 使用 [[systemd]].
 
+
* Arch 有一个强大完整的软件包管理系统 [[Pacman (简体中文)|pacman]]。与 Slackware 的标准工具不同,它可以自己处理依赖关系并提供更自动化的系统升级方式。Slackware 用户更倾向于手动处理依赖关系,以尽可能控制自己的系统。Slackware也对预编译的库和依赖提供杰出的支持。
==Arch 与 其他图形化的发行版==
+
* Arch 是一个滚动升级的系统,Slackware的发布更为保守,更喜欢提供稳定的软件包。在这个方面,Arch 更为“前卫”。
图形化的发行版之间有许多相同之处,而Arch和他们其中的任何一个都非常的不同。 Arch 是个基于文本和面向命令行的。 如果想真正学习Linux,Arch是个更好的选择。图形化的发行版往往装备有GUI安装器(像Fedora的Anaconda)和GUI的系统配置工具(像Suse的Yast)。特殊的不同之处在下面描述。
+
* Arch 软件仓库提供成千上万的二进制包,而相比之下 Slackware 官方支持的软件包比较少。
 
+
* Arch提供 [[Arch Build System]](一个类ports系统)和[[AUR]](用户贡献的数以万计的PKGBUILD)。 Slackware 提供一个相似的系统 [http://www.slackbuilds.org slackbuilds.org],它是半官方支持的Slackbuilds(和PKGBUILD相似)仓库。Slackware 用户一般会对 Arch 的多数方面感到满意。
=== 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由社区开发,并由红帽公司提供财力支持,是目前最流行的发行版之一。它是红帽版的技术前导版,对新技术的采用非常激进(比arch还激进),但也因此会导致很多不稳定。它有个坚实的社区和许多预先创建好的软件包,还有可获得的商业性技术支持。Fedora因为商业的原因,默认是不提供有专利方面限制的软件的。Fedora有图形界面安装。
 
Arch使用文字界面安装。Fedora可使用图形界面也可使用文字界面安装。Arch相对Fedora是更为简单的系统,依赖于用户手动配置。Fedora有固定版本发布周期。Arch是滚动升级系统。Arch的设计理念是简洁、轻量、灵活,而Fedora目的是测试所引入的新技术,所以更加适合直接针对系统的开发人员。
 
  
===Arch 与 Mandriva===
+
==新手友好的发行版==
  
Mandriva因其图形化方面的设置而出名,是非常自动化的发行版。默认使用了多线程下载的软件管理系统,更新上非常快速(arch也可以,安装curl就可实现),Mandriva有强大的社区和商业支持,对各种图形界面软件的打包非常专业,总体上优于ubuntu(比如gnome和kde都比ubuntu的稳定并且快速),但营销宣传上比ubuntu弱,而且近年来还发生社区分裂,力量削弱。和ubuntu类似,适合那些不需要太多定制,太过追新的人群。
+
"新手友好版"有时也被叫做“新手发行版”.新手友好的发行版之间有许多相同之处,而Arch和他们其中的任何一个都不同.如果你想通过构建极简系统的方式来学习GNU/Linux,Arch也许是一个好选择,因为相比之下,Arch只需安装少量软件包.不同"新手发行版"之间的不同如下:
  
===Arch 与 openSUSE===
+
=== Ubuntu ===
OpenSuse一向号称最漂亮的你牛叉发行版。默认已经把很多东西配置好了,而且还对美工方面下了很多功夫,对商业软件的支持也更好,同时,还提供了一个非常优秀的在线打包系统,使得社区的灵活性大大提高。但opensuse近几年更新速度太慢(为了提高灵活度,opensuse已经开始试验滚动升级模式Tumbleweed),最新的几个版本都不太稳定。和arch相比,也类似与ubuntu。
 
  
==与BSD系列的对比==
+
* Ubuntu 是一个非常流行的基于Debian的发行版,由 Canonical 公司提供商业支持;而 Arch 是独立开发而成.
===Arch vs FreeBSD===
+
* Ubuntu 和 Arch 的目标不同并且面向的用户群体也不一样.Arch 为那些渴望自己动手的用户设计,而 Ubuntu 提供自动配置好了的系统,对用户来说更"友好".Arch 设计了一个最小化的基础系统,然后严重依赖用户按自己的特定需求进行定制.一般来说,开发者和动手能力强的用户更喜欢 Arch.许多 Arch 用户都从 Ubuntu 起步,最终转向 Arch Linux.
BSDs 起源于伯克利Unix. http://www.freebsd.org/about.html 因此Freebsd不是一个Linux发行版. 软件可以使用二进制或通过'ports'从源代码安装。BSD自我宣称它不仅仅是一个作为整体上的系统,并且会确认每个被移植到FreeBSD上的程序是否能工作正常。像Arch一样,软件包差不多是最新的。这大概是Arch最有意思的竞争者,因为它也醉心于追逐新软件,并且有一个规模比较可观,才华横溢,活跃和严肃的社区。其中其pkg部分,近似于arch的pacman,其port部分,近似于arch的abs,但好像因为其严谨,而缺乏类似arch的aur的东西。
+
* 现在 Ubuntu 开发和推广的重心好像都转移到了触摸屏设备上,而 Arch 的开发依然坚持以用户为中心,鼓励社区合作开发客制化的解决方案.
 +
* Ubuntu 每6个月发行一个新版本,而 Arch 是滚动升级.
 +
* Arch 提供类 ports 的软件包构建系统和[[Arch User Repository]],用户可以分享源代码编译脚本,然后用[[pacman]] 安装管理。Ubuntu 使用更复杂的 [[Wikipedia:Advanced Packaging Tool|apt]], 可以通过[https://launchpad.net/ubuntu/+ppas PPA]分发软件。 
 +
* 这两个社区也有不尽相同/ Arch 社区更小,鼓励用户为Arch奉献一份力量.做为对比, Ubuntu 社区很大,并能容忍其中许多实际上并未为开发、打包和维护作贡献的用户.
  
===Arch vs NetBSD===
+
=== Linux Mint ===
NetBSD名称来源于其发起和发展主要靠网络,它是一个自由,安全并且具有高度可移植性的类UNIX开源操作系统,从64位的Opteron机器和桌面系统到手持和嵌入式设备,它支持超过70种平台,可以说是支持平台最多的一个发行版,但它为了可移植性,不可避免牺牲了部分平台的功力,从而无法充分发挥特定平台的全部潜力。它设计简洁,并且那些高级特性使它同时成为优异的生产和研究环境,它也提供给用户所有的源代码。许多应用程序轻易地可以通过pkgsrc来获得,它就是NetBSD软件包集合。Arch不会像NetBSD那样可以用在那么多的设备上,但是对i686平台它会提供更多的应用程序。而且默认的pkgsrc安装方法是先取得软件包的源码再进行编译,而Arch是直接提供二进制软件包。Arch和NetBSD之间有很多相似之处;它们都使用/etc/rc.conf作为主配置文件,它们非常精简和轻巧,它们都提供ports系统和二进制软件,它们都有活跃,严谨的开发和社区。Arch还从*BSD那里借鉴了它的init系统的概念。
 
  
===Arch vs OpenBSD===
+
* [http://www.linuxmint.com/ Linux Mint] 最初是一个 [[#Ubuntu|Ubuntu]] 的衍生版本,后来有添加了 LMDE(Linux Mint的 Debian版本)这是一个基于 [[#Debian GNU/Linux|Debian]] 的版本。而 Arch 是一个独立的发行版,它依赖自己的 [[ABS|构建系统]] 和 [[official repositories|官方仓库]]。
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),它们被开发成在单一的源代码仓库中。
+
* 为了方便系统维护,Mint 包含了一些图形化工具,叫做 ''MintTools(Mint工具)'',而 Arch 仅仅提供简单的命令行工具,例如 [[pacman]],因此 Arch 的系统管理工作需要由用户自己组织。
目前BSD系列对硬件支持都集中在服务器,对普通电脑的支持相对落后于Linux,而且,软件交流社区也仍然集中在服务器领域,对桌面用户的交流比较弱势,不太适合桌面用户。
+
* Mint 主要运行 [[Cinnamon]] 和 [[MATE]]作为它的图形界面,也可以选择 [[KDE]] 或者[[Xfce4]]。 Mint 同时支持plus codecs、flash、DVD playback 和 MP3,这其中有一些是私有软件。
 +
* 新的 Mint 系统每半年发布一次新版本。时间大约是在新的 Ubuntu 发布一个月以后。每一个版本都是基于最新的 Ubuntu LTS 而且有五年支持。 Mint 的 Debian 版本 (LMDE) 基于 Debian 稳定版。而且只接受来自 Mint 的更新或者安全性更新。而 Arch 则完全是一个滚动更新的发行版。
  
==与其他的对比==
+
=== openSUSE ===
===Arch 与 Zenwalk===
 
Zenwalk是从Slackware衍生的,但是它更方便和现代。Arch和Zenwalk一个很大的不同是Zenwalk安装的包是开发者已经选好的。如果你喜欢他们的选择,这会节省你的时间,但如果你想有其他选择,这就成它的不便之处了。
 
  
===Arch vs Gobolinux===
+
* openSUSE 以RPM格式软件包为中心.提供了优秀的 YaST2 图形配置工具。Arch 没有提供此类工具.一般 openSUSE 更适合经验较少或需要图形驱动界面、自动完成配置的用户。
Gobolinux 有一个独特的无为而治的包管理方法。其文件系统被组织成应用程序全部位于 /Programs 目录,并且通过符号链接使用。删除程序X只需 rm -rf /Programs/X http://www.gobolinux.org/index.php?page=at_a_glance
+
* openSUSE Leap 每年发布一个版本, 软件比 Arch . Tumbleweed 是滚动更新的, 软件新旧和 Arch 差不多.
It does not seem to focus on i686 binaries and does allow source-based package installs.
+
* openSUSE 默认不提供有专利限制的软件,比如 MP3 支持.你需要添加第三方源来取得这些内容. Arch 对于 MP3 及非自由软件更加宽松,将决定权交给用户。
其并不是针对i686平台优化的二进制程序,允许基于源码的软件安装。
 
  
===Arch vs Minix 3===
+
=== Mandriva/Mageia ===
Arch 是一个拥有现代社区和硬件支持的完整发行版。Minix 3 是一个有一些有趣特性的微小而不稳定的高级研究用操作系统,例如用于 [http://en.wikipedia.org/wiki/Microkernel microkernel]。 http://www.minix3.org/
 
  
===Arch 与 Frugalware===
+
Mandriva Linux (以前的 Mandrake Linux) 创建自1998年,它的目标是让 GNU/Linux 对任何人来说都很容易使用。它使用基于 RPM 的 urpmi 包管理器, 现在已经不再维护。Mageia 是一个由 Mandriva 前雇员创建的 Mandriva 分支,但是和 Mandriva 不一样的是,它是一个非盈利的由社区驱动的发行版。Arch 是一个比 Mandriva 或者 Mageia 要简单的发行版,基于文本,而且要依赖于更多的手动配置,Arch 瞄准的是 Linux 中、高级用户。
Arch 基于文本界面并且面向命令行操作, 而 Frugalware 提供了更佳的多语言支持. 同时 Frugalware 也提供了更多的本地化文档. 虽然同样使用 packman, 但是它们的包并不完全兼容. Frugalware 默认不支持 JFS 文件系统. Frugalware 不再基于 Slackware,更像是一个独立的发行版,并且它基于 i686 架构。
 
  
===Arch 与 Rock===
+
== 与BSD系列的对比 ==
  
来自这篇介绍:http://www.rocklinux.org/wiki/About
+
* *BSDs 都始于 UC Berkeley 大学的工作,致力于提供一个可以自由分发、免费的 UNIX 系统. 它们不是 GNU/Linux 发行版,而是UNIX-like系统, 从原版 AT&T {{ic|UNIX}}代码演进而来。
  
ROCK Linux是一个用来打造Linux发行版的灵活的开发工具包,即打造你自己的Linux发行版可用的工具链或框架。这个你也可以参考我们的目标描述。
+
* Arch 和 *BSDs 都提供紧密整合的基本系统和 ports 系统。与GNU/Linux系统(比如Arch)不同 ,BSD 系统的内核和用户空间的程序,比如说 shell 和常用工具(像ls,cp,cat和ps),集中在单一的源代码仓库中开发.
  
如果你不想打造你自己的Linux发行版,而只是对一个具有多用途的好的发行版感兴趣,你或许可以看一下 http://www.rocklinux.org/wiki/Crystal_ROCK
+
* BSD 协议注重保护程序员,而 GPL 注重保护代码.Arch 在 GPL 下发布.
  
它是一个作为开发工具而生的发行版。和Arch相比,它有和其他基于源码的发行版一样的问题,如编译所需的时间等。它可以运行在多种处理器上如SPARC, ARM等。
+
* 要获得 *BSD 变体的更多信息,请阅读 [[Wikipedia:Comparison of BSD operating systems]]。
  
===Arch 与 T2===
+
== 参阅 ==
来自FAQ  http://www.t2-project.org/faq/
 
  
问题:既然已经有Gentoo了为什么还需要T2?
+
* [http://distrowatch.com/ DistroWatch.com]
回答:T2,或者更精确的说,它的前身ROCK Linux,它在1998年就启动了,比Gentoo早几个月,而且比Gentoo更早在freshmeat注册--所以,这个问题如果能反过来问或许更好。
 
同样,在技术方面T2支持商业强度的开发,坚持目标,交互编译,可选的嵌入式C开发库和多引导系统可选择。T2的包通常不包括任何代码,它是基于key-value的文本文件,这使得包的工作和更新在T2上非常快。
 
Arch使用为i686优化的二进制包(由于不需要编译所有的东西,所以很快)来和T2竞争。T2在技术实力方面是一个强有力的竞争者。由于它能用于嵌入式设备,它有可能在某些应用方面击败Arch。T2值得关注。
 

Latest revision as of 19:51, 16 September 2019

翻译状态: 本文是英文页面 Arch_compared_to_other_distributions翻译,最后翻译时间:2017-03-06,点击这里可以查看翻译后英文页面的改动。

本文在 Arch Linux 和其他流行的 GNU/Linux 发行版、类 UNIX 操作系统之间做了一些比较,以帮助用户判断 Arch Linux 是否能符合他们的需要。虽然对此进行一些描述有助于用户理解这些操作系统之间的不同点,但是比较 Arch Linux 和其他发行版的最好办法还是安装它们并进行亲身体验。

英文维基百科的《操作系统比较》《Linux发行版比较》这两个页面包含了更详细的比较信息。

基于源码的发行版

基于源码的发行版非常容易移植,它们的优点是可以根据机器架构和使用情况最优地控制和编译整个系统和所有软件,而劣势是要在源码编译上消耗大量时间。Arch Linux 的基础包和其他所有软件包都只为 x86-64 架构编译(在 2017 年 11 月之前,仍对 i686 架构提供支持),相比基于 i486/i586 二进制包的发行版,性能的优势和潜力更大。

CRUX

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

LFS

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

Gentoo/Funtoo Linux

  • Arch Linux 和 Gentoo Linux 都是滚动升级的发行版,所以在上游软件发布很短时间后,其上就会有软件包可用。
  • Gentoo 的基础系统和软件包都是根据用户指定的 USE 标识直接从源代码构建。Gentoo 提供了一个类 ports 系统( Ports 是 BSD 上的一个系统工具)来从源代码编译软件包,而 Arch 基础系统被设计为“直接由预构建好的 x86_64 二进制软件包组成”。一般来说,Arch 更易于构建和升级,而 Gentoo 更易于进行系统化的定制。
  • Arch 只支持 x86_64 架构,Gentoo 对 x86(i486/i686)、x86_64、PPC/PPC64、SPARC、Alpha、ARM、MIPS、HPPA、S/390、Itanium 架构提供官方支持。
  • Gentoo 的官方包管理工具比 ArchLinux 的更复杂和强大,而且一些在 Gentoo 中处于核心位置的特性(比如 USE 标记SLOTs 等等)在 Arch 中并没有相对应的功能。究其原因,一是因为 ArchLinux 主要是一个二进制发行版,第二是因为 Gentoo 和 Arch 在设计哲学上有些差别。Arch 在原则上更偏向于架构的简洁性和避免过度设计。
  • 因为 Gentoo 和 Arch 的安装包都只包含基本系统,所以它们两者都被认为是需要高度定制化的系统。一般来说,Gentoo 用户如果习惯于 systemd 的话,对Arch的大多数方面都会感到满意。

通用发行版

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

Debian GNU/Linux

  • Debian 是上游最大的发行版,其社区规模更大,提供稳定、测试和不稳定分支,包含超过51000个二进制包. ARCH 的软件仓库相对较小,但是如果包含AUR,那么支持的软件数量也差不多.
  • Debian 对自由软件更热情,但是也提供非自由软件仓库。Arch 对 GNU 定义的非自由(“non-free”)软件更显宽容.
  • Debian 对稳定分支的测试更详细彻底,软件基本冻结并提供五年支持。Arch 提供的的软件包比 Debian Stable 中的软件包新,与 unstable和testing里的差不多,而且没有固定发布周期,滚动发布。
  • Debian 支持许多架构,包括 alpha,arm,hppa,i386,x86_64,ia64,m68k,mips,mipsel,powerpc,s390和sparc.而ARCH仅对 x86_64 提供官方支持,其对 arm 的支持移植自社区项目(例如对Raspberry Pi的支持).
  • ARCH 对从源码创建软件包提供更好的支持,有一个类 ports 系统.Debian 不提供类 ports 系统,而是依靠它巨大的软件仓库.
  • ARCH 安装环境只提供最小的基本系统,然后通过编辑文本文件来配置系统.而 Debian 的配置方式更为自动化并且还提供多种安装方式.
  • 在启动脚本上,Debian ( 8.0或更高版本 )和 ARCH 均使用 systemd ,因为其总体性能优。
  • ARCH 一般将 lib 软件库与其头文件一同打包在一起,而 Debian 则将这两部分分别放到不同的 package 中。
  • ARCH 只在迫不得已时才打补丁,以避免出现上游无法审阅的问题. Debian 使用者众多,所以经常对软件包打补丁.

Fedora

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

Slackware

  • 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 的多数方面感到满意。

新手友好的发行版

"新手友好版"有时也被叫做“新手发行版”.新手友好的发行版之间有许多相同之处,而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 User Repository,用户可以分享源代码编译脚本,然后用pacman 安装管理。Ubuntu 使用更复杂的 apt, 可以通过PPA分发软件。
  • 这两个社区也有不尽相同/ Arch 社区更小,鼓励用户为Arch奉献一份力量.做为对比, Ubuntu 社区很大,并能容忍其中许多实际上并未为开发、打包和维护作贡献的用户.

Linux Mint

  • Linux Mint 最初是一个 Ubuntu 的衍生版本,后来有添加了 LMDE(Linux Mint的 Debian版本)这是一个基于 Debian 的版本。而 Arch 是一个独立的发行版,它依赖自己的 构建系统官方仓库
  • 为了方便系统维护,Mint 包含了一些图形化工具,叫做 MintTools(Mint工具),而 Arch 仅仅提供简单的命令行工具,例如 pacman,因此 Arch 的系统管理工作需要由用户自己组织。
  • Mint 主要运行 CinnamonMATE作为它的图形界面,也可以选择 KDE 或者Xfce4。 Mint 同时支持plus codecs、flash、DVD playback 和 MP3,这其中有一些是私有软件。
  • 新的 Mint 系统每半年发布一次新版本。时间大约是在新的 Ubuntu 发布一个月以后。每一个版本都是基于最新的 Ubuntu LTS 而且有五年支持。 Mint 的 Debian 版本 (LMDE) 基于 Debian 稳定版。而且只接受来自 Mint 的更新或者安全性更新。而 Arch 则完全是一个滚动更新的发行版。

openSUSE

  • openSUSE 以RPM格式软件包为中心.提供了优秀的 YaST2 图形配置工具。Arch 没有提供此类工具.一般 openSUSE 更适合经验较少或需要图形驱动界面、自动完成配置的用户。
  • openSUSE Leap 每年发布一个版本, 软件比 Arch 旧. Tumbleweed 是滚动更新的, 软件新旧和 Arch 差不多.
  • openSUSE 默认不提供有专利限制的软件,比如 MP3 支持.你需要添加第三方源来取得这些内容. Arch 对于 MP3 及非自由软件更加宽松,将决定权交给用户。

Mandriva/Mageia

Mandriva Linux (以前的 Mandrake Linux) 创建自1998年,它的目标是让 GNU/Linux 对任何人来说都很容易使用。它使用基于 RPM 的 urpmi 包管理器, 现在已经不再维护。Mageia 是一个由 Mandriva 前雇员创建的 Mandriva 分支,但是和 Mandriva 不一样的是,它是一个非盈利的由社区驱动的发行版。Arch 是一个比 Mandriva 或者 Mageia 要简单的发行版,基于文本,而且要依赖于更多的手动配置,Arch 瞄准的是 Linux 中、高级用户。

与BSD系列的对比

  • *BSDs 都始于 UC Berkeley 大学的工作,致力于提供一个可以自由分发、免费的 UNIX 系统. 它们不是 GNU/Linux 发行版,而是UNIX-like系统, 从原版 AT&T UNIX代码演进而来。
  • Arch 和 *BSDs 都提供紧密整合的基本系统和 ports 系统。与GNU/Linux系统(比如Arch)不同 ,BSD 系统的内核和用户空间的程序,比如说 shell 和常用工具(像ls,cp,cat和ps),集中在单一的源代码仓库中开发.
  • BSD 协议注重保护程序员,而 GPL 注重保护代码.Arch 在 GPL 下发布.

参阅