Friday, December 26, 2008

archlinux安装

根据wiki.archlinux.org上的新手指南修改得来,主要是增加了一些安装过程中更为细节性的内容,以帮助新手大胆安装archlinux。

新手指南 (简体中文)

Article summary
本文针对新手,提供了极其详尽的Archlinux的安装过程向导,和相关的简要说明。

前言

所有你一直想知道关于安装Arch的事

这篇文档将会指导你安装和配置Arch Linux ── 一个简洁、轻量级的GNU/Linux发行版,一个类UNIX的操作系统。本文虽然是面向Arch新用户,但也尽力为所有人提供强大的参考资料和信息。本指南将试图讲述该如何获得一个完全配置好的Arch Linux系统(拥有一个图形桌面环境,可以看DVD、上网、发email和听音乐),但显然是不可能涵盖(甚至是预见)所有可能的选择。因此本指南会专注于某些关键性有帮助的步骤,想要进一步深入了解你可以查看Arch Linux Wiki或者Arch Linux论坛。同时有兴趣的话你还可以了解一下Arch之道,它概述了Arch Linux发行版背后的哲学思想。

本文分三大部分:

第一部分:安装基本系统

第二部分:安装X并配置ALSA

第三部分:安装并配置桌面环境

别怕(DON'T PANIC)!

要知道Arch Linux的安装方法和过程也许会和你所使用过的其它GNU/Linux发行版非常不同,特别你是个新手的话将更能体会到这点。通常,GNU/Linux发行版会在一张或者一堆CD(甚至是DVD)上捆绑了大量的软件,包含了缺省桌面环境、缺省的应用程序和设置、硬件自动检测和图形化的安装程序,一切都是替你选择好了的。相反的,Arch Linux系统是让用户自己只是用一个bash shell和基本系统工具,从ncurses installer和基础系统上建造起来的。这就是Arch之道。不象其它较死板的发行版,它没有强加于用户的缺省环境或者配置。你可以在命令行使用pacman通过互联网连接从Arch软件仓库安装软件包,直到你的系统配置成你希望的样子。这给予了用户最大的弹性、选择性和对系统资源的控制。因为是你建造了它,所以你肯定能了解系统里具体细节,知道底层都有些什么。

Arch Linux系统是通过编辑文本文件进行配置的,没有提供图形界面的工具,所以需要对系统和linux相对熟悉。 Arch Linux针对的是有能力的GNU/Linux用户以及希望花费时间学习系统知识的用户。

Arch是一个可以被用户塑造的工具。

Arch之道

Arch的设计思想是"保持简洁"(keeping it simple)。

这里的‘简洁’并不是指‘简单’或者‘用户友好’,而是‘没有不必要的增加、修改或者复杂性’。简而言之,即优雅、极简之法。

"Simple' is defined from a technical standpoint, not a usability standpoint. It is better to be technically elegant with a higher learning curve, than to be easy to use, and technically crap." -Aaron Griffin

"The extraordinary part of [my method] lies in its simplicity..I have always believed that the simple way is the right way." - Bruce Lee

Occam's razor: Entia non sunt multiplicanda praeter necessitatem or "Entities should not be multiplied unnecessarily." The term razor refers to the act of shaving away unnecessary assumptions and complications to get to the simplest explanation, method or theory.

Note: 仔细遵循本指南是成功安装一个配置正常的Arch Linux系统的基本要点,因此请认真仔细的阅读本文

你也可以将本指南打印出来,作为一个较为有用的Arch Linux用户手册。

如果你想在这个wiki里增加内容,请适当描述清楚“为什么会这样”以及“该怎么办”。最佳的文档应该能教会我们如何做和为什么这么做!

Arch的wiki是项优秀的资源,可以第一时间用来解决日常问题; 如果找不到答案也可以求助IRC和论坛。

欢迎使用Arch!现在,让我们开始吧。

第一部份:安装基本系统

获取最新的Core ISO

你可以从www.archlinux.org/download/获取Arch最新的官方快照。

推荐选择core-iso,因为本指南内容主要是基于core的安装过程。

Core-iso包含了创建一个最小GNU/Linux基础系统所必须的软件包。请注意最小基础系统并不包含图形用户界面。 Arch Linux系统的其余部分,包括图形用户界面,是在命令行里用i686二进制软件包和配置文件建立的。这个过程会在随后叙述。

将ISO刻录到CD。通常,为了刻录的稳定可靠,推荐刻录的最大速度不超过16倍速。

启动Arch Linux光盘

在你遵循以下指引时,你会发现官方安装指南也是挺有用的。另外, 这里还有一份可打印的版本(译者注:基于Arch Linux 0.7.2的英文静态网页,写于2006-4-29,部分内容可能已过时)。
将光盘插入CD-ROM驱动器然后用它启动。你可能需要在BIOS里改变一下启动顺序使得光盘先被启动。

启动了Arch Linux光盘后,选择菜单里的"Arch Linux Installation / Rescue System"。如果你需要改变启动参数,可以按‘e ’键来编辑启动行内容。下面这些参数可能对你有用:

ide-legacy 如果在使用IDE驱动器时遇到麻烦

noapic acpi=off pci=routeirq nosmp 如果在启动过程中系统挂起

memtest86+ 如果你想检查内存是否有错

lowmem 对内存较小的老机器会有所帮助

'lowmem'的系统需求:

96 MB RAM x86_64 (选择安装所有软件包)

85 MB RAM i686 (选择安装所有软件包)

64 MB RAM i686 (只选择基础软件包)

系统接着就会启动,当启动就绪后会出现一个欢迎信息和某些解释。

更换键盘映射表(如果有需要)

使用root登入。如果你使用non-US键盘布局,在提示符后输入

km

然后选择相应的键盘映射表。

例如以挪威为例:

在控制台键盘映射表屏幕上选择

no-latin1

在控制台字体屏幕选择

lat0-16

为谨慎起见,选择"default8x16.psfu.gz"作为控制台字体。

注:中文用户安装不用设置,直接默认选项即可。

开始安装

键入root,登录root账户

键入/arch/setup,开始安装。

选择安装来源

接着会出现一个选择安装来源的提示。如果你用core ISO的话请选择CD,如果使用FTP ISO的话则选择FTP。

硬盘分区配置

选择第一个菜单项"Prepare Hard Drive"。请注意,"Auto-Prepare"(自动分区)并不是最佳的选择,因为它只分配了最基本的三个区( /,/home,swap) 在这里我们用手工进行硬盘分区。选择"2. Partition Hard Drives",接着选要分区的硬盘(比如:/dev/sdx),然后按你需要编辑分区表。

Arch Linux安装程序使用cfdisk公用程序来对硬盘进行分区。

接下来,熟悉GNU/Linux的用户可以跳过这段内容直接到下面选择软件包。

分区信息

对磁盘进行分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建(格式化)一个文件系统。 分区的类型分为主分区(Primary)、扩展分区(Extended)和逻辑分区(Logical)三类。

主分区可以被启动,一个物理磁盘最多能有4个主分区。要使用超过4个的话,只能使用一个包含了逻辑分区的扩展分区。 (译者注:为避免误解,较易懂的解释应该是:一个磁盘不算逻辑分区最多只能有4个分区,这4个要么全是主分区,要么就是3个主分区+1个扩展分区,当然你将整个磁盘划为1个主分区也是没问题的,只要不超过4个分区即可)

扩展分区通常不会被直接使用,它是作为逻辑分区的“容器”存在。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。

当对一个磁盘进行分区时,是按这种数字顺序命名:主分区为sda1-3,跟着是扩展分区sda4(译者注:在/dev和fdisk -l里是看不到这个sda4的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。

交换分区swap

交换分区Swap是虚拟内存在硬盘上驻留的地方,内核可以用它来储存在物理内存中放不下的数据。

过去,常用的规则是将交换分区大小设置为物理内存的两倍。但是随着时间推移,现在的计算机已经有更大的内存容量,这条规则已经不适用了。通常,512MB内存的计算机,两倍(1G)的还是够用的。而1G内存的计算机,一倍的也够用了。如果你有更大的内存(比如超过1GB),也许可以完全把交换分区忘了,不推荐这样做!

如果你打算使用休眠到磁盘的电源方案,你必须要有不小于内存容量大小的交换分区,有些用户甚至会推荐大于物理内存容量15%的大小。

规划分区

磁盘分区的规划是十分个人的设置。每位用户的决策都会根据自己计算机的情况和需求而不同。至少需要有一个包含了根文件系统 ( / )的主分区和一个交换分区。你还可以选择给/boot(主要用来存放内核文件)、/usr、/var和/home(用来存放用户个人数据)划出独立分区。一个较好的做法是给 / 和 /home都划分独立分区。这样的话,当你因为某些原因重装Arch Linux(或者其它发行版),你还可以保留你的个人数据例如音乐、图片、桌面环境配置等。

在本案例中,我们划分一个分区给 /,一个给/home,另外还有一个交换分区。

cfdisk
让我们开始创建一个包含root(/)文件系统的主分区。

选择New -> Primary,然后输入你希望的分区大小(对一个完整的Linux系统,4到8G是个不错的选择)。分区要位于磁盘的开头部分。选择刚新建的分区,接着选择Bootable将它置为可启动。
同时选择分区文件系统类型Type,指定为'83 Linux'.。

注:这里如果硬盘上已安装了windows,那么在分区表里看见对应windows安装分区有个星号,这表明windows安装分区是当前活动分区,上面所说的Bootalbe这一步对应的是硬盘无活动分区的情况,有windows安装的话不要设置bootable这一步。

给你的/home目录创建另一个分区。选择另外一个主分区设成你想要的容量大小,这取决于你的用户会在他们的home目录里储存多少文件,其大小可能从几百M办公文档到上百G音频视频,所以这里我无法给出一个建议。如果你要使用磁盘所有的剩余空间,记得保给交换分区留一部分(例如1GB或1024MB)。同样的,选择Type为'83 Linux'。

最后,我们给交换分区创建一个分区。选择一个介于512MB到1GB之间的大小并将Type改为82 (Linux swap / Solaris)。

现在的分区规划看起来应该象这样(基于你的选择大小也许会有所不同):
Name Flags Part Type FS Type [Label] Size (MB)
-------------------------------------------------------------------------
sda1 Boot Primary Linux (4096 - 8192)
sda2 Primary Linux (> 100)
sda3 Primary Linux swap / Solaris (512 - 1024)

选择Write并输入'yes'。要注意如果你删除了分区的话,这个操作会破坏你磁盘上的数据。选择Quit退出分区程序。 选择Done离开此菜单,接着选择"Set Filesystem Mountpoints"。

我有一个IDE设备,为什么看起来它们和SCSI设备一样?

最新开发的Linux内核里包含了libata和PATA模块,所有的IDE、SATA和SCSI都采用sdx这种命名方式。这十分正常,无需担心。

设置文件系统挂载点

说明:”文件系统格式(filesystems)“和”文件系统结构(file systems)“的区别:
从技术层面确切的说,文件系统格式(filesystems)是一种数据格式,涉及信息吞吐,比如ext2;而”文件系统结构(file systems)“则是特定操作系统中文件和目录的布局,比如/home/username/games。因此,当你被问及是否创建文件系统格式(filesystems)时,是在问你是否要格式化该分区…但是当程序向你问及挂载点时,你应该给出的则是该分区应该出现在你的Arch Linux ”文件系统结构“中的位置。

文件系统类型

强烈建议:创建一个交换分区(SWAP)。选择一个合适的分区(本例中使用的是sda3). 安装程序就会询问你是否要创建swap 文件系统; 选择 yes. 接下来, 选择根分区的挂载点(本例中就是 sda1). 然后安装程序就会询问你需要哪一种文件系统。

再次说明:文件系统的类型取决于个人喜好,下面只是简单的介绍各种Arch linux支持的文件系统:

1. ext2 - 古老、 可靠的 GNU/Linux 文件系统。 非常的稳定,不过 不支持日志记录功能。磁盘检测速度较慢,因而有些不便(May be inconvenient due to very long fsck's). ext2可以容易地转换成ext3。

2. ext3 - 基于 ext2 系统, 并添加了日志记录功能。 一般认为他比其他文件系统要 稍微的慢一点, 不过 非常的 稳定并且使用最为广泛,由 GNU/Linux FS 负责维护和开发。

3. ReiserFS - Hans Reiser 所写的高性能的日志文件系统,使用一种非常独特有趣的数据存储检索方法。ReiserFS 效率非常高, 特别在处理很多小文件的时候更是如此。ReiserFS 在挂载的时候相对比较慢. 性能稳定,有着相当好的口碑。 ReiserFS 现在的开发并不活跃(最新的版本是Reiser4).

4. JFS - IBM's Journaled FileSystem. JFS 效率非常高并且CPU资源占用率比其他任何一个文件系统都要低。并且在挂载和磁盘检测的时候都非常快,在各方面的表现都非常突出,尤其是 conjunction with the deadline scheduler. (参见 JFS.) 但是并不像ext或者ReiserFS那样应用广泛。

5. XFS - 非常高效的日志文件系统,特别适合处理大文件。在处理小文件的时候稍慢。在挂载的时候也很快。 由于 /var 需要处理很多的小文件,所以可能不太适合作为/var 分区的文件系统。 唯一一个可用的 GNU/Linux 文件系统 with online defragmentation ability. 应用不及ext和ReiserFS那么广泛。

最主要的差别在于日志系统 (一些类似的在数据库环境中记录着日志变更的东西). 除ext2之外,几乎所有的文件系统都支持日志记录功能. ext3 完全兼容 ext2,因此哪怕你可以用一个非常古老的CD来挂载他,也没问题。 根分区最安全的选择就是使用ext3文件系统。 ReiserFS, XFS, 和 JFS 也可以使用,因为GRUB (启动引导管理器,稍候在安装部分将会介绍到) 都可以从这些文件系统中启动。 你可以通过选择yes来创建文件系统(并格式化分区),接着你就会被提示添加附加分区。 在我们的例子中, 只有 sda2了。 选择一个文件系统类型,并且把这个分区挂在到/home. 再次说明,创建文件系统并且选择Done。然后回到主菜单。

选择软件包

现在我们要选择安装哪些软件包到系统中。选择CD作为来源,如果你不止一个光驱的话还需要选择使用哪个的光驱。

软件包选择分为两个阶段。首先要选择软件包分类,然后出现所选分类中软件包的详细列表供你微调。记住使用空格键进行选择。

BASE: 包含最小的软件包集合,仅够构建一个可运行的系统骨架。

SUPPORT: 供网络和文件系统用的额外软件包,例如gpm、fuse、dnsutils、无线驱动、ndiswrapper、ntfs-3g诸如此类。

DEVEL: 软件创建工具,如GCC、autoconf、automake和make等等。

LIB: 大量的库文件,如gmp、lebelf、libevent等等。

在这里,我们对'Select all packages by default'选择'yes'。

接下来屏幕将显示你所选的软件包。对于新手,较安全的做法是不修改它,而有经验的用户可能希望裁减掉一些不需要的软件包。(例如,不需要的文件系统类型公用程序,不需要的驱动等等。)

安装软件包

接着,选择'Install Packages'。你会被询问是否希望保留pacman缓冲里的软件包。如果你选'yes',日后你还可以选择对某些软件包进行降级,因此推荐保留(日后你还是可以清除这些缓存的)。安装脚本跟着就会安装所选软件包到你的系统中。这些软件包是二进制的、针对i686优化的,总共仅100MB,因此安装是相当便捷的。

配置系统

系统接着会询问你是否要选择hwdetect来收集配置所需信息。新手应该选择是('yes')。

如果是相当熟悉自己的硬件、所需模块,有能力从零开始手动配置/etc/mkinitcpio和/etc/fstab 的高级用户,可以选择否'no'。(当然,此选项是非常复杂的,已经超过本指南的范围,这里就不详细解释了。)

接下来,系统会询问你是否需要支持从USB设备、FireWire设备、PCMCIA设备、NFS共享、软RAID阵列、LVM2卷和加密卷上启动。如果需要则选'yes',在本案例中以上都不选。

新手还应该选择让/etc/mkinitcpio/kernel26-fallback.conf使用hwdetect的结果,这将确保你的硬盘控制器相容次序。

现在系统会询问你使用哪个文本编辑器;如果你不熟悉vi/vim的话可以选择nano。然后就会出现一个包含系统中大部分重要配置文件的菜单。如果你打算查找/etc/rc.conf中可用的选项,只需按Alt+F2切换到另外一个虚拟控制台进行查找,然后用Alt+F1切换回安装程序。

系统配置主文件/etc/rc.conf

Arch Linux继承FreeBSD的传统,使用/etc/rc.conf作为系统配置的主要文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所包含的意思,它还包含了供/etc/rc*文件使用的配置。/etc/rc.conf提供了一个Arch用户可以轻易访问到的,简洁而又范围广泛的精简系统资源配置方案。

LOCALIZATION部分

LOCALE=: 系统场所(locale)设置,被所有国际化(i18n-aware)的应用程序使用 。从命令行上运行locale可以列出可用的locale设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处locale的设置必须与/etc/locale.gen一致,详见下文。)中文一般是zh_CN.utf8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。
注:这里先用en_US.UTF-8配置就好了,系统安装好后可以在修改locale。

HARDWARECLOCK=: 指示开关机时进行同步的硬件时钟,是UTC时间(协调世界时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示)还是localtime(本地时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如windows进行双启动,就必须使用localtime(本地时间),它只把本地时间保存到硬件时钟里。

TIMEZONE=: 时区(TIMEZONE)。(所有可用的时区可在/usr/share/zoneinfo/里找到。)

KEYMAP=: 可用的键盘映射表可在/usr/share/kbd/keymaps里找到。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置!

CONSOLEFONT=: 如果你一定要修改此设置,可在/usr/share/kbd/consolefonts/中找到可用的字体。

CONSOLEMAP=: 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在/usr/share/kbd/consoletrans里找到可用的映射表。

USECOLOR=: 如果你使用彩色显示器的话请选"yes"。

LOCALE="en_US.utf8"

HARDWARECLOCK="localtime"

TIMEZONE="Asia/Shanghai"

KEYMAP="us"

CONSOLEFONT=

CONSOLEMAP=

USECOLOR="yes"

HARDWARE部分

MOD_AUTOLOAD=: 如果你使用udev在启动时探测硬件并加载相应模块。请设置为"yes",(适合缺省模块化的内核)。设置为"no"就得靠用户自己指定所需的有关信息。

MOD_BLACKLIST=: 模块黑名单。在下面的例子中,IPv6模块和pcspeaker都被列入黑名单而不被加载。

MODULES=: 指示了其它模块,如果你知道缺少哪个重要的模块可以加在里面。(hwdetect应该已经填写了最重要的模块):

# Scan hardware and load required modules at bootup
MOD_AUTOLOAD="yes"
# Module Blacklist - modules in this list will never be loaded by udev
MOD_BLACKLIST=(net-pf-10 pcspkr)
#
MODULES=(e100 eepro100 mii slhc snd-ac97-codec snd-intel8x0 soundcore)

NETWORKING部分

HOSTNAME=:设置为你喜欢的主机名(HOSTNAME)。

lo=: 不修改此行。

eth0=: 如果使用静态IP的话请调整网络接口的IP地址、掩码和广播地址。如果使用DHCP的话则设为eth0="dhcp"。

INTERFACES=: 指定使用哪些网络接口。如果你不使用DHCP来配置设备,而是通过命令行用ifconfig手动配置设备的话,这里的变量值(名字必须等于打算进行配置的设备名一样)必须和ifconfig里加入的内容一样。

gateway=: 如果你使用静态IP,将网关(gateway)地址设为路由器的IP。如果使用DHCP,则将此行用'#'注释掉。

ROUTES=: 如果你使用静态IP,则将'gateway'前面的'!'去掉。如果使用DHCP的话则不需要修改此行。

例如,当使用DHCP:

HOSTNAME="arch"
lo="lo 127.0.0.1"
#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
eth0="dhcp"
INTERFACES=(lo eth0)
#gateway="default gw 192.168.0.1"
ROUTES=(!gateway)

DAEMONS部分

这个序列罗列了位于/etc/rc.d/里需要在启动过程中启动的脚本名字。

如果脚本名字前有惊叹号(!),表示它不被执行。

如果脚本名字前有符号(@),则表示它会在后台被执行,启动序列不会等待此脚本成功执行完毕,而是继续执行下一个守护进程脚本。

这种'BSD风格'的初始化就是Arch的处理办法,而其它发行版则是在一个init.d目录里使用一大堆符号链接(一个简单的文件 vs 一整个目录)。


关于守护进程

虽然此时你不需修改daemons行,不过还是有必要解释一下什么是守护进程,因为过一会儿在指南里我们会需要它。

和Windows服务(service)类似,守护进程(daemon)是一个运行于后台的程序,等待事件发生并提供服务。一个较好的例子是webserver等待请求以发送页面,还有SSH服务等待用户登录。这些都是全功能的程序,还有些守护进程工作起来并不是那么明显的。例如向日志文件里写信息的守护进程(如syslog、metalog),当系统空闲时降低CPU频率的守护进程(如cpufreq),以及提供图形化登录的守护进程(如gdm、kdm)。所有这些程序都可以被加入到daemons行中,在系统启动时被执行。本指南会对一些较有用的守护进程进行介绍。 按Ctrl+X退出nano编辑器。

磁盘和分区配置文件:/etc/fstab
fstab (file systems table的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。/etc/fstab文件一般被mount命令读取,以决定某一特定设备被挂载时所采用的选项。

这是一个/etc/fstab的例子:

#
# /etc/fstab: static file system information
#
#
none /dev/pts devpts defaults 0 0
none /dev/shm tmpfs defaults 0 0
#/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto,unhide 0 0
#/dev/dvd /mnt/dvd udf ro,user,noauto,unhide 0 0
#/dev/fd0 /mnt/fd0 vfat user,noauto 0 0
/dev/sda1 / jfs defaults,noatime,nodiratime 0 1
/dev/sda2 /home jfs defaults,noatime,nodiratime 0 2
/dev/sda3 swap swap defaults 0 0

Hwdetect应该已经有效地配置了一个可用的fstab,但最好还是简要地检查一下。

如果你打算用hal来自动挂载DVD之类的媒体,为了给即将安装的hal做准备,你可能要注释掉cdrom和dvd条目。

在笔记本电脑和桌面系统上,可以给 / 和 /home加上'noatime'和'nodiratime'选项来提高速度、性能,同时还能省电。无论你采用何种文件系统,这样做都应该是安全的。

更多信息请参照Fstab

mkinitcpio.conf、modprobe.conf和kernel26-fallback.conf

此时我们无须去修改这些配置文件。mkinitcpio.conf负责配置ramdisk(例如从RAID、加密卷启动), modprobe.conf可以用来设置内核模块的的某些配置选项,而kernel26-fallback.conf则是initramfs后备配置。

(对于静态IP)网络配置文件:/etc/resolv.conf

如果你使用DHCP,完全可以忽略此文件,缺省情况下dhcpd守护进程会自动创建和销毁此文件。

如果你使用静态IP,则可在/etc/resolv.conf里设置你的DNS服务器。每行的格式为nameserver ,如果有多个DNS服务器则可以填入多行。

如果你使用路由器,也许会希望由你的路由器本身指定DNS服务器,而在resolv.conf里只是写入你的路由器的IP(同时也是/etc/rc.conf里的网关),例如:

nameserver 192.168.1.1

可选的,逐个加入你的DNS服务器,例如:

nameserver 4.2.2.1
nameserver 4.2.2.2

如果使用DHCP,你也可以在你的路由器里指定你的DNS服务器,或者如果你的ISP支持的话由ISP自动指定。

/etc/hosts

可以在此文件中加入你想要的hostname,必须和/etc/rc.conf里的设置一致,因此它应该象这样:

127.0.0.1 localhost.localdomain localhost yourhostname

为了程序的兼容性,必须严格遵照这个格式,包括'localhost' 这项!错误的句法可能会导致网络性能低下和/或某些程序运行缓慢甚至无法运行。这对新手来说是十分普遍的错误。

对于大部分用户,只要把yourhostname加入到行末就就可以了,不过有些用户推荐以下句法:
127.0.0.1 yourhostname.domain.org localhost.localdomain localhost yourhostname

如果你使用静态IP,可以用这种句法加入新行:
hostname.domainname.org hostname,

例如:
192.168.1.100 yourhostname.domain.org yourhostname

/etc/hosts.deny和/etc/hosts.allow

如果你打算使用ssh的话,请根据自己的需要修改此配置。缺省设置是拒绝所有进入的连接,而不只是ssh连接。编辑/etc/hosts.allow 文件加入:

sshd:all

这会允许所有进入的ssh连接。

如果你不打算使用ssh,为安全起见请保持此文件的缺省设置(为空)。

/etc/locale.gen

locale-gen 命令从 /etc/locale.gen读取信息设定系统的locales. 这些设置稍后会被glibc 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式, 字符排列方式和其他一些本地化的特殊标准。设置默认本地化的功能是类UNIX操作系统的一大特质

默认情况下 /etc/locale.gen 是一个仅包含注释文档的空文件.编辑后,这个文件将不会get touched again. 每次glibc更新之后locale-gen就会运行一次, 以在/etc/locale.gen重新生成所有的本地化设置.

选定你需要的本地化类型(移除前面的#即可), 比如:

en_US ISO-8859-1
en_US.UTF-8

(你这里的设置必须和上文中提到的/etc/rc.conf 的设置一致哦.)

现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件/etc/locale.gen变更你的locale, 然后使用根用户(root)运行'locale-gen'脚本使之生效。
Note 如果你选择并设置了locale, 他将提示你 "The current locale is invalid..." 错误。可能是因为大多数新Arch用户都会犯的普遍的错误,也是在论坛中问得最多的问题。

Root密码

最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。

Pacman镜像

为pacman选择一个镜像软件仓库。记住archlinux.org是有流量限制的,下载速度限于50KB/s.。
如果你不熟悉现有的镜像和它们所处的位置,那就随便选一个。稍后你可以运行本指南后面提到的rankmirrors脚本,它将自动配置最接近你的镜像。

返回主菜单。

安装启动加载器

因为本案例中没有第二个操作系统,因此我们需要安装一个启动加载器。推荐选择GNU GRUB作为启动加载器。另外一种选择是LILO。缺省的GRUB配置(/boot/grub/menu.lst)应该足够了。唯一你可能想修改的是控制台的分辨率。将vga=加入到第一个kernel行。(menu.lst中已列出一张分辨率和数字的对应表格可供查找。)

title Arch Linux (Main)
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro vga=773
initrd /boot/kernel26.img

参数"vga=773"表示1024x768分辨率、256色的framebuffer。

将GRUB启动加载器安装到主引导区(本例中为sda)。

退出安装程序,弹出安装光盘。然后输入命令:
reboot

一个新Arch Linux系统就会启动并进入登录提示符(你可能需要在BIOS将启动顺序改为优先从硬盘启动)。

祝贺你,一个崭新的Arch Linux基础系统闪亮登场了!


完成基本系统安装

你的新Arch Linux基础系统现在已是一个功能完整的GNU/Linux环境了,随时可以进行定制。从现在开始,你可以按自己的意图和需求改造它。

让我们开始吧。

登录入你的root账号。我们将以root身份配置pacman和更新系统,然后创建一个普通用户账号。

更新系统

由于arch是滚动发布的,所以安装包不一定是最新的系统,所以我们需要在安装完成之后,立即更新系统。

使用pacman

现在我们要用pacman来更新系统。要更新、同步并升级你的系统,可以使用命令:

pacman -Syu

pacman就会获取所有最新可用软件包信息并进行升级。(此时你可能会被提示先升级pacman自身。如果是这样,回答'yes',然后在完毕后再运行一次pacman -Syu命令。)

浏览本文结尾处的有关信息,有空的话可以看看pacman (简体中文)维基条目。

rolling release之美

记住,Arch是一个rolling release(滚动发布)的发行版。这意味着没有必要重新安装或执行完整的系统重建来升级到最新版本。只需要执行pacman -Syu,就能保持你的系统更新到最新和bleeding edge(表示最新的、因而也并非完美的技术)。

增加一个用户并设置用户组

用root账号来处理日常工作是很危险的。Root是用来处理系统管理的任务。我们可以用以下命令增加一个普通用户账号:
adduser

大部分缺省选项都是没问题的,你可能还需要将storage、audio、video、optical和wheel加入到你的用户组中 ── 特别是在你打算使用一个完整功能的桌面环境的情况下。
用户组和用户的关联定义在/etc/group文件中:

它包含了:

audio - 关于声卡和相关软件的任务
wheel - 给sudo使用
storage - 负责存储设备
video - 视频任务和3D加速
optical - 和光驱有关的任务
floppy - 软驱访问
lp - 打印任务

请参看Groups一文了解你应该属于哪些用户组。 你还可能需要将你的用户账号加入到以下用户组(需要以root身份运行此命令):
usermod -aG audio,video,floppy,lp,optical,network,storage,wheel,dbus,hal USERNAME
详情可看usermod和gpasswd的man手册。

配置网络(如果有需要)
如果安装脚本的自动配置不适合你,本段内容将帮助你配置大部分类型的网络。
如果一切正常的话,你的网络应该可以正常使用了。先ping www.google.com验证一下:
ping -c 3 www.google.com
如果你已经成功建立网络连接,则跳到下面阅读使用pacman更新、同步、升级系统。
如果ping www.google.com后得到"unknown host"的错误,可以认为你的网络尚未正确配置。你需要重新检查以下内容的完整性和正确性: /etc/rc.conf # 特别留意HOSTNAME= 和 NETWORKING 部分有无输入错误。
/etc/hosts # 复核一下格式。(看之前的内容。)
/etc/resolv.conf # 当你使用静态IP时需要检查。如果你使用DHCP,缺省这个文件会被自动创建和销毁,不过也可以改为你需要的内容。(参见Network。)
高级的网络配置方法可以在Network一文中找到。
有线网络
用以下命令检查网络
ifconfig
你应该看到eth0这一项。如果有需要,你可以这样设置一个新的静态IP:
ifconfig eth0 netmask up
并且这样设置缺省网关:
route add default gw
查看一下/etc/resolv.conf是否包含你的DNS服务器,不过缺失了则补填进去。 再次用ping www.google.cn检查一下网络。如果一切正常,将/etc/rc.conf调整为刚才新设置的静态IP。如果你的网络使用DHCP服务器/路由器的话,输入:
dhcpcd eth0
如果这样可行的话,则将/etc/rc.conf按之前所述方法调整为动态IP。
无线网络
详见安装指南:Wireless Setup
Analog Modem
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and password to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1. Tip: Read Dialup without a dialer HOWTO.
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably. In case you're using a so-called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should indulge in the vast information found on the LinModem homepage.
ISDN
通过三步,完成 ISDN 的安装和配置:
安装配置固件Install and configure hardware
安装配置ISDN 管理工具
添加ISP信息
现在的 Arch stock kernels 已经包含了ISDN 所需要的modules, 所以不需要重新去编译内核,除非 you're about to use rather odd ISDN hardware. 把ISDN卡插入电脑或者插入USB ISDN-Box之后,you can try loading the modules with modprobe. 绝大部分的ISDN PCI 卡都能被module hisax处理,只需要两个参数:类型和协议。 如果使用的是1TR6标准,则协议设定为 '1' ,如果使用的是EuroISDN (EDSS1),协议设定为 '2', '3' if you're hooked to a so-called leased-line without D-channel, 如果使用的是US NI1,则设为'4'.
所有配置细节都可以在kernel documentation, more specifically in the isdn subdirectory, and available online中获知。 类型的参数是根据电视卡来设定的,在README.HiSax kernel documentation中,有一个可能类型的列表。 用相应的参数加载moduleChoose,比如这个:
modprobe hisax type=18 protocol=2
这个将加载适用于电视卡类型为ELSA Quickstep 1000PCI,德国使用的EDSS1协议的模块hisax。可以在日志文件/var/log/everything.log中查看是否模块被预加载。额外的USB ISDN Adapter需要加载些USB模块才能正常工作。
通过上述设定之后,如果电视卡能正常工作,那么把下面模块和参数加入/etc/modprobe.conf中:
alias ippp0 hisax
options hisax type=18 protocol=2
这么做的好处是,这些模块在不使用时不会被加载。另外的方法是可以在这只加参数,把hisax加入/etc/rc.conf里面的MODULES,这样做的坏处就是不管这些模块是不是在使用,都加载了。
完成上述步骤之后,需要安装管理工具
安装软件包isdn4k-utils,阅读关于isdnctrl的说明手册。在说明手册里,将有详细的说明:如何创建一个配置文件that can be parsed by isdnctrl,安装实例。 Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.
使用isdnctrl utility配置ISDN卡之后,将可以拨号到你设定的PHONE_OUT参数的机器上,但提示用户名和密码错误。把用户名和密码加入到/etc/ppp/pap-secrets或者/etc/ppp/chap-secrets,这个主要根据的是你的ISP使用的协议授权方式,as if you were configuring a normal analogous PPP link。如果无法确定,可以两个文件都加。
完成上述设定之后,用root帐号建立一个拨号连接:
isdnctrl dial ippp0
有啥问题,请检查日志文件!
DSL (PPPoE)
仅当需要你的计算机去主动拨号连接ISP的情况下才需参考本段内容。如果你使用独立的路由器来负责这类工作,你只需要设置一个缺省网关即可。
在使用DSL连接前,你得先在计算机里安装一个连接到DSL-Modem的网卡。将你新装网卡加入到modules.conf/modprobe.conf或者MODULES列表之后,安装rp-pppoe软件包并运行pppoe-setup脚本来配置你的连接。当你输入完有关信息后,可以分别通过以下命令来进行连接和挂断:
/etc/rc.d/adsl start

/etc/rc.d/adsl stop
setup过程一般都是很容易、直观的,如果还有不懂可以阅读man手册。如果你想在启动时自动拨号,可以将adsl加入到DAEMONS列表中。
第二部分:安装X并配置ALSA

一共有三步工作:
1、安装声卡驱动
2、安装x-window(包括显卡驱动)
3、配置X
使用alsamixer配置声卡
高级Linux声音架构(Advanced Linux Sound Architecture,简称ALSA)是一个Linux内核组件。它替换了原有的开放声音系统(OSS) ,为声卡提供了设备驱动。除了声音设备驱动以外,ALSA还给应用程序开发人员提供了一个用户空间库,可以使用更高级的API来使用驱动功能而无需直接与内核驱动打交道。
Udev在启动过程中将自动检测硬件并为声卡加载相应的模块。你的声卡应该已经可以正常工作,不过你还无法听到任何声音,因为此时声道缺省是静音状态。
Alsa-utils软件包里的alsamixer让我们可以从命令行来配置声音设备。(你也可以稍后在X环境中使用alsamixer。)
安装alsa-utils软件包:
pacman -S alsa-utils
你有没有将你的普通用户账号加入到audio用户组中去呢?如果没有,现在就以root身份这样做:
gpasswd -a yourusername audio
以普通用户身份运行:
alsamixer
用左右光标键移动到Master和PCM声道上,按M取消掉静音。用向上键增加音量。(70-90的音量是较合适的范围)按ESC键离开alsamixer。
测试声音
以普通用户身份用aplay命令测试你的声音配置:
aplay /usr/share/sounds/alsa/Front_Center.wav
你应该会听到一个女性声音说:“Front,center。”
以root身份运行alsactl:
alsactl store
这将创建'/etc/asound.state'文件,用来保存alsamixer的设置。
同时,将alsa守护进程加入到你的/etc/rc.conf中的DAEMONS列表,使得每次启动都可以自动恢复混音器设置。
nano /etc/rc.conf
DAEMONS=(syslog-ng network crond alsa)
注意,alsa守护进程在启动过程中仅仅是恢复音量设置。它和alsa音频库(和内核级API)是完全不同的。
更多详情请参看设置ALSA。
安装并配置X
The X Window System (一般叫X11或者更简单的叫X) is a networking and display protocol which provides windowing on bitmap displays. 提供标准化toolkit和协议,用于UNIX类操作系统,构建一个图形界面(GUIs)
X 提供最基本、基础的框架,用于构建一个图形操作界面环境。包括:绘图、屏幕窗口移动,与鼠标或者键盘的交互。 X 并不负责用户交互界面的部分:有独立的客户端程序负责处理这部分。 比如gnome、kde。
X is so named because it was preceded by the W Window System, originally developed at Stanford University.
注意: 如果想使用一个开源 显卡驱动, 需要3d加速,强烈建议在安装Xorg之前安装库 libgl :
pacman -S libgl
(Proprietary video drivers provide their own gl library implementations.)
构建一个GUI的第一步:用pacman来安装Xorg包.
pacman -S xorg
3d的工具比如glxgears包含在包mesa 里(如果需要,也安装):
pacman -S mesa
到这一步,已经有了运行X Server的基本软件包,接下来需要把显卡的驱动安装到电脑里(e.g. xf86-video-). 最简单的X.org配置方法就是安装正确的驱动包,然后使用自动脚本对 /etc/X11/xorg.conf 进行初始化,比如使用 Xorg -configure(arch团队提供hwd工具,但据以前用户的反映,这个现在还老出问题,新手可以使用,以后有能力再配置其他).
先确定是否有适合你电脑显卡的 开源驱动,输入下面命令,查看所有开源驱动:
pacman -Ss xf86-video | less
如果不知道显卡类型,输入下面命令:
lspci | grep VGA
下面是一个开源的显卡列表和相关说明:
xf86-video-apm Alliance ProMotion video driver
xf86-video-ark ark video driver
xf86-video-ati ati video driver
xf86-video-chips Chips and Technologies video driver
xf86-video-cirrus Cirrus Logic video driver
xf86-video-dummy dummy video driver
xf86-video-fbdev framebuffer video driver
xf86-video-glint GLINT/Permedia video driver
xf86-video-i128 Number 0 i128 video driver
xf86-video-i740 Intel i740 video driver
xf86-video-i810 Intel i810/i830/i9xx video drivers (deprecated - use -intel)
xf86-video-intel Newer Version of Intel i810/i830/i9xx video drivers
xf86-video-imstt Integrated Micro Solutions Twin Turbo vidoe driver
xf86-video-mga mga video driver (Matrox Graphics Adapter)
xf86-video-neomagic neomagic video driver
xf86-video-nv nvidia nv video driver
xf86-video-rendition Rendition video driver
xf86-video-s3 S3 video driver
xf86-video-s3virge S3 Virge video driver
xf86-video-savage savage video driver
xf86-video-siliconmotion siliconmotion video driver
xf86-video-sis SiS video driver
xf86-video-sisusb SiS USB video driver
xf86-video-tdfx tdfx video driver
xf86-video-trident Trident video driver
xf86-video-tseng tseng video driver
xf86-video-unichrome Unichrome video drivers
xf86-video-v4l v4l video driver
xf86-video-vesa vesa video driver
xf86-video-vga VGA 16 color video driver
xf86-video-via via video driver
xf86-video-vmware vmware video driver
xf86-video-voodoo voodoo video driver
说明:vesa驱动是最原汁原味的,适用于大部分的显卡。如果实在无法找到合适的显卡驱动,就选用vesa。(这是原话,好像夸张了点!If you cannot find a suitable driver for your video chipset, vesa should work.)
如果显卡是nVIDIA 或者ATI的,并且想安装他们的专属驱动。 Installing proprietary video drivers is covered below.
用pacman来安装适合你显卡的驱动。例如:
pacman -S xf86-video-savage
(for the Savage driver.)
如果实在不确定安装那个显卡驱动,可以安装所有显卡驱动包, 开启Xorg -输入下面命令在xorg.xonf里面配置驱动:
pacman -S xorg-video-drivers
安装专属的显卡驱动(nVIDIA、ATI)
如果想安装nVIDIA 或者 ATI.专属的驱动。
nVIDIA图形显示卡
nVIDIA显示卡的驱动程序被许多人认为是非常好的质量,而且带有高级3D性能。
在设置您的你nVIDIA显卡之前您先要选择您要使用的驱动程序。Arch现在有3种不一样的nVIDIA驱动程序,各自支持不同型号的显卡:
1. nvidia-71xx 老显卡,比如 TNT and TNT2
2. nvidia-96xx 直到Ge Force 4的较新显卡
3. nvidia 在Ge Force 4之后的最新 GPUs
到nVIDIA主页,看哪个适合你电脑.区别只是安装,配置过程是一样的.
根据你的显卡,选择合适的nVIDIA驱动安装,比如:
pacman -S nvidia-96xx
nVIDIA软件包有个工具能自动升级你已有的nVIDIA驱动的配置文件/etc/X11/xorg.conf,输入下列命令即可实现:
nvidia-xconfig
It also has several options which will further specify the contents and options of the xorg.conf file. For example,
nvidia-xconfig --composite --add-argb-glx-visuals
For more detailed information, see nvidia-xconfig(1).
Some useful tweaking options in the device section are (beware that these may not work on your system):
Option "RenderAccel" "true"
Option "NoLogo" "true"
Option "AGPFastWrite" "true"
Option "EnablePageFlip" "true"
Make sure all instances of DRI are commented out:
# Load "dri"
Double check your /etc/X11/xorg.conf to make sure your default depth, horizontal sync, vertical refresh, and resolutions are acceptable.
Update kernel module dependencies:
depmod -a
Advanced instructions for nvidia configuration can be found in the NVIDIA article.
Continue with Simple baseline X test
ATI图形显示卡
ATI用户使用驱动可以有两种选择。如果你不确定该用哪种驱动,请先使用开源驱动。它能满足大部分需求,并且较少出问题。
安装ATI专属驱动:
pacman -S catalyst
可以使用aticonfig工具修改xorg.conf。
安装ATI开源驱动
pacman -S xf86-video-ati
目前,开源驱动的性能还比不上专属驱动。它还缺乏TV-out,dual-link DVI和一些其它特性的支持。但另一方面,它支持Aiglx并较好支持双头显示。
关于ATI配置的进一步指引可以参见 ATI wiki.
创建/etc/X11/xorg.conf
什么是/etc/X11/xorg.conf?
/etc/X11/xorg.conf 是你的 X-Window-System 的主要配置文件,你的 GUI(Graphical User Interface)的基础,它是一个普通的文本文件,里面由 “section” 和 “subsection” 来安排。重要的 section 有 Files, InputDevice, Module, Monitor, Modes, Screen, Device 和 ServerLayout。各个section安排的前后次序没有关系,对同一种类型的设备也可以有多个 section ,比如你可能有多个显示器,或者你的本本既有鼠标又有触摸板。
默认情况下刚装完 X 是没有 Xorg 配置文件的,在最新版本的 Xorg 中,如果自动检测功能工作正常,而且你又不需要开启如 aiglx 等功能的话,你甚至不需要这个配置文件。
但是,多数人会发现你最终还是得生成一个合适的配置文件。
用 Xorg -configure 命令可以生成一个最基本的配置文件,在 root 用户下,输入:
Xorg -configure
这将生成一个配置文件 /root/xorg.conf.new
输入下面命令,测试server:
X -config /root/xorg.conf.new
X should start with the white hollow vector X in the center of the screen, which should respond to mouse, trackpoint or touchpad movement. 按组合键CTRL+Alt+Backspace退出X.
要测试你的 X server 是否配置正确,输入:
X -config /root/xorg.conf.new
X 将启动,在屏幕中央会有一个白色的 X ,这是鼠标或是触摸板,按 CTRL-Alt-Backspace 可以退出 X
如果 X 出现错误不能运行,你需要手动检查你的配置文件:
nano /root/xorg.conf.new
你要确定 Xorg -configure 命令正确的识别了你的显卡,比如:
Section "Device"
Driver "savage"
你还要确定里面的 Section "Monitor" 设置了水平同步率和垂直刷新率,如果没有要把它加上:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30.0 - 130.0 # Safe for LCD's
VertRefresh 50.0 - 100.0 # Safe for LCD's and most CRT's.
EndSection
如果你不知道这些刷新率到底是多少,你就得查一下你显示器的说明书。
在section "Screen"配置默认色深(color depth):
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
(Typically, this will be set to 24 for true color.)
Also add your desired Modes to your "Display" subsection, at least under the Depth 24 header, e.g.:
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600" "640x480"
Try your config again, after modifying:
X -config /root/xorg.conf.new
在确认 X session开启,没有错误之后,move the generated config file to /etc/X11:
mv /root/xorg.conf.new /etc/X11/xorg.conf
详细的介绍可见Xorg
接下来可以简单作测试 Simple baseline X test
简单的命令行界面X测试
在安装了合适的显卡驱动、创建了一个/etc/X11/xorg.conf文件之后,xorg已经安装上了。如果想在安装完整桌面环境之前,快速测试下你的配置,使用xterm可以实现! Xterm是个简单的终端模拟程序,作为base xorg软件包的一部分会被自动安装,运行在X Server环境里。Xterm可以让我们快速测试显卡驱动和配置文件/etc/X11/xorg.conf是否被正确配置。(另外,如果在没有/etc/X11/xorg.conf的情况下,你想测试下X 自动检测是否满意,也可以使用这个)
~/.xinitrc
This file dictates what X Server event is invoked with the 'startx' command:
su yourusername
nano ~/.xinitrc
加入这行:
exec xterm
使其看起来像这样:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#
exec xterm
# exec wmaker
# exec startkde
# exec icewm
# exec blackbox
# exec fluxbox
请确保在~/.xinitrc中,包含这个exec的只有一行被反注释。 Below, we shall edit this file again to specify the appropriate desktop environment of your choice.
如果没有~/.xinitrc这个文件,到该目录下创建一个,或者从/etc/skel/复制一个同样的文件到主目录:
cp /etc/skel/.xinitrc ~/
说明: 如果没有文件~/.xinitrc, /etc/X11/xinit/xinitrc 将被作为替代来使用,这是个使用TWM and Xterm的默认配置。
以普通用户身份输入下面命令,开启X Server:
startx
需要有一个xterm session开着。按Ctrl+Alt+Backspace,或者输入"exit"退出X Server。如果不能开启,在你试图开启的终端,查看日志文件/var/log/Xorg.0.log的错误信息。
更多的Xorg configuration介绍可见Xorg .
第三部分:安装并配置桌面环境

While The X Window System provides the basic framework for building a graphical user interface (GUI), a Desktop Environment (DE), works atop and in conjunction with X, to provide a completely functional and dynamic GUI. A DE typically provides icons, applets, windows, toolbars, folders, wallpapers, applications and abilities like drag and drop. The particular functionalities and designs of each DE will uniquely affect your overall environment and experience. Therefore, choosing a DE is a very subjective and personal decision. Choose the best environment for your needs.
如果你需要一个完整功能,类似于Windows和Mac OSX, 可以选择安装KDE
If you want something slightly more minimalist, which follows the K.I.S.S. principle more closely, GNOME is a good choice
Xfce is generally perceived as similar to GNOME, but lighter and less demanding on system resources, yet still visually pleasing and providing a very complete environment.
如果你的机器较老,或者是希望使用一个更轻量、更少GUI要求,可以选择只安装 Window Manager, 或者 WM. A WM controls the placement and appearance of application windows in conjunction with the X Window System but does NOT provide such additions as panels, applets, icons, etc.
Lightweight WM's include: openbox, fluxbox, fvwm2, windowmaker and twm.
If you need something completely different, try ion, wmii, or dwm.
安装字体
在安装桌面环境/窗口管理器之前,也许你会先安装些美观的字体。Dejavu和bitstream-vera都是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:
pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:
pacman -S wqy-zenhei
~/.xinitrc(再次)
以普通用户身份编辑/home/username/.xinitrc,加入你要用的DE:
nano ~/.xinitrc
反注释或者加入相应的桌面环境/窗口管理器的'exec ..'内容行。例如:使用Xfce4桌面环境:
exec startxfce4

记住在~/.xinitrc中只反注释掉一行exec。接下来安装你所选的桌面环境/窗口管理器。
GNOME
关于GNOME
GNOME是GNU Network Object Model Environment的缩写。GNOME项目有两大部分:GNOME桌面环境 ── 既直观又迷人的最终用户桌面,以及GNOME开发平台 ── 一个用来创建可与桌面集成的应用程序的庞大的框架。
安装
安装完整的GNOME环境:
pacman -S gnome gnome-extra
然后选择提示的所有软件包。 另一种可选方案是安装基本的GNOME环境:
pacman -S gnome
对GNOME有用的守护进程
如之前所述,守护进程(daemon)是运行在后台的程序,它等待事件发生并提供相应的服务。其中Hal守护进程可以自动挂载磁盘、光驱和U盘给GUI使用。Fam守护进程可以在GUI中实时反映文件的变动,如最近安装的程序、文件系统的变化等。Hal和fam使得GNOME的使用更为方便。Hal和fam软件包在安装GNOME时已一同安装。
或许你还会希望安装一个图形界面的登录管理器。在GNOME下gdm守护进程是个不错的选择。
以root身份运行:
pacman -S gdm
你需要启动hal和fam守护进程。
启动hal和fam:
/etc/rc.d/hal start
/etc/rc.d/fam start
将它们加入到/etc/rc.conf的DAEMONS中以使得它们随系统启动而自动运行:
nano /etc/rc.conf
DAEMONS=(syslog-ng network crond alsa hal fam gdm)
(如果你喜欢登录到控制台后再手动启动X这种'Slackware传统方式',可以不安装gdm。)

以普通用户身份启动X:
startx
你也许还想要安装一个终端和编辑器。我推荐你使用gnome-terminal(gnome-extra软件组的一部分)和geany:
pacman -S geany gnome-terminal
关于安装和配置GNOME的高级指引可以参见GNOME一文。
恭喜!欢迎来到Arch Linux系统的GNOME桌面环境!接下来你可以浏览优化和收尾。或许你还会对Arch安装完后的小技巧一文感兴趣。
美化
你也许会觉得缺省的GNOME主题和图标并不十分漂亮,那么可以安装一个不错的主题murrine:
pacman -S gtk-engine-murrine
接着在System->Preferences->Theme里选择这个主题。你还可以在Gnome Look里找到更多的主题、图标和壁纸。
KDE
关于KDE
KDE桌面环境(K Desktop Environment)的缩写。 KDE是一种著名的运行于GNU/Linux 、 UNIX 工作站等的强大、自由图形工作环境。It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of UNIX-like operating systems.
安装
Arch提供多个版本的kde: kde, kdebase, and KDEmod. 选一个就行了,然后 Useful KDE DAEMONS:
1.) Package kde is the complete, vanilla KDE, ~300MB.
pacman -S kde
2.) Package kdebase is a slimmed-down version with less applications, ~80MB.
pacman -S kdebase
3.) Lastly, KDEmod is an Arch Linux exclusive, community-driven system which is modified for extreme performance and modularity. The KDEmod project website can be found at http://kdemod.ath.cx/. KDEmod 极速、轻量、稳定,同时也拥有一个令人赏心悦目的外观和可定制的皮肤。
有用的KDE守护进程
KDE will require the hal (Hardware Abstraction Layer) and fam (File Alteration Monitor) daemons. The kdm daemon is the K Display Manager, 提供一个 图形化登录界面.
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services. The hal daemon, among other things, will automate the mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The fam daemon will allow real-time representation of file alterations in the GUI, allowing instant access to recently installed programs, or changes in the file system.. Both hal and fam make life easier for the KDE user. The hal, fam and kdm packages are installed when you install KDE, but must be invoked to become useful.
Start hal and fam:
/etc/rc.d/hal start
/etc/rc.d/fam start
NOTE: The hal daemon relies on, and will automatically start, the dbus daemon.
Edit your DAEMONS section in /etc/rc.conf:
nano /etc/rc.conf
Add hal and fam to your DAEMONS section, to invoke them on bootup. If you prefer a graphical login, add kdm as well:
DAEMONS=(syslog-ng network crond alsa hal fam kdm)
This method will start the system at runlevel 3, (/etc/inittab default, multiuser mode), and then start KDM as a daemon.
Some users prefer an alternative method of starting a display manager like KDM on bootup by utilizing the /etc/inittab method and starting the system at runlevel 5. See Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup for more.
If you prefer to log into the console at runlevel 3, and manually start X in the 'Slackware tradition', leave out kdm, or comment it out with an exclamation. ( ! )
Now try starting your X Server as normal user:
startx
更多关于安装和配置KDE的文章,请看KDE.
Congratulations! Welcome to your KDE desktop environment on your new Arch Linux system! You may wish to continue by viewing #优化和收尾, or the rest of the information below. You may also be interested in the Post Installation Tips wiki article.
Xfce
关于Xfce
和GNMOE、KDE一样,Xfce是一个桌面环境,其目标是快捷、轻量,同时又美观而易用。它还提供了一整套的应用程序如根窗口应用(root window app)、 窗口管理器、文件管理器、面板等等。 Xfce是用GTK2 toolkit编写的(类似GNOME),和其它大型桌面环境一样,它也有自己的开发环境(库文件、守护进程等)。但不象GNOME或者KDE,Xfce是轻量化的,其设计更接近于CDE而不是Windows或者Mac。它的开发周期比较慢,但是十分稳定、速度很快。在老硬件上Xfce可以运行得很好,而在新机器上更是运行如飞。
安装
安装完整的xfce环境以及主题和extras:
pacman -S xfce4 xfce4-goodies gtk2-themes-collection
如果你使用KDM或者GDM的话会显示一个xfce会话。另一种启动方式是:
startxfce4

关于安装和配置xfce的高级指引可以参见Xfce一文。
恭喜!欢迎来到Arch Linux系统的Xfce桌面环境!接下来你可以浏览优化和收尾,或者下面的其它内容。或许你还会对Arch安装完后的小技巧一文感兴趣。
*box
Fluxbox
Fluxbox ? is yet another windowmanager for X. It's based on the Blackbox 0.61.1 code. Fluxbox looks like blackbox and handles styles, colors, window placement and similar things exactly like blackbox (100% theme/style compability).
Install Fluxbox using
pacman -S fluxbox fluxconf
If you use gdm/kdm a new fluxbox session will be automatically added. Otherwise, you should modify your user's .xinitrc and add this to it:
exec startfluxbox
More information is available in the Fluxbox article.
Openbox
Openbox is a standards compliant, fast, light-weight, extensible window manager.
Openbox works with your applications, and makes your desktop easier to manage. This is because the approach to its development was the opposite of what seems to be the general case for window managers. Openbox was written first to comply with standards and to work properly. Only when that was in place did the team turn to the visual interface.
Openbox is fully functional as a stand-alone working environment, or can be used as a drop-in replacement for the default window manager in the GNOME or KDE desktop environments.
Install openbox using
pacman -S openbox obconf obmenu
Once openbox is installed you will get a message to move menu.xml & rc.xml to ~/.config/openbox/ in your home directory:
mkdir -p ~/.config/openbox/
cp /etc/xdg/openbox/rc.xml ~/.config/openbox/
cp /etc/xdg/openbox/menu.xml ~/.config/openbox/
In the file "rc.xml" you can change various settings for Openbox (or you can use OBconf). In "menu.xml" you can change your right-click menu.
To be able to log into openbox you can either go via graphical login using KDM/GDM or startx, in which case you will need to edit your ~/.xinitrc (as user) and add the following:
exec openbox
For KDM there is nothing left to do; openbox is listed in the sessions menu in KDM.
Useful programs for openbox are:
PyPanel or LXpanel if you want a panel
feh if you want to set the background
ROX if you want a simple file manager and desktop icons
More information is available in the Openbox article.
fvwm2
FVWM is an extremely powerful ICCCM-compliant multiple virtual desktop window manager for the X Window system. Development is active, and support is excellent.
输入下面命令安装 fvwm2
pacman -S fvwm
fvwm会自动添加进 kdm/gdm会话列表. Otherwise, add
exec fvwm
to your user's .xinitrc.
注意:这个稳定版已经有些年头了,如果需要最新的fvwm版本,可以安装unstable repo里的fvwm-devel 包.
优化和收尾
HAL
如果你已经安装了一个桌面环境,但是又觉得用起来不是很方便,那么现在就是个安装HAL的好时机了。HAL使得你的手机、iPod、移动硬盘等等可以即插即用。它会挂载设备并在你的桌面或/和'My Computer'目录中创建相应的图标,使得你可以在插入设备后就能访问到它,无需每次都对每个新设备来手动配置/etc/fstab文件或者udev规则。
KDE、GNOME和XFCE都使用到HAL。
安装过程描述可以在HAL一文中找到。其它一些信息可以在Wikipedia上找到。
启动时让守护进程在后台执行
要加速系统的启动过程,可以在/etc/rc.conf中给守护进程前加上'@'符号使之在后台执行,例如:
DAEMONS=(@syslog-ng @network crond @alsa @hal @fam @kdm)
这使得守护进程在后台被加载,无需等待它们加载结束。
在守护进程前加上(!)可以禁止系统启动时加载它,例如:
DAEMONS=(@syslog-ng @network !crond @alsa @hal @fam @kdm)
另一种方式是直接将不需要的守护进程删除。
美化LCD下的字体
See Fonts
调节鼠标滚轮
你的鼠标应该很容易就能正常工作了,如果希望使用鼠标上的滚轮,可以把以下内容加入到/etc/X11/xorg.conf的Input Section (mouse0):
Option "ZAxisMapping" "4 5 6 7"
让所有的鼠标按键生效
看这个 Get All Mouse Buttons Working
调整键盘布局
You may want to change your keyboard layout. To do this edit your /etc/X11/xorg.conf and add these lines in the Input Section (keyboard0) (the example shows a German keyboard layout with no dead keys; alter this to fit your needs).
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
笔记本优化
如果要使用笔记本电脑上的一些特殊功能,需要ACPI的支持(例如休眠、当合盖时休眠、特殊键...)。安装acpid :
pacman -S acpid
然后将它加入到/etc/rc.conf的守护进程列表中(acpid),如下启动
/etc/rc.d/acpid start
更多关于在膝上型计算机上运行Arch Linux的信息可以在笔记本电脑中找到。
配置CPU频率测量
Modern processors can decrease their frequency and voltage to reduce heat and power consumption. Less heat leads to a quieter system; Laptop users will definitely want this, but even a desktop system will benefit from it. Install cpufrequtils with
pacman -S cpufrequtils
and add cpufreq to your daemons in /etc/rc.conf. Edit the config file /etc/conf.d/cpufreq and change
governor="conservative"
which dynamically increases the CPU frequency if needed (which is a safe choice on desktop systems too). Alter min_freq and max_freq to match your system's CPU spec. If you don't know the frequencies, run cpufreq-info after loading one of the frequency scaling modules. You can also comment out or delete the min_freq and max_freq lines: things will work automatically. Add the frequency scaling modules to your /etc/rc.conf modules line. Most modern notebooks and desktops can simply use the acpi-cpufreq driver, however other options include the p4-clockmod, powernow-k6, powernow-k7, powernow-k8, and speedstep-centrino drivers. Load the module with
modprobe
通过下面命令行开启cpufreq:
/etc/rc.d/cpufreq start
更多细节,请看 Cpufrequtils
有用的应用程序

这部分将永远处于更新状态。这只是列出一些比较通用的软件。
KDE users NOTE: Since KDE resides in /opt, you will most likely have to log out and in after initial installation to update your PATH before these programs can be used.
互联网工具
浏览网页和管理email,如果使用的是GNOME桌面,可以试试 Epiphany 和Evolution; 如果使用的是KDE桌面,可以试试Konqueror和KMail。也可以使用独立的Firefox和Thunderbird组合。或者快速全能的Opera。
pacman -S opera
如果你使用的是终端命令行系统模式或者在终端中,则需要是使用基于文本的浏览器,比如ELinks, Links 和Lynx,管理email则使用Mutt. GNOME的Pidgin (以前叫 Gaim) ,KDE的Kopete都是非常优秀的集成式聊天工具(集成众多聊天工具协议,比如msn、qq)。如果只使用Jabber 或者 Google Talk,PSI 和 Gajim 更好。

火狐(Firefox)
在终端中输入下面命令安装:
pacman -S firefox
获得完美互联网体验,需要安装插件'flashplugin', 'mplayer', 'mplayer-plugin', 'codecs':
pacman -S flashplugin mplayer mplayer-plugin codecs
(codecs包包含对Quicktime和Realplayer内容的支持)
Opera
在终端中输入下面命令安装:
pacman -S opera
办公软件
OpenOffice 是一个完整的办公软件套装 (和 Microsoft Office对应). Abiword 是一个更轻便的word编辑器, Gnumeric是GNOME下替代Excel的软件. KOffice 是KDE下一个完整的办公软件套装. GIMP (or GIMPShop) is a pixel-based graphics program (类似于windows的 Adobe Photoshop), Inkscape是一个矢量图编辑工具(类似于windows下的 Adobe Illustrator). And, of course, Arch comes with a full set of LaTeX Programs: tetex has been popular for many years and still works, and its successor Texlive is available from the AUR repository.
多媒体
视频播放器
Mplayer
MPlayer是一个Linux下全能的多媒体播放器,如果要让其播放所有的格式,需要安装w32codec,如果是64位系统,需要安装的是w64codec。可以键入以下命令来安装它:
pacman -S mplayer w32codec

Mplayer的国际化支持较差,如果locale是GB18030的话,打开文件会有问题,建议
pacman -S smplayer安装mplayer的前端软件。

它还有一个支持网页中的内嵌视频和流媒体播放的Mozilla插件。可以键入以下命令来安装它:
pacman -S mplayer-plugin
如果你使用KDE,KMplayer则是个更好的选择。它附带了一个可以在Konqueror中的播放网页中内嵌视频和流媒体的插件。可以键入以下命令来安装它:
pacman -S kmplayer
VLC
VLC Player Linux下的多媒体播放器. 在终端中输入下面命令安装:
pacman -S vlc
(TODO) VLC mozilla查检介绍

(TODO) GMPlayer介绍
Xine
Xine is an excellent player, especially for DVD's.
pacman -S xine-ui
The libdvdcss library provides DVD decoding for encrypted DVD's. Ensure the legality of using libdvdcss in your country before installing!
pacman -S libdvdcss
GNOME
Totem
Totem is the official movie player of the GNOME desktop environment based on xine-lib or GStreamer (gstreamer is the default which installs with the arch totem package). It features a playlist, a full-screen mode, seek and volume controls, as well as keyboard navigation. It comes with added functionality such as:
Video thumbnailer for the file manager
Nautilus properties tab
Epiphany / Mozilla (Firefox) plugin to view movies inside your browser
Webcam utility (in development)
如果想观看DVDs,Totem-xine更好。
Totem是gnome-extra group的一部分 ; 但Totem浏览器插件不是。
单独安装totem:
pacman -S totem
安装totem浏览器插件:
pacman -S totem-plugin
KDE
Kaffeine
KDE用户,使用Kaffeine,输入下面命令行安装:
pacman -S kaffeine
音频播放器
Gnome/Xfce
Exaile
Exaile 是一款用Python和GTK+工具箱写成的音乐播放器。他尽可能用GTK来构建流行的Amarok的功能。该软件包在 [community] 里可以找到,所以你可以简单的通过下面的命令来安装之:
pacman -S exaile
Rhythmbox
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. 基于强大的GStreamer媒体框架,专门用于GNOME桌面的音乐播放器。
Rhythmbox有下列功能:
Easy-to-use music browser
Searching and sorting
Comprehensive audio format support through GStreamer
Internet radio support
Playlists
安装rhythmbox:
pacman -S rhythmbox
Quod Libet
Quod Libet 是一个音乐管理器。它使用 GStreamer 来播放音频文件,这使得它可以播放任何 Rhythmbox(同样使用 Gstreamer)所支持的文件类型。Quod Libet 更适合非 Gnome 桌面,因为相对于 Rhythmbox,它有更少的资源占用和较少的依赖关系(Rhythmbox 依赖于 Nautilus,这就需要安装许多 GNOME 组件)。
另外,除了音乐播放器和管理器,Quod Libet 还包含了 Ex Falso,它可以用来编辑音乐的 tag 信息。
Quod Libet 的特性包括:
易于使用的音乐浏览器
搜索
基于 GStreamer 的全面的音频格式支持
方便的播放列表管理

安装 Quod Libet:
pacman -S quodlibet
Other good audio players are Banshee and Listen. See Gnomefiles to compare them.
KDE
Amarok
Amarok是KDE下最好的音频播放器和音乐仓库系统之一。要安装这个软件,只需要输入以下代码:
pacman -S amarok-base
命令行
Moc是一个命令行上基于ncurses的音频播放器,还有一个较好的选择是mpd。
另外cmus也是一个不错的选择。
Other X-based
(TODO) Xmms, audacious, bmpx.
编解码和其它多媒体内容类型
DVD
你可以使用xine-ui、totem-xine、mplayer或者kaffeine (just to name three of the big ones)来观看DVD。唯一可能遗漏的是libdvdcss。要注意的是在一些国家里使用它是违法的。
Flash
使用以下命令来安装flash插件
pacman -S flashplugin
要在浏览器中启用Macromedia (如今是Adobe) Flash,如果你跑的是KDE,请在安装flash后浏览修正Konqueror中的Flash。
Quicktime
Quicktime codecs包含在codecs软件包中,输入
pacman -S codecs
来安装它。
Realplayer
Realplayer 9编码译码器包含在codecs软件包中,输入
pacman -S codecs
来安装它。Realplayer 10也有Linux下的二进制包。你可以从AUR的这里中得到它.
CD和DVD刻录
GNOME
Brasero
Brasero 是GNOME桌面环境下的CD/DVD刻录软件。其简易、独特的功能使用户能够轻松而快速的刻录光盘。
安装:
pacman -S brasero
KDE
K3b
K3b (from KDE Burn Baby Burn) is a free software CD and DVD authoring application for GNU/Linux and other UNIX-like operating systems designed for KDE. As is the case with most KDE applications, K3b is written in the C++ programming language and uses the Qt GUI toolkit. K3b提供了一个图形界面,能够完成大部分的CD/DVD烧录工作,比如从一辑声音文件中创建一张音乐CD,创建CD/DVD,包括更高级的烧录功能,比如烧录eMoviX CD/DVDsas。它也能实现disc-to-disc盘对盘的直接对拷。默认设定已经不错,有经验的用户可以根据自己的需要进行自定义。在K3b中实际的刻录工作,是由命令行工具cdrecord或者wodim, cdrdao, 和growisofs来完成的。As of version 1.0, K3b features a built-in DVD ripper.- licensed under the GPL.
K3b以压倒性优势(得票率70%),被评为LinuxQuestions.org2006年度最佳多媒体工具
安装:
pacman -S k3b
(Todo)刻录核心cdrecord, graveman...
大部分的CD刻录是使用cdrecord为内核的来完成的,输入下面命令安装:
pacman -S cdrkit
如果安装了刻录图形化界面工具,比如Brasero或者K3b,默认会自动安装这个CD/DVD刻录库文件,比如libburn 或者cdrkit.
命令行模式的DVD烧录工具是growisofs:
pacman -S dvd+rw-tools
电视卡
如果想在(Arch)Linux系统的电脑上观看电视节目,首先需要知道你所使用的电视卡的类型,一般可以在硬件系统信息中知道这些信息。(看这个 this list, 这是个例子),确定了电视卡的类型后,按下面步骤操作:
一般情况,需要使用驱动bttv-drivers (也可以使用其他驱动,比如V4L) ,把I2C-modules加入modules中,如果成功,那么将自动检测电视卡(check dmesg for results) If you are lucky, a
modprobe bttv
will autodetect the card (check dmesg for results). 如果成功,只需要安装一个观看电视的软件即可! 如果自动检测失败,则需要检查文件 CARDLIST, which is included in the tarball of bttv ,设置适合你电视卡的参数. PV951如果缺少声音支持,需要加入下面一行:
modprobe bttv card=42 radio=0
有些电视卡需要输入下面一行,才能播放声音:
modprobe tvaudio
如果上面一行不起效,则试试下面这行:
modprobe tuner
This is subject to trial-and-error, too.
TODO: clarify the installation-procedure
如果想真正看电视,还需要安装xawtv-package ,在终端中输入下面命令:
pacman -S xawtv
同时最好阅读其说明文档.
TODO: clarify some possible problems and procedures. Introduction to XAWTV on another page?
数码相机
绝大部分新式的数码相机都使用USB大容量存储,所以可以像USB一样,插入电脑、复制图像。老式的相机需要使用PTP(图像传输协议),这需要一个特殊驱动。gPhoto2 就提供这种驱动,并且支持从终端传输图片;digikam(KDE下的程序) 和gthumb(gnome下的程序,也可以使用gtkam) 使用这个驱动,并提供了一个不错的GUI外观。
U盘/USB硬盘
USB Memory Sticks and hard disks are supported out of the box with the USB mass storage device driver and will appear as a new SCSI device (/dev/sdX). 如果使用桌面KDE或者 GNOME,需要使用dbus 和hal (把它们架入到/etc/rc.conf的daemons里),它们能够自动挂载。如果使用的是别的桌面系统,可能需要ivman.

让Archlinux系统 HAL自动挂载 移动介质
之前搞了好久也没有搞好,昨天突然想再试一试,结果就好了!

linux系统的自动挂载光驱的进程是HAL(Hardware Abstraction Layer)来完成的,默认的kde安装是有的只是不启动它(gnome也是有的)。


我们在 /etc/rc.conf 里面开启这个进程,一起开启的还是dbus,kde安装教程是 这样说的,并且开启dbus在前,然后再开 hal。

DAEMONS=(syslog-ng network netfs crond dbus hal httpd mysqld)

这样第一步就完成了!

然后需要把你的用户加入到 hal,dbus,storage 这几个组里面。

#gpasswd -a username groupname

重新启动 你就会看到已经加载了所有的硬盘分区,移动硬盘也会自动挂载上,放一张光盘进去,你会看到和xp一样的 弹出窗口让你选择打开程序。赶快去试一试吧!

系统维护

Pacman
Pacman 是一个二进制及源码包管理工具,能够从本地或网络下载、安装、升级软件包,并解决软件包之间的依赖问题,并提供一个容易明了的工具to craft your own packages.
Pacman是Arch用户最好的伙伴。强烈推荐你学习研究如何使用pacman工具,用此命令阅读手册:
man pacman
更细致的介绍,请看 its article.
pacman是什么?
Pacman是Arch Linux的软件包管理器(package manager)。Pacman是用C语言编写的,速度快,使用简便,功能强大。它可以管理整个软件包系统,负责软件包的安装、删除、降级(通过缓存),也支持自编译的软件包,自动分析依赖关系,可以搜索远程和本地软件仓库,还有大量其它功能。这里我们将用pacman来从远程软件仓库下载软件包并安装到系统中。
为了将核心系统建立成你心目中的样子,pacman是Arch Linux工具箱中最重要工具。
更新Pacman自己
一开始,系统可能会提示你先更新pacman自身,这取决于Arch安装包的新旧程度:
pacman -Sy pacman
pacman开始查看是否需要更新,如果有提示需要更新,则按‘y’,开始pacman更新。
有时候,还需要用户主动修改某些配置;请仔细阅读升级过程中的输出获取相关信息。
配置pacman
pacman总配置文件/etc/pacman.conf
每次调用pacman,它都会读取/etc/pacman.conf文件。这个配置文件分若干段,每一段定义了一个pacman用来搜索软件的仓库。唯一例外的是options段,它定义了全局选项。
nano -w /etc/pacman.conf
范例:
[core]
# Add your preferred servers here, they will be used first
#Server = http://mirrors.easynews.com/linux/archlinux/core/os/i686
Include = /etc/pacman.d/mirrorlist
[extra]
# Add your preferred servers here, they will be used first
#Server = http://mirrors.easynews.com/linux/archlinux/extra/os/i686
Include = /etc/pacman.d/mirrorlist
#[unstable]
# Add your preferred servers here, they will be used first
#Server = http://mirrors.easynews.com/linux/archlinux/unstable/os/i686
#Include = /etc/pacman.d/mirrorlist
[community]
# Add your preferred servers here, they will be used first
#Server = http://mirrors.easynews.com/linux/archlinux/community/os/i686
Include = /etc/pacman.d/mirrorlist
将'Include ='和'[repository]'行前的注释符号(#)去除,将启用这个软件仓库。
"Server ="行如果取消注释,将会强制此服务器被首先搜索,详细的仓库配置位于/etc/pacman.d/下。
小技巧: 你可以很安全的启用[Unstable]仓库,系统中来自其它仓库的软件包可以和[Unstable]中的软件包和平共处。
* 注意:选择仓库时,请确认将仓库名和'Include ='行都一同取消注释。没有这样做的话会导致你选择的仓库被忽略!这是个很普遍的错误。
配置镜像列表 /etc/pacman.d/mirrorlist
更快的镜像能显著改善pacman的性能和你对Arch Linux的总体体验。
rankmirrors脚本可以根据镜像的响应延迟对其自动排名。 编辑/etc/pacman.d/mirrorlist:
nano /etc/pacman.d/mirrorlist
删除所有不在你所在洲或者太远的镜像。(在nano里你可以用CTRL-K删除每个不需要的行。)保存文件并退出。
Rankmirrors是python脚本,需要安装python:
pacman -S python
然后,运行rankmirrors脚本按响应延迟顺序对镜像进行排名:
rankmirrors -v /etc/pacman.d/mirrorlist
输出会列出所有镜像和它们的响应延迟(ping),例如:
# United States
# http://mirrors.easynews.com/linux/archlinux/$repo/os/i686 ... 0.96
# ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686 ... 0.86
# ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686 ... 1.39
# ftp://ftp.nethat.com/pub/linux/archlinux/$repo/os/i686 ... unreachable
# ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/i686 ... 2.43
# ftp://mirrors.unixheads.org/archlinux/$repo/os/i686 ... 1.96
# ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/$repo/os/i686 ... 5.05
# http://holmes.umflint.edu/archlinux/$repo/os/i686 ... 0.53
# ftp://ftp.archlinux.org/$repo/os/i686 ... 4.06

脚本将从低到高的响应延迟顺序显示:
Server = http://holmes.umflint.edu/archlinux/$repo/os/i686
Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686
Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/i686
Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686
Server = ftp://mirrors.unixheads.org/archlinux/$repo/os/i686
Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/i686
Server = ftp://ftp.archlinux.org/$repo/os/i686
Server = ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/$repo/os/i686
Server = ftp://ftp.nethat.com/pub/linux/archlinux/$repo/os/i686
要注意的是这个结果对于镜像排列并非很精确,最接近你的镜像或者延迟最低的镜像并不一定是最佳选择。(反应迅速但是内容过时的镜像、或者低延迟但是窄带宽的镜像对你毫无用处)。
编辑/etc/pacman.d/mirrorlist,将最佳的镜像置于在列表顶端。为了体验多个镜像你可能要不断修改此配置文件,请精明地选择。
有用的命令
与远程软件仓库同步和更新本地包数据库 (推荐在安装和更新包之前这样做):
pacman -Sy
升级系统中所有的包:
pacman -Su
一条同步、更新、升级 所有系统中的包的命令:
pacman -Syu
安装或者升级单个软件包或者一串包(包括其依赖包):
pacman -S packageA packageB
同步、更新数据库并安装软件包:
pacman -Sy packageA packageB
移除软件包, 但保留依赖的包:
pacman -R package
移除单个包,并且移除没有被别的软件依赖的依赖包:
pacman -Rs package
移除包所有不需要的依赖包并删除其配置文件:
pacman -Rsn package
通过给定关键词(列表)搜索远程软件仓库数据库(repo):
pacman -Ss keyword
列出系统中所有的包
pacman -Q
在本地包数据库搜索 (查询)指定软件包:
pacman -Q package
在本地包数据库搜索 (查询)指定软件包并列出相关信息:
pacman -Qi package
To defragment pacman的数据库缓存和速度优化选项:
pacman-optimize
统计当前系统中的包数量:
pacman -Q | wc -l
使用ABS和makeokg从源代码编译安装包:
pacman -U packagename.pkg.tar.gz
Note: pacman有很多很多的选项和功能组合。你可以试试man pacman或者查阅lt the pacman维基条目
Polishing & Further information

For further information and support you can go to the homepage, search the wiki, the forums, the IRC channel, and the mailing lists.
问题答疑
See Arch FAQs for newbies
There is also an Arch forum thread devoted to beginners.
术语
For more information on the jargon used in Arch, look at this article.
接下来还有什么?
你还可以阅读:
Arch Linux 官方安装指南
ArchLinux社区用户软件仓库 (AUR)
Get All Mouse Buttons Working
Improve Pacman Performance
Kernel Compilation
Pm-utils
Cpufrequtils
美化

No comments: