archlinux

简介Arch Linux 是个针对 i686i686/x86-64 优化的 linux 发行版。Arch 基本理念是快速、轻巧、弹性与简单。它只安装最小化的基本系统,用户可以根据自己的特定需求选择配置安装相应的软件。官方不提供GUIpei最初灵感源于 Per Lidén 开发的一个非常不错的 CRUX 发行版。Archlinux可以平滑升级,提供多数软件的最新稳定版本。
Archlinux使用自己的Pacman包管理器,它把简单的二进制包和易用的包构建系统结合在一起。用户可以很容易地管理和定制包,不管是官方的Arch软件包、用户私人的软件包还是第三方的包。repository系统也允许用户很容易地编译和维护用户自定义的build脚本,包(packages)和repositories,从而促进社区的发展。
起源

Archlinux 产生于2001年初。最初的设计思想来源于两个Linux发行版:PLD和CRUX。PLD采用的是apt-get作为rpm系统的前端,便于系统的升级;CRUX 的软件包的打包方式十分简单,就是最简单的tar.gz包,更易于管理和维护。但是它们都有很大的缺点。PLD采用的是 rpm 系统,rpm 体系过于复杂,特别是依赖关系上;CRUX的包管理又过于简单,包文件连基本的包信息都没有,而且是完全没有依赖关系检测的。于是,Archlinux 对这两个发行版进行特性的综合,扬长避短。最初的Archlinux 是Judd 用 LFS 搭建起来的。
历史版本版本
代号
发布日期
0.1
Homer
2002-03-11
0.2
Vega
2002-04-17
0.3
Firefly
2002-08-07
0.4
Dragon
2002-12-18
0.5
Nova
2003-06-21
0.6
Widget
2004-03-01
0.7
Wombat
2005-01-24
0.8
Voodoo
2007-03-31
2007.05
Duke
2007-05-17
2007.08
Don't Panic
2007-08-05
2008.06
Overlord
2008-06-24
2009.02
2009.02
2009-02-16
2009.08
2009.08
2009-08-10
优缺点相对其他著名的发行版,Arch Linux有什么优缺点?
优点

Archlinux属于轻量级选手,其简单的设计让它容易被轻松扩展和配置成为任何想要的系统类型。Arch 基本理念是快速、轻巧、弹性与简单。这并非华而不实的行话,他们都是事实。Arch 是为 i686 处理器优化的, 所以可以为你取得更多的cpu cycle(快速),能够更好地利用CPU周期以提高性能。相比Debian/Ubuntu、SUSE、RedHat/Fedora等其他发行版而言是轻巧的, 而且简单的设计使他富有弹性并且可以成为任何你想建立的系统的模型。
1.特有的包管理
Arch的包管理系统是其最大的优点,通过可以轻松使用的二进制包系统 -pacman- 一个命令就让您升级整个系统。Arch 同时也拥有一个类似 ports 的包构建系统(Arch Build System),通过它可以轻松构建软件包。它也是一个命令就可完成同步。哦,是的,您也可以用一个命令重新构建(rebuild)整个系统。所有事情都是在一个非常简单、明了的情况下完成的。
2.滚动更新
与Gentoo类似,不同于其他大部分主流Linux发行版比如Fedora,Ubuntu,ArchLinux并没有跨版本升级的概念,通过更新,任何时期的ArchLinux都可以平滑更新到最新版。
3.其他
还有简单的文件系统布局,抛弃了一些传统的非必要的又占用磁盘空间的东西;简单的启动脚本,在抛弃了sysV的同时提供rc.d 服务方式;Arch 的安装器同样被受赞誉,清晰明了,你只需要5-10 分钟就可以将基本系统安装好;Arch 的社区论坛和IRC也非常热闹,用户和开发者互动很好,都十分的积极。
缺点
Archlinux是新生的发行版,相对象Debian和slackware这样的发行版来说,Archlinux 还比较“年轻”,也许BUG会稍微多一些,软件包会少一些。文档也许也不够完善。(注:这是Judd在2003说的。根据我的使用,Archlinux 是一个十分稳健的发行版,初期配置可能麻烦些,但是配置好了一般就不会出现什么问题了。官方的服务器上,Arch 的软件包也挺多的,常用的软件都有,而且更新是我见过的发行版中最快的,基本上是当天就出软件包了。从0.7开始,其文档也比较完善了,就是没有中文译本)
ArchLinux哲学轻便灵活,符合KISS原则。
采用BSD风格的启动脚本,集中管理,易懂易改。
统一的目录架构,避免一般软件分属/bin,/usr/local/bin等多个目录的弊病,将所有的包集中在/bin,/lib,/usr/man,/usr/share/man中。
精简的打包方式,删去部分说明,但保留了man page,从而使包装后的二进制包比一般的Linux小(例如:安装基础包和X窗口,仅需约100MB)。
软件初次安装后,仅为默认配置。可能需要包手册,才能了解后续配置。
包管理器ArchLinux所有软件包都由Pacman管理维护。Pacman负责包的安装、升级、删除和降级,自动处理包的依赖关系。
软件仓库
现在官方提供四种仓库:

core:提供建立基本系统所需要的所有包。
extra:提供桌面环境等等。
testing:提供测试用的不稳定软件包
community:提供由社区构建和投票的软件包。
ABS
ABS (Arch Build System),Arch 构建系统。它是一套像(BSD)Ports 一样的体系,能从 source(源代码) 来构建一个软件。Pacman 是 Arch 下特定的二进制安装包管理工具(也包括管理那些从 ABS 构建的二进制安装包),而 ABS 则是 Arch 下特定的编译工具,将源代码编译为一个可供安装的 .pkg.tar.gz 包。
AUR
Arch Linux User-Community Repository ,Arch Linux社区用户软件仓库 是一个面对广大Arch用户、以社区为主导的软件仓库。AUR的初衷是组织社区内分享PKGBUILD,并且促使热门的用户贡献软件包进入community软件库。
AUR被称为Arch的新软件包的发源地,在AUR里用户贡献出他们自己的软件包。AUR社区对它们进行投票或反对,一旦某个软件包拥有足够多的票数,AUR的受信用户就会将它加入到[community]软件库,使得可以通过pacman和ABS来使用它们
FAQ1、Arch 的两套软件管理系统──pacman 和abs 有什么特色?
pacman最强大的地方在于其“同步”。你可以简单的通过一个命令就可以保持你的系统是最新的。当Arch版本升级时,你也不必下载ISO镜像,只需要“同步”一下,你就可以使用到最新的Archlinux操作系统了。Arch包含了最基本的依赖性检测,这能确保你安装上的软件包能够立即被使用,不会出现缺少什么库之类的提示;同时这个依赖检测是最“基本”的,不会发展成象rpm那种“依赖恶梦”(注:个人认为依赖还是必须的,而且如果你使用Mandrake,rpm体系也不见得就是恶梦)。pacman负责跟踪、下载、安装、删除和升级软件包。这些软件包都是以tar.gz形式打包的。
abs系统是来源于FreeBSD的ports系统的。abs系统可以让你从源码编译符合自己需要的软件包。你可以为你的软件包打补丁,增添或移除某些特性。你可以运行'abs'来下载最新的软件源码编译脚本。这些脚本是Arch 默认的编译脚本。接着你可以编辑这些编译脚本。最后运行'makepkg',这个命令可以根据编译脚本帮助你自动完成检查依赖、下载源码、解包源码、./configure、编辑并打包成软件包。
2、与apt-get 相比,pacman 有什么优势?
就目前而言,apt-get拥有比pacman更多一些的特性。但是就功能性而言,pacman是一个更为“完整”的包管理器。pacman可以相当于apt-get加dpkg两个程序实现的功能。
3、与Gentoo相比,Arch有什么优势?
Gentoo是一个以源码编译构建的Linux,Arch是以二进制软件包构建的Linux,但Arch也拥有自己的源码编译系统。Arch最大的优势在于,Arch和Gentoo速度上不相上下,但是一个系统安装只需10分钟,一个却需要10个小时。(注:源码系统和软件包系统本不好比较,而且Judd也没有用过Gentoo,仅供参考)
4、abs的编译脚本是怎么回事?好像很复杂。checkinstall不是很好用吗?
在功能上,makepkg和checkinstall是差不多的。但是它们有着本质的区别。简单的说,makepkg是根据Makefile来判断源码的安装等动作,checkinstall是跟踪'make install'的动作来判断的。因此makepkg的效率要高得多。
abs的编译脚本叫做PKGBUILD。实际上这个脚本非常的简单,只要你会编译安装源码,这个文件一看便知是怎么回事,根本不用学。完全看得懂的,如果你看不懂,请使用stardict
5、对于Arch来说,软件包更新如此的快。如何区分Arch 的“stable”分支和“unstable”分支呢?
先纠正一个概念。Arch包发行的分支命名方法和Debian不一样。象Debian那样经过严格测试最后进入“stable”的软件包我们叫做“release”。我们每隔一段时间就发布一个release,用不同的版本号命名。比如0.7正式发布后,它就成为release了。而“current”分支是最新的软件包,第一时间的更新。(注:就和Mandrake的cooker比较而言,Arch的current分支中的软件包也是十分稳定的。事实上我一直使用current,没有出现过任何问题。也许是Mandrake对一些软件的源码改动较大的原故吧)
6、我发现Arch也有"unstable"分支,这个分支是干什么的?
实际上"unstable“不是一个“分支”。unstable目录下存放的是一些软件的预览版本或者是一些软件的作者声明说是不稳定的版本。是给那些喜欢尝鲜的人使用的。
7、Arch linux适合作为服务器系统使用吗?
那当然。Judd 本身就是个系统管理员,他管理着 9 个运行着Arch linux的服务器,它们全都十分稳定表现也很好。得益于pacman 的便利和Arch的简洁,这些服务器运行得十分高效,也是“无痛”的维护。
8、Arch不适合初学者是吗?
是,但不完全是。如果你是初学者,并且你希望使用的Linux 是完全图形化的,什么配置都只需轻点几下鼠标就搞定的,那么Arch 并不适合你。因为Arch 没有──并将来也不会提供任何单独的象 linuxconf 这种配置工具。但是如果你是初学者,而且想真正学一学Linux,那么Arch 还是比较适合你的。Arch 的管理方式十分的简单,你可以很容易看懂启动脚本的跟踪信息。如果你静心研究一下,软件包管理系统也要比rpm之类的要容易理解得多。系统主要配置文件 rc.conf 也是十分简单易懂的,而且集成化管理。为何还需要一个专门的配置软件呢?而且如果你掌握了Arch,你可以很方便的转换到另一个 Linux 发行版而基本不必学任何其它的东西。如果你在学习中有任何困难,你还可以到Arch 官方论坛和 IRC 中提问,那里的人都很热情。(注:E文啊,咳咳……)