请输入您要查询的百科知识:

 

词条 archlinux
释义

Arc Linux(或称Arc)是一种以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅、正确和代码最小化的设计宗旨。Arc Linux项目受CRUX启发,由Judd Vinet于2002年启动。

简介

基本简介

ArchLinux 是一款针对 i686/x86_64 优化的 Linux 发行版。最初灵感源于 Per Lidén 开发的一个非常不错的 Crux 发行版。Arch 基本理念是快速、轻巧、弹性与简单。其提供的安装盘只包含安装所需的基本系统,用户可以根据自己的特定需求选择配置安装相应的软件。ArchLinux 采用滚动升级方式,提供多数软件的最新稳定版本。

使用 ArchLinux 的第一个感觉就是快速、轻巧,一个基本的 ArchLinux 系统只需要几百兆的磁盘空间。你或许会问 ArchLinux 有 Gentoo、Crux 快吗? ArchLinux 和 Gentoo、Crux 一样快,他们的速度没什么区别。但要 Gentoo、Crux 构造出一个完整的桌面环境至少需要 10 小时,ArchLinux 大约只需要 1 小时。也许你会说:Debian 和 Ubuntu 的软件包管理方式很方便! 呵呵,Debian 和 Ubuntu 有apt-get, ArchLinux 则有 pacman,而且 ArchLinux 依赖关系简单!

你只要在 AcrhLinux 执行以下 pacman -Syu 你的系统就会被更新到最新! ArchLinux 很喜欢新的产品。ArchLinux 在 distrowatch 上的排名增长很快,足以证明 ArchLinux 是一个优秀的发行版。

基本技术

ArchLinux 使用自己的包管理器——打包党 (pacman),它把简单的二进制包和易用的包构建系统结合在一起。用户可以很容易地管理和定制包,不管是官方的 Arch 软件包、用户私人的软件包还是第三方的包。分支系统也允许用户很容易地编译和维护用户自定义的 build 脚本、软件包和分支,从而促进社区的发展。

软件起源

ArchLinux 产生于 2003 年初。最初的设计思想来源于两个 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

2010.05 2010.05 2010-05-17

2011.08.19 2011.08.19 2011-08-19

特点

特点综述

Archlinux属于轻量级选手,其简单的设计让它容易被轻松扩展和配置成为任何想要的系统类型。Arch 基本理念是快速、轻巧、弹性与简单。这并非华而不实的行话,他们都是事实。Arch 是为 i686 处理器优化的, 所以可以为你取得更多的cpu cycle(快速),能够更好地利用CPU周期以提高性能。相比Debian/Ubuntu、SUSE、RedHat/Fedora等其他发行版而言是轻巧的, 而且简单的设计使他富有弹性并且可以成为任何你想建立的系统的模型。

软件运行

轻便灵活,符合KISS原则。

采用BSD风格的启动脚本,集中管理,易懂易改。

统一的目录架构,避免一般软件分属/bin,/usr/local/bin等多个目录的弊病,将所有的包集中在/bin,/lib,/usr/man,/usr/share/man中。

精简的打包方式,删去部分说明,但保留了man page,从而使包装后的二进制包比一般的Linux小(例如:安装基础包和X视窗,仅需约100MB)。

软件初次安装后,仅为默认配置。可能需要包手册,才能了解后续配置。

管理系统

通过二进制包管理系统pacman,仅需一个命令就能完成安装、升级等多个操作。同时也附带一个类似ports的包构建系统abs(Arch Build System)。

Arch的包管理系统是其最大的优点,通过可以轻松使用的二进制包系统 - pacman- 一个命令就让您升级整个系统。Arch 同时也拥有一个类似 ports 的包构建系统(Arch Build System),通过它可以轻松构建软件包。它也是一个命令就可完成同步。哦,是的,您也可以用一个命令重新构建(rebuild)整个系统。所有事情都是在一个非常简单、明了的情况下完成的。

系统布局

简单的文件系统布局,抛弃了一些传统的非必要的又占用磁盘空间的东西;简单的启动脚本,在抛弃了sysV的同时提供rc.d服务方式;Arch 的安装器同样备受赞誉,清晰明了,你只需要5-102分钟就可以将基本系统安装好;Arch 的社区论坛和 IRC也非常热闹,用户和开发者互动很好,都十分的积极。

更多内容详见“3 包管理系统”

滚动更新

与Gentoo类似,不同于其他大部分主流Linux发行版比如Fedora,Ubuntu。ArchLinux并没有跨版本升级的概念,通过更新,任何时期的ArchLinux都可以平滑更新到最新版。

其他优点

Archlinux是新生的发行版,相对于Debian和slackware这样的发行版来说,Archlinux 还比较“年轻”,也许BUG会稍微多一些,软件包会少一些。文档也许也不够完善。(注:这是Judd在2003说的。根据我的使用,Archlinux 是一个十分稳健的发行版,初期配置可能麻烦些,但是配置好了一般就不会出现什么问题了。官方的服务器上,Arch 的软件包也挺多的,常用的软件都有,而且更新是我见过的发行版中最快的,基本上是当天就出软件包了。从0.7开始,其文档也比较完善了,中文部分也挺丰富的。)

软件缺点

安装过程简陋,缺乏智能直观的错误处理,需要用户有一定的Linux环境常识才能正确安装使用。

仅对I686、X86_64 架构优化,对于其它CPU架构支持匮乏。

包管理系统pacman在升级过程缺乏对系统核心组件的回溯保护,如升级的Kernel有问题,即导致系统无法启动。

系统软件缺乏严谨的测试管理机制,稳定性、可靠性不如Redhat、Debian等发行版,难以在企业用户中推广。

管理系统

功能简介

ArchLinux所有软件包都由Pacman管理维护。Pacman负责包的安装、升级、删除和降级,自动处理包的依赖关系。实际上用的比较多的是yaourt,是加强版的pacman,和pacman兼容,能彩色输出结果,最重要的是能无缝连接AUR,这个功能很方便。

软件仓库

官方主要提供四种仓库:

核心仓(core), 提供创建基本系统所需要的所有包。extra, 提供桌面环境等等。

测试仓(testing), 提供测试用的不稳定软件包

社区仓(community), 提供由社区构建和投票的软件包

社区测试仓(community-testing), 提供测试用社区构建和投票的软件包的新版本

在某些大型组件如桌面环境出现大的版本更新时,Arch官方会临时增加测试仓库(在测试周期完成后被移除),比如:

kde-unstable, KDE桌面环境的测试软件包

gnome-unstable, Gnome桌面环境的测试软件包

xorg18, X Server 1.8的测试软件包

根据安装软件的需求,官方提供的软件仓库可能不一定能满足要求,有一些大家都认为比较好的可能并没有出现在官方的仓库所以可能需要自己手动添加一些额外的软件仓库,不过添加的过程相当的简洁而且简单,格式也很容易理解。

构建系统(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来使用它们。

常见问题

软件特色

1、Arch 的两套软件管理系统──pacman 和abs 有什么特色?

pacman最强大的地方在于其“同步”。你可以简单的通过一个命令就可以保持你的系统是最新的。当Arch版本升级时,你也不必下载ISO镜像,只需要“同步”一下,你就可以使用到最新的Archlinux操作系统了。Arch包含了最基本的依赖性检测,这能确保你安装上的软件包能够立即被使用,不会出现缺少什么库之类的提示;同时这个依赖检测是最“基本”的,不会发展成象rpm那种“依赖恶梦”(注:个人认为依赖还是必须的,而且如果你使用Mandrake,rpm体系也不见得就是恶梦)。pacman负责跟踪、下载、安装、删除和升级软件包。这些软件包都是以tar.gz形式打包的。

2、abs系统是来源于FreeBSD的ports系统的。abs系统可以让你从源码编译符合自己需要的软件包。你可以为你的软件包打补丁,增添或移除某些特性。你可以运行'abs'来下载最新的软件源码编译脚本。这些脚本是Arch 默认的编译脚本。接着你可以编辑这些编译脚本。最后运行'makepkg',这个命令可以根据编译脚本帮助你自动完成检查依赖、下载源码、解包源码、./configure、编辑并打包成软件包。

软件优势

1、与apt-get相比,pacman 有什么优势?

就目前而言,apt-get拥有比pacman更多一些的特性。但是就功能性而言,pacman是一个更为“完整”的包管理器。pacman可以相当于apt-get加dpkg两个程序实现的功能。

2、与Gentoo相比,Arch有什么优势?

Gentoo是一个以源码编译构建的Linux,Arch是以二进制软件包构建的Linux,但Arch也拥有自己的源码编译系统。Arch最大的优势在于,Arch和Gentoo速度上不相上下,但是一个系统安装只需10分钟,一个却需要10个小时。(注:源码系统和软件包系统本不好比较,而且Judd也没有用过Gentoo,仅供参考)

编译脚本

1、abs的编译脚本是怎么回事?好像很复杂。checkinstall不是很好用吗?

在功能上,makepkg和checkinstall是差不多的。但是它们有着本质的区别。简单的说,makepkg是根据Makefile来判断源码的安装等动作,checkinstall是跟踪'make install'的动作来判断的。因此makepkg的效率要高得多。

abs的编译脚本叫做PKGBUILD。实际上这个脚本非常的简单,只要你会编译安装源码,这个文件一看便知是怎么回事,根本不用学。完全看得懂的,如果你看不懂,请使用stardict

2、对于Arch来说,软件包更新如此的快。如何区分Arch 的“stable”分支和“unstable”分支呢?

先纠正一个概念。Arch包发行的分支命名方法和Debian不一样。象Debian那样经过严格测试最后进入“stable”的软件包我们叫做“release”。我们每隔一段时间就发布一个release,用不同的版本号命名。比如0.7正式发布后,它就成为release了。而“current”分支是最新的软件包,第一时间的更新。(注:就和Mandrake的cooker比较而言,Arch的current分支中的软件包也是十分稳定的。事实上我一直使用current,没有出现过任何问题。也许是Mandrake对一些软件的源码改动较大的原故吧)

3、我发现Arch也有"unstable"分支,这个分支是干什么的?

实际上"unstable“不是一个“分支”。unstable目录下存放的是一些软件的预览版本或者是一些软件的作者声明说是不稳定的版本。是给那些喜欢尝鲜的人使用的。

4、Arch linux适合作为服务器系统使用吗?

那当然。Judd 本身就是个系统管理员,他管理着 9 个运行着Arch linux的服务器,它们全都十分稳定表现也很好。得益于pacman 的便利和Arch的简洁,这些服务器运行得十分高效,也是“无痛”的维护。

5、Arch不适合初学者是吗?

是,但不完全是。如果你是初学者,并且你希望使用的Linux 是完全图形化的,什么配置都只需轻点几下鼠标就搞定的,那么Arch 并不适合你。因为Arch 没有──并将来也不会提供任何单独的象 linuxconf 这种配置工具。但是如果你是初学者,而且想真正学一学Linux,那么Arch 还是比较适合你的。Arch 的管理方式十分的简单,你可以很容易看懂启动脚本的跟踪信息。如果你静心研究一下,软件包管理系统也要比rpm之类的要容易理解得多。系统主要配置文件 rc.conf 也是十分简单易懂的,而且集成化管理。为何还需要一个专门的配置软件呢?而且如果你掌握了Arch,你可以很方便的转换到另一个 Linux 发行版而基本不必学任何其它的东西。如果你在学习中有任何困难,你还可以到Arch 官方论坛和 IRC 中提问,那里的人都很热情。

简单安装指南

ArchLinux没有图形化的安装界面,但是它的安装却是非常容易的。

1.获得ArchLinux的镜像

使用ArchLinux安装CD的内核和initrd.img启动系统。

Linux的启动就不多说,如果是Windows用户,可以使用grub4dos来启动系统,方法如下:

下载 grub for dos,我们只需要grldr,将它放在C盘根目录,修改boot.ini,加入

C:\\grldr="Linux"

把ArchLinux CD中的vmlinuz和initrd.img也放在C盘根目录。

如果不想依赖网络安装请下载iso放在C盘根目录或其他地方。

重启,选择Linux。

进入 grub> 提示符时输入

root (hd0,0)

kernel /vmlinuz

initrd /initrd.img

boot

经过一会儿的等待按回车就可以进入ArchLinux的安装程序。

2.准备磁盘

分区建议使用cfdisk,它也是被fdisk所推荐的一个工具,有时分区不好处理的时候用它会

方便一些。

分区大小及类型建议(个人观点,如有错误欢迎指正):

/boot 50-100M ext2 单独分出来是因为根分区不想用ext2/3的文件格式,而boot分区用这

个还是比较方便的。优点如下:一来grub对它的支持是很好的,xfs有时有点小问题引导不

起来,reiserfs在非正常关机时grub加载内核及initrd的速度很慢;二来单独分个区对测试

或者引导别的系统也会方便一些。

/ 5G+ reiserfs 虽然没有X的Gentoo有2-3G也基本够使用,不过编译的时候需要的临时空间

不少,这个值基本够。由于Gentoo的portage默认是用独立的文本文件存储,reiserfs优良

的小文件性能可以很好的发挥。

swap 512M-1G 对内存小的用户来说多分点可以运行些大点的程序,现在硬盘也不是太贵。

分区格式完成后挂载好,假定挂载的目录是

/mnt

建立/mnt/boot目录挂载上boot分区

3.安装系统

ftp:

先配置网络:

# dhcpcd eth0

然后运行

# /

看提示按回车后稍等片刻即可,可根据自己条件选择快的镜像。

iso:

把下载的iso挂载到 /mnt

# mount -o loop arch.iso /src

运行(记不太清楚请直接运行/arch/quickinst看提示)

# /arch/quickinst cdrom /mnt /src/core/pkg

4.安装boot loader(可选)

推荐使用grub,安装方法如下

# mount --bind /dev /mnt/dev

# mount -t proc none /mnt/proc

# chroot /mnt /bin/bash -c "install-grub /dev/sda /dev/sda1"

注意把/dev/sda和/dev/sda1换成你实际的硬盘设备和Boot分区所在位置。

安装完成,重启后可用root进入系统,密码为空。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/15 14:33:53