了解Archlinux──采访Arch linux创造者Judd(精选)
翻译:tx-cary 来自:LinuxSir.Org
以下的问答是我从DistroWatch在2003年8月对Archlinux的创造者和主要开发者Judd Vinet的采访中精选出来的。由于是2003年的访问,有些东西现在已经有变化了。我去除了一些过时的东西。
- Arch Linux是怎样产生的?
Archlinux产生于2001年年初。最初的设计思想来源于两个Linux发行版:PLD和CRUX。PLD采用的是apt-get作为rpm系统的前端,便于系统的升级;CRUX的软件包的打包方式十分简单,就是最简单的tar.gz包,更易于管理和维护。但是它们都有很大的缺点。PLD采用的是rpm系统,rpm体系过于复杂,特别是依赖关系上;CRUX的包管理又过于简单,包文件连基本的包信息都没有,而且是完全没有依赖关系检测的。于是,Archlinux对这两个发行版进行特性的综合,扬长避短。最初的Archlinux是Judd用LFS搭建起来的。
- 相对其他著名的发行版,Arch Linux有什么优缺点?
缺点:Archlinux是新生的发行版,相对象Debian和slackware这样的发行版来说,Archlinux还比较“年轻”,也许BUG会稍微多一些,软件包会少一些。文档也许也不够完善。(注:这是Judd在2003说的。根据我的使用,Archlinux是一个十分稳健的发行版,初期配置可能麻烦些,但是配置好了一般就不会出现什么问题了。官方的服务器上,Arch的软件包也挺多的,常用的软件都有,而且更新是我见过的发行版中最快的,基本上是当天就出软件包了。从0.7开始,其文档也比较完善了,就是没有中文译本)
优点:Arch的包管理系统是其最大的优点(后面会详细介绍);还有简单的文件系统布局,抛弃了一些传统的非必要的又占用磁盘空间的东西;简单的启动脚本,在抛弃了sysV的同时提供rc.d服务方式;Arch的安装器同样被受赞誉,清晰明了,你只需要5-10分钟就可以将基本系统安装好;Arch的社区论坛和IRC也非常热闹,用户和开发者互动很好,都十分的积极。
- Arch的两套软件管理系统──pacman和abs有什么特色?
pacman最强大的地方在于其“同步”。你可以简单的通过一个命令就可以保持你的系统是最新的。当Arch版本升级时,你也不必下载ISO镜像,只需要“同步”一下,你就可以使用到最新的Archlinux操作系统了。Arch包含了最基本的依赖性检测,这能确保你安装上的软件包能够立即被使用,不会出现缺少什么库之类的提示;同时这个依赖检测是最“基本”的,不会发展成象rpm那种“依赖恶梦”(注:个人认为依赖还是必须的,而且如果你使用Mandrake,rpm体系也不见得就是恶梦)。pacman负责跟踪、下载、安装、删除和升级软件包。这些软件包都是以tar.gz形式打包的。
abs系统是来源于FreeBSD的ports系统的。abs系统可以让你从源码编译符合自己需要的软件包。你可以为你的软件包打补丁,增添或移除某些特性。你可以运行'abs'来下载最新的软件源码编译脚本。这些脚本是Arch默认的编译脚本。接着你可以编辑这些编译脚本。最后运行'makepkg',这个命令可以根据编译脚本帮助你自动完成检查依赖、下载源码、解包源码、./configure、编辑并打包成软件包。
- 与apt-get相比,pacman有什么优势?
就目前而言,apt-get拥有比pacman更多一些的特性。但是就功能性而言,pacman是一个更为“完整”的包管理器。pacman可以相当于apt-get加dpkg两个程序实现的功能。
- 与Gentoo相比,Arch有什么优势?
Gentoo是一个以源码编译构建的Linux,Arch是以二进制软件包构建的Linux,但Arch也拥有自己的源码编译系统。Arch最大的优势在于,Arch和Gentoo速度上不相上下,但是一个系统安装只需10分钟,一个却需要10个小时。(注:源码系统和软件包系统本不好比较,而且Judd也没有用过Gentoo,仅供参考)
- abs的编译脚本是怎么回事?好象很复杂。checkinstall不是很好用吗?
在功能上,makepkg和checkinstall是差不多的。但是它们有着本质的区别。简单的说,makepkg是根据Makefile来判断源码的安装等动作,checkinstall是跟踪'make install'的动作来判断的。因此makepkg的效率要高得多。
abs的编译脚本叫做PKGBUILD。实际上这个脚本非常的简单,只要你会编译安装源码,这个文件一看便知是怎么回事,根本不用学。完全看得懂的,如果你看不懂,请使用stardict
- 对于Arch来说,软件包更新如此的快。如何区分Arch的“stable”分支和“unstable”分支呢?
先纠正一个概念。Arch包发行的分支命名方法和Debian不一样。象Debian那样经过严格测试最后进入“stable”的软件包我们叫做“release”。我们每隔一段时间就发布一个release,用不同的版本号命名。比如0.7正式发布后,它就成为release了。而“current”分支是最新的软件包,第一时间的更新。(注:就和Mandrake的cooker比较而言,Arch的current分支中的软件包也是十分稳定的。事实上我一直使用current,没有出现过任何问题。也许是Mandrake对一些软件的源码改动较大的原故吧)
- 我发现Arch也有"unstable"分支,这个分支是干什么的?
实际上"unstable“不是一个“分支”。unstable目录下存放的是一些软件的预览版本或者是一些软件的作者声明说是不稳定的版本。是给那些喜欢尝鲜的人使用的。
- Arch linux适合作为服务器系统使用吗?
那当然。Judd本身就是个系统管理员,他管理着9个运行着Arch linux的服务器,它们全都十分稳定表现也很好。得益于pacman的便利和Arch的简洁,这些服务器运行得十分高效,也是“无痛”的维护。
- Arch不适合初学者是吗?
是,但不完全是。如果你是初学者,并且你希望使用的Linux是完全图形化的,什么配置都只需轻点几下鼠标就搞定的,那么Arch并不适合你。因为Arch没有──并将来也不会提供任何单独的象linuxconf这种配置工具。但是如果你是初学者,而且想真正学一学Linux,那么Arch还是比较适合你的。Arch的管理方式十分的简单,你可以很容易看懂启动脚本的跟踪信息。如果你静新研究一下,软件包管理系统也要比rpm之类的要容易理解得多。系统主要配置文件rc.conf也是十分简单易懂的,而且集成化管理。为何还需要一个专门的配置软件呢?而且如果你掌握了Arch,你可以很方便的转换到另一个Linux发行版而基本不必学任何其它的东西。如果你在学习中有任何困难,你还可以到Arch官方论坛和IRC中提问,那里的人都很热情。(注:E文啊,咳咳……)
- 以下是关于Judd的一些私人问题:
排除Arch,你最喜欢哪个Linux发行版?
Slackware。
- 你是干什么飞机的?
我是Victoria, BC, Canada大学的计算机科学与技术专业的学生,今年毕业了(2003年)。我也在一个叫Wondermill Webworks的网络公司做系统管理员和程序员。公司允许我在不很忙的时候上班时间也可以开发Archlinux,公司也提供了CVS服务器,并帮我们交纳一半的主服务器的费用。
- 休闲的时候你都干些什么?
弹吉他。
评论
Arch of two sets of software
Arch of two sets of software management systems ─ ─ pacman and abs what are the characteristics? pacman the most powerful place in its "Sync." You can simply by a command to keep your system up to date celtic jewelry. When the Arch version of the upgrade, you do not have to download the ISO image, just need to "synchronize" look, you can use the latest Archlinux operating system. Arch contains the most basic dependence testing, which can ensure that your installation package can be used immediately, what the library does not appear like a lack of tips; the same time, the reliance on testing is the most "basic", and will not develop into rpm as the kind of "dependency nightmare" (Note: I personally believe is still necessary to rely on, and if you use Mandrake, rpm system also is not necessarily a nightmare). pacman is responsible for tracking, download, install, remove and upgrade packages. These packages are packaged in tar.gz form bridal jewelry. abs system is derived from FreeBSD's ports system. abs system allows you to compile from source packages meet their needs. You can patch your software package, add or remove certain features. You can run 'abs' to download the latest software source code to compile the script. These scripts are the default compilation script Arch. Then you can edit the build scripts. Finally, run 'makepkg', this command can sapphire ring help you compile a script automatically check dependencies, download the source code, unpack the source code,. / Configure, edit, and packaged into a package.