https://wiki.archlinux.org/api.php?action=feedcontributions&user=Ericcong&feedformat=atom
ArchWiki - User contributions [en]
2024-03-29T02:18:38Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=The_Arch_Way_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=134105
The Arch Way (简体中文)
2011-03-18T11:37:29Z
<p>Ericcong: /* 纯粹性 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:关于Arch_(简体中文)]]<br />
[[Category:General (简体中文)]]<br />
{{i18n|The Arch Way}}<br />
<br />
以下五条核心原则构成了我们通常所指的 Arch 之道,或者说 Arch 的哲学,或许最好的结词是 Keep It Simple, Stupid(对应中文为“保持简单,且一目了然“)。<br />
<br />
==纯粹性==<br />
<br />
''“精于心简于形” -列昂纳多.达.芬奇''<br />
<br />
许多 Linux 的发行版都声称自己是“简洁”的。然而,简洁也有许多种定义。<br />
<br />
'''Arch Linux 将简洁定义为一个轻量级基础结构,没有任何不必要的添加、修改和复杂,使得每个用户都可以按照他们的需要打造自己的系统。简而言之,即优雅、极简之道。'''<br />
<br />
一个轻量级基础结构并不意味着基础系统应该很小的。而是,应当简单易明,避免所有可能使系统重要部分含糊不清的混乱,或者使系统重要部分十分困难曲折才能访问。它应该有一整套可供快速查看和编辑的精简合理的配置文件,而没有那些倾向为用户掩盖各种可能性的笨重的图形化配置工具。因此,每一个最终的细节,一个Arch Linux系统都可以轻易上手配置。<br />
<br />
另一方面,Arch Linux完整的保留了Linux系统原本的复杂性,并同时呈现给用户。Arch Linux开发者和用户都坚信,试图隐藏系统的复杂性,最终你只会得到一个更为复杂的系统,因而尽力避免。<br />
<br />
==代码的正确性胜过易用性==<br />
<br />
Arch Linux更加重视优雅的设计,简洁的代码,而不是没必要的补丁,自动运行脚本,吸引眼球却没有实用性的界面以及“针对新手的易用性“。 因此软件补丁都控制在了最小的程度。<br />
<br />
'''保持简洁,代码的优雅性以及最小化原则将始终作为Arch Linux开发的指导原则。'''<br />
<br />
Arch Linux的理念,设计以及特性都来源于并以Arch之道作为指导,而且不会屈从于任何外界的影响。现在的开发团队都尽责地承担着他们的责任,并坚定的依照Arch之道的原则。如果你愿意和他们分享这样的思想,那么也欢迎你加入Arch Linux的使用中来。<br />
<br />
==以用户为中心==<br />
<br />
尽管许多Linux发行版都试图变得更“用户友好(user-friendly)”,Arch Linux则一直是,永远会是“以用户为中心”(user-centric)。<br />
<br />
'''Arch Linux通过给予用户可以真正的,完完全全的控制系统的能力,使得用户成为系统的中心'''<br />
<br />
Arch Linux用户可以完全管理自己的系统。系统本身只是提供小小的协助,以及一些简单的管理工具用来很好的将用户的指令传达给系统。<br />
<br />
以用户为中心的设计思路也包含了“DIY”的理念。Arch Linux倾向于自己解决问题并将结果跟社区和开发团队一起分享,而不是请求开发人员实现某些新特性──一种“先做后问”的哲学。这尤其体现在Arch用户软件仓库里的用户贡献包──Arch Linux官方软件仓库里的社区维护包。<br />
<br />
==开放==<br />
<br />
开放往往伴随的是简明,这也是Arch Linux开发的其中一条指导原则。<br />
<br />
'''Arch Linux使用简单的工具,所有这些都以符合源码及输出公开开放为原则精心挑选或创建。'''<br />
<br />
尽管许多Linux新用户对于公开开放都是赞叹不已,但是有经验的Arch Linux用户则发现公开开放不仅受人欢迎,且实际可行。它解除了所有横亘在用户和系统之间的障碍,赋予了用户更多的系统控制权力,简化了系统的维护工作。<br />
<br />
Arch Linux的开放本质也暗示着需要一个相对艰难的学习过程,但是有经验的Arch Linux用户发现其他更封闭的系统则更难于控制。<br />
<br />
开放的原则同样扩展到社区成员。Arch Linux用户向来以思想开放,乐于助人,善纳良言而著称,还给社区维护的Arch用户软件仓库贡献了大量软件包。<br />
<br />
==自由==<br />
<br />
另外一个Arch Linux开发的指导原则是选择的自由。用户不但对系统配置可以做决定,还可以决定自己的系统可以*是什么*。<br />
<br />
'''通过保持系统的简洁性,Arch Linux对系统的选择给予了很大的自由度。'''<br />
<br />
一个新安装的Arch Linux系统仅包含基本的核心组件,不会执行任何自动配置。用户可以按自己意愿配置系统。从一开始,每个系统组件都可以很容易立即删除或者用其它组件替代。<br />
<br />
在许多Arch Linux软件仓库里大量的软件包也让你可以自由选择。更进一步,相比其它发行版,创建一个新软件包也是一个简单、开放、以用户为中心、自由的过程。只需要一点知识就可以使用Arch Build System(ABS)创建新的软件包。<br />
<br />
正如Arch Linux项目的创立者Judd Vinet所说:“是你们使它(Arch)成为了现在的样子(It (Arch Linux) is what you make it)。”</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Arch_compared_to_other_distributions_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=134104
Arch compared to other distributions (简体中文)
2011-03-18T11:35:34Z
<p>Ericcong: /* Arch与 Ubuntu */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:关于Arch_(简体中文)]]<br />
{{i18n|Arch Compared to Other Distributions}}<br />
<br />
本文总结了 ArchLinux 和其他发行版某些相似点以及不同点。这种问题常被问起,所以有个标准回答显然是不错的主意。请注意:比较 ArchLinux 和其他发行版的最好的办法是安装它,并亲身体验之。<br />
另外,ArchLinux 有个超有爱的用户社区,那里的人们乐于帮助新用户。以下的粗略描述将给您足够的信息量,让您决定 ArchLinux 是否真的适合自己。<br />
<br />
==基于源码的发行版==<br />
===ArchLinux 与 Gentoo===<br />
ArchLinux 提供的是编译好的软件包,因而比 Gentoo 省时。Gentoo 和 ArchLinux 都允许基于二进制和源码两种形式的发布,但是,Gentoo主要是基于源码的而 Arch 主要是基于二进制的。两个都是滚动式平滑更新的发行版。相比 ebuild,PKGBUILD 更容易创建。Gentoo 更加易于编译要移植到特殊架构的软件包。Arch 只是针对 i686 和 x86_64 (以 i586 用户为基础的子项目也开始运作)。<br />
因而,如果你需要更多灵活性,更多的定制,并且不用担心时间问题,gentoo可能是个更好的选择。<br />
<br />
===Arch 与 Sorcerer/Lunar-linux/Sourcemage===<br />
<br />
Sorcerer/Lunar-linux/Sourcemage (SLS)都是基于源码的发行版,它很像Gentoo,它们最开始的时候都是有联系的。SLS使用一套非常简单的脚本文件来创建包描述,使用一个全局配置文件来配置编译过程,这很像Arch的ABS系统。SLS工具提供完全依赖检查(包括处理可选特性)和包的跟踪(删除及升级)。SLS系不提供二进制的包,但是它能很容易的回滚到以前安装的包。<br />
<br />
它的安装包括安装一个基本系统(很像Arch:为i686特别优化,字符界面,ncurses菜单,仅安装核心工具),然后重新编译基本系统(可选)。很明显它们不提供“标准”的WM/DE/DM(窗口管理,桌面环境,桌面管理),在安装时也没有安装X server。但是它们提供一种很简单的方法来安装可选的几个X server(包括X.Org 6.8或7, XFree86)。<br />
SLS的历史非常复杂。关于他的记录可以在这里找到:http://wiki.sourcemage.org/Our_History<br />
<br />
Lunar Linux: http://lunar-linux.org/ <br><br />
SourceMage: http://www.sourcemage.org/ <br><br />
Sorcerer: http://sorcerer.berlios.de/<br />
<br />
==最小化安装系统==<br />
<br />
=== LFS ===<br />
LFS, 是最个性化的系统,她不是一个发行版,只以文档形式存在,文档用于介绍如何构建一个完全个性化的操作系统:首先介绍“如何获取”构建一个最小操作系统所需的软件,然后介绍如何把源码编译为适用的软件(过去一般翻译为“编译”)、打补丁、个性配置,一切的一切,都是从头来过。LFS提供了一个非常经典的构建操作系统方法,是一般学习操作系统的良好工具。<br />
LFS 并不提供软件仓库,也没编译好的软件,有的只是方法。比如手工获取软件的方法,编译和安装的方法,系统软件管理方法。<br />
<br />
ArchLinux 也是很个性化的,但至少是提供了一些基本的软件包,还有编译好的软件,使用了bsd模式配置脚本,一些额外的辅助工具,和强大的软件管理工具[[pacman]],而且还对特定的硬件系统架构进行优化。<br />
ArchLinux 实际上可以看作是一个基于LFS基础上发展出来的系统,因为Judd Vinet也是从头再来构建的 ArchLinux,并用C写了一个软件管理系统。曾有一段时间,ArchLinux 被认为是一个 LFS 外带一个优秀的软件管理系统。<br />
<br />
===Arch 与 Crux===<br />
Arch的灵感来自于Crux。Judd 曾总结过两者的不同:“我在开始 Arch 之前使用的是 Crux。Arch 差不多就是从 Crux 开始的。后来我写了 pacman 和 makepkg 来替换我的 bash pseudo 打包脚本(我在 LFS 上开始创建 Arch)。因此这两个是完全分开的发行版,只是在技术上他们非常相似。比如,我们有依赖支持(正式地),虽然 Crux 有个社团提供其他的特性。CLC 的prt-get 处理基本的依赖逻辑。Crux 可以忽视许多我们必须面对的问题,因为它的软件包是非常有限的,基本上就是除了Per(Crux 的创建者和维护者)使用的以外再没有其他了。<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?pid=133721#p133721 这个论坛的帖子]陈述了一位用户对这两个发行版的观点。<br />
<br />
===Arch 与 Slackware===<br />
Slackware 和 Arch 两者都是“小巧”发行版。两者都使用类 BSD 的初始化脚本。Arch 有一个更健壮的包管理系统 pacman。与 Slackware的标准工具不同,这个工具可以很简单的进行系统的自动升级。从发布周期上来说,Slackware 的发布更为保守,更喜欢提供稳定的软件包。在这个方面,Arch 更为“前卫”。Arch 只是 i686和x86_64,而 Slackware 可以运行在i486系统上。两者除了常规的包管理外都有一个ports-like system──(非官方)Slackbuild系统和Arch Build System (ABS)十分相似,而后者更为自动化点。对于想得到更健壮的包管理或更多最近的包的 Slack用户,Arch 是个非常不错的系统。<br />
<br />
注意:Slackware项目在它的[http://www.slackware.com/info/ General Info page] 上声明道Slackware"使用-mcpu=i686优化参数可以在i686架构的机器上如P3、P4、和Duron/Athlon获得最佳性能",因此有可能两者都优化得一样很好。<br />
<br />
==Arch 与 其他图形化的发行版==<br />
图形化的发行版之间有许多相同之处,而Arch和他们其中的任何一个都非常的不同。 Arch 是个基于文本和面向命令行的。 如果想真正学习Linux,Arch是个更好的选择。图形化的发行版往往装备有GUI安装器(像Fedora的Anaconda)和GUI的系统配置工具(像Suse的Yast)。特殊的不同之处在下面描述。<br />
<br />
=== Arch 与 Debian===<br />
Arch 比 Debian/迭变 更灵巧,Arch 的一开始安装的软件比较少。Debian追求稳定地运行和演化,也因此导致其软件包结构相对来说更为严谨和复杂,测试周期也较长,也不会象arch一样追新。两者都有强大的社区,但Debian特有的稳定性追求,使得其社区不够开放,新手不容易参与。而且 Arch 对于 GNU 定义的“非自由”(non-free)软件包态度更显宽容。相比Debian,Arch 软件包更加先锋(Arch 的 test 软件一般都比 Debian 的 unstable(不稳定版) 的新!)。两者都能够滚动升级,但Debian Stable为了追求稳定性,更多的是采用固定版本发行。<br />
<br />
=== Arch与 Ubuntu===<br />
Arch 是个为了省力地追新而设计的系统,而Ubuntu是为了更方便好用而设计的系统。所以,如果你喜欢自己定制、喜欢追逐软件最新版本,那么 Arch 更为合适。如果不想浪费太多时间在定制系统上,而是希望能够安装完成之后,少量定制就能满意使用,那么Ubuntu显然更擅长此道。一般而言,开发人员和产品设计人员可能喜欢 Arch 多一点。<br />
<br />
===Arch 与 基于 RPM 的发行版===<br />
RPM格式的软件包可以从很多地方得到,rpm可以非常灵活地处理依赖问题,但也因此导致第三方的包经常存在依赖问题,但目前几乎所有基于rpm的Linux系统都提供了非常完备的软件包管理系统,轻易解决了这个问题。另外,在RedHat 的 RPM 和 OpenSuse的RPM之间也经常造成混淆。<br />
<br />
===Arch 与 Fedora===<br />
Fedora 是 RedHat 发行版的技术前导版,对新技术的采用非常激进(比arch还激进),但也因此会导致很多不稳定。它有个坚实的社区和许多预先创建好的软件包,还有可获得的商业性技术支持。Fedora因为商业的原因,默认是不提供有专利方面限制的软件的。Fedora有图形界面安装。<br />
Arch使用基于ncurses文字界面安装。Fedora的图形界面设计友好。Arch相对Fedora是更为简单的系统,依赖于用户手动配置。Fedora有固定版本发布周期。Arch是滚动升级系统。Arch的设计理念是面向轻量级优雅,而Fedora目的是测试所引入的新技术,所以更加适合直接针对系统的开发人员。<br />
<br />
===Arch 与 Mandriva===<br />
Mandriva因其图形化方面的设置而出名,是非常自动化的发行版。默认使用了多线程下载的软件管理系统,更新上非常快速(arch也可以,安装powerpill就可实现),Mandriva有强大的社区和商业支持,对各种图形界面软件的打包非常专业,总体上优于ubuntu(比如gnome和kde都比ubuntu的稳定并且快速),但营销宣传上比ubuntu弱。和ubuntu类似,适合那些不需要太多定制,太过追新的人群。<br />
<br />
===Arch 与 openSUSE===<br />
openSUSE 一向号称是最漂亮的 Linux 发行版,默认已经把很多东西都配置好了,在美工方面下了很多功夫,对商业软件的支持也很好,而且还提供了一个非常优秀的使社区灵活性大大提高在线打包系统。但 openSUSE 近几年更新速度太慢(为了提高灵活度,openSUSE 已经开始试验滚动升级模式 Tumbleweed),最新的几个版本也不太稳定。和 arch 相比,openSUSE 更类似于 ubuntu。<br />
<br />
==与BSD系列的对比==<br />
===Arch vs FreeBSD===<br />
BSDs 起源于伯克利Unix. http://www.freebsd.org/about.html 因此Freebsd不是一个Linux发行版. 软件可以使用二进制或通过'ports'从源代码安装。BSD自我宣称它不仅仅是一个作为整体上的系统,并且会确认每个被移植到FreeBSD上的程序是否能工作正常。像Arch一样,软件包差不多是最新的。这大概是Arch最有意思的竞争者,因为它也醉心于追逐新软件,并且有一个规模比较可观,才华横溢,活跃和严肃的社区。其中其pkg部分,近似于arch的pacman,其port部分,近似于arch的abs,但好像因为其严谨,而缺乏类似arch的aur的东西。<br />
<br />
===Arch vs NetBSD===<br />
NetBSD名称来源于其发起和发展主要靠网络,它是一个自由,安全并且具有高度可移植性的类UNIX开源操作系统,从64位的Opteron机器和桌面系统到手持和嵌入式设备,它支持超过70种平台,可以说是支持平台最多的一个发行版,但它为了可移植性,不可避免牺牲了部分平台的功力,从而无法充分发挥特定平台的全部潜力。它设计简洁,并且那些高级特性使它同时成为优异的生产和研究环境,它也提供给用户所有的源代码。许多应用程序轻易地可以通过pkgsrc来获得,它就是NetBSD软件包集合。Arch不会像NetBSD那样可以用在那么多的设备上,但是对i686平台它会提供更多的应用程序。而且默认的pkgsrc安装方法是先取得软件包的源码再进行编译,而Arch是直接提供二进制软件包。Arch和NetBSD之间有很多相似之处;它们都使用/etc/rc.conf作为主配置文件,它们非常精简和轻巧,它们都提供ports系统和二进制软件,它们都有活跃,严谨的开发和社区。Arch还从*BSD那里借鉴了它的init系统的概念。<br />
<br />
===Arch vs OpenBSD===<br />
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),它们被开发成在单一的源代码仓库中。<br />
目前BSD系列对硬件支持都集中在服务器,对普通电脑的支持相对落后于Linux,而且,软件交流社区也仍然集中在服务器领域,对桌面用户的交流比较弱势,不太适合桌面用户。<br />
<br />
==与其他的对比==<br />
===Arch 与 Zenwalk===<br />
Zenwalk是从Slackware衍生的,但是它更方便和现代。Arch和Zenwalk一个很大的不同是Zenwalk安装的包是开发者已经选好的。如果你喜欢他们的选择,这会节省你的时间,但如果你想有其他选择,这就成它的不便之处了。<br />
<br />
===Arch vs Gobolinux===<br />
Gobolinux 有一个独特的无为而治的包管理方法。其文件系统被组织成应用程序全部位于 /Programs 目录,并且通过符号链接使用。删除程序X只需 rm -rf /Programs/X http://www.gobolinux.org/index.php?page=at_a_glance<br />
It does not seem to focus on i686 binaries and does allow source-based package installs.<br />
其并不是针对i686平台优化的二进制程序,允许基于源码的软件安装。<br />
<br />
===Arch vs Minix 3===<br />
Arch 是一个拥有现代社区和硬件支持的完整发行版。Minix 3 是一个有一些有趣特性的微小而不稳定的高级研究用操作系统,例如用于 [http://en.wikipedia.org/wiki/Microkernel microkernel]。 http://www.minix3.org/<br />
<br />
===Arch 与 Frugalware===<br />
Arch 基于文本界面并且面向命令行操作, 而 Frugalware 提供了更佳的多语言支持. 同时 Frugalware 也提供了更多的本地化文档. 虽然同样使用 packman, 但是它们的包并不完全兼容. Frugalware 默认不支持 JFS 文件系统. Frugalware 不再基于 Slackware,更像是一个独立的发行版,并且它基于 i686 架构。<br />
<br />
===Arch 与 Rock===<br />
<br />
来自这篇介绍:http://www.rocklinux.org/wiki/About<br />
<br />
ROCK Linux是一个用来打造Linux发行版的灵活的开发工具包,即打造你自己的Linux发行版可用的工具链或框架。这个你也可以参考我们的目标描述。<br />
<br />
如果你不想打造你自己的Linux发行版,而只是对一个具有多用途的好的发行版感兴趣,你或许可以看一下 http://www.rocklinux.org/wiki/Crystal_ROCK<br />
<br />
它是一个作为开发工具而生的发行版。和Arch相比,它有和其他基于源码的发行版一样的问题,如编译所需的时间等。它可以运行在多种处理器上如SPARC, ARM等。<br />
<br />
===Arch 与 T2===<br />
来自FAQ http://www.t2-project.org/faq/<br />
<br />
问题:既然已经有Gentoo了为什么还需要T2?<br />
回答:T2,或者更精确的说,它的前身ROCK Linux,它在1998年就启动了,比Gentoo早几个月,而且比Gentoo更早在freshmeat注册--所以,这个问题如果能反过来问或许更好。<br />
同样,在技术方面T2支持商业强度的开发,坚持目标,交互编译,可选的嵌入式C开发库和多引导系统可选择。T2的包通常不包括任何代码,它是基于key-value的文本文件,这使得包的工作和更新在T2上非常快。<br />
Arch使用为i686优化的二进制包(由于不需要编译所有的东西,所以很快)来和T2竞争。T2在技术实力方面是一个强有力的竞争者。由于它能用于嵌入式设备,它有可能在某些应用方面击败Arch。T2值得关注。</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Arch_compared_to_other_distributions_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=134103
Arch compared to other distributions (简体中文)
2011-03-18T11:35:01Z
<p>Ericcong: /* LFS */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:关于Arch_(简体中文)]]<br />
{{i18n|Arch Compared to Other Distributions}}<br />
<br />
本文总结了 ArchLinux 和其他发行版某些相似点以及不同点。这种问题常被问起,所以有个标准回答显然是不错的主意。请注意:比较 ArchLinux 和其他发行版的最好的办法是安装它,并亲身体验之。<br />
另外,ArchLinux 有个超有爱的用户社区,那里的人们乐于帮助新用户。以下的粗略描述将给您足够的信息量,让您决定 ArchLinux 是否真的适合自己。<br />
<br />
==基于源码的发行版==<br />
===ArchLinux 与 Gentoo===<br />
ArchLinux 提供的是编译好的软件包,因而比 Gentoo 省时。Gentoo 和 ArchLinux 都允许基于二进制和源码两种形式的发布,但是,Gentoo主要是基于源码的而 Arch 主要是基于二进制的。两个都是滚动式平滑更新的发行版。相比 ebuild,PKGBUILD 更容易创建。Gentoo 更加易于编译要移植到特殊架构的软件包。Arch 只是针对 i686 和 x86_64 (以 i586 用户为基础的子项目也开始运作)。<br />
因而,如果你需要更多灵活性,更多的定制,并且不用担心时间问题,gentoo可能是个更好的选择。<br />
<br />
===Arch 与 Sorcerer/Lunar-linux/Sourcemage===<br />
<br />
Sorcerer/Lunar-linux/Sourcemage (SLS)都是基于源码的发行版,它很像Gentoo,它们最开始的时候都是有联系的。SLS使用一套非常简单的脚本文件来创建包描述,使用一个全局配置文件来配置编译过程,这很像Arch的ABS系统。SLS工具提供完全依赖检查(包括处理可选特性)和包的跟踪(删除及升级)。SLS系不提供二进制的包,但是它能很容易的回滚到以前安装的包。<br />
<br />
它的安装包括安装一个基本系统(很像Arch:为i686特别优化,字符界面,ncurses菜单,仅安装核心工具),然后重新编译基本系统(可选)。很明显它们不提供“标准”的WM/DE/DM(窗口管理,桌面环境,桌面管理),在安装时也没有安装X server。但是它们提供一种很简单的方法来安装可选的几个X server(包括X.Org 6.8或7, XFree86)。<br />
SLS的历史非常复杂。关于他的记录可以在这里找到:http://wiki.sourcemage.org/Our_History<br />
<br />
Lunar Linux: http://lunar-linux.org/ <br><br />
SourceMage: http://www.sourcemage.org/ <br><br />
Sorcerer: http://sorcerer.berlios.de/<br />
<br />
==最小化安装系统==<br />
<br />
=== LFS ===<br />
LFS, 是最个性化的系统,她不是一个发行版,只以文档形式存在,文档用于介绍如何构建一个完全个性化的操作系统:首先介绍“如何获取”构建一个最小操作系统所需的软件,然后介绍如何把源码编译为适用的软件(过去一般翻译为“编译”)、打补丁、个性配置,一切的一切,都是从头来过。LFS提供了一个非常经典的构建操作系统方法,是一般学习操作系统的良好工具。<br />
LFS 并不提供软件仓库,也没编译好的软件,有的只是方法。比如手工获取软件的方法,编译和安装的方法,系统软件管理方法。<br />
<br />
ArchLinux 也是很个性化的,但至少是提供了一些基本的软件包,还有编译好的软件,使用了bsd模式配置脚本,一些额外的辅助工具,和强大的软件管理工具[[pacman]],而且还对特定的硬件系统架构进行优化。<br />
ArchLinux 实际上可以看作是一个基于LFS基础上发展出来的系统,因为Judd Vinet也是从头再来构建的 ArchLinux,并用C写了一个软件管理系统。曾有一段时间,ArchLinux 被认为是一个 LFS 外带一个优秀的软件管理系统。<br />
<br />
===Arch 与 Crux===<br />
Arch的灵感来自于Crux。Judd 曾总结过两者的不同:“我在开始 Arch 之前使用的是 Crux。Arch 差不多就是从 Crux 开始的。后来我写了 pacman 和 makepkg 来替换我的 bash pseudo 打包脚本(我在 LFS 上开始创建 Arch)。因此这两个是完全分开的发行版,只是在技术上他们非常相似。比如,我们有依赖支持(正式地),虽然 Crux 有个社团提供其他的特性。CLC 的prt-get 处理基本的依赖逻辑。Crux 可以忽视许多我们必须面对的问题,因为它的软件包是非常有限的,基本上就是除了Per(Crux 的创建者和维护者)使用的以外再没有其他了。<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?pid=133721#p133721 这个论坛的帖子]陈述了一位用户对这两个发行版的观点。<br />
<br />
===Arch 与 Slackware===<br />
Slackware 和 Arch 两者都是“小巧”发行版。两者都使用类 BSD 的初始化脚本。Arch 有一个更健壮的包管理系统 pacman。与 Slackware的标准工具不同,这个工具可以很简单的进行系统的自动升级。从发布周期上来说,Slackware 的发布更为保守,更喜欢提供稳定的软件包。在这个方面,Arch 更为“前卫”。Arch 只是 i686和x86_64,而 Slackware 可以运行在i486系统上。两者除了常规的包管理外都有一个ports-like system──(非官方)Slackbuild系统和Arch Build System (ABS)十分相似,而后者更为自动化点。对于想得到更健壮的包管理或更多最近的包的 Slack用户,Arch 是个非常不错的系统。<br />
<br />
注意:Slackware项目在它的[http://www.slackware.com/info/ General Info page] 上声明道Slackware"使用-mcpu=i686优化参数可以在i686架构的机器上如P3、P4、和Duron/Athlon获得最佳性能",因此有可能两者都优化得一样很好。<br />
<br />
==Arch 与 其他图形化的发行版==<br />
图形化的发行版之间有许多相同之处,而Arch和他们其中的任何一个都非常的不同。 Arch 是个基于文本和面向命令行的。 如果想真正学习Linux,Arch是个更好的选择。图形化的发行版往往装备有GUI安装器(像Fedora的Anaconda)和GUI的系统配置工具(像Suse的Yast)。特殊的不同之处在下面描述。<br />
<br />
=== Arch 与 Debian===<br />
Arch 比 Debian/迭变 更灵巧,Arch 的一开始安装的软件比较少。Debian追求稳定地运行和演化,也因此导致其软件包结构相对来说更为严谨和复杂,测试周期也较长,也不会象arch一样追新。两者都有强大的社区,但Debian特有的稳定性追求,使得其社区不够开放,新手不容易参与。而且 Arch 对于 GNU 定义的“非自由”(non-free)软件包态度更显宽容。相比Debian,Arch 软件包更加先锋(Arch 的 test 软件一般都比 Debian 的 unstable(不稳定版) 的新!)。两者都能够滚动升级,但Debian Stable为了追求稳定性,更多的是采用固定版本发行。<br />
<br />
=== Arch与 Ubuntu===<br />
Arch 是个为了省力地追新而设计的系统,而Ubuntu是为了更方便好用而设计的系统。所以,如果你喜欢自己定制、喜欢追逐软件最新版本,那么 脊梁 更为合适。如果不想浪费太多时间在定制系统上,而是希望能够安装完成之后,少量定制就能满意使用,那么Ubuntu显然更擅长此道。一般而言,开发人员和产品设计人员可能喜欢 Arch 多一点。<br />
<br />
===Arch 与 基于 RPM 的发行版===<br />
RPM格式的软件包可以从很多地方得到,rpm可以非常灵活地处理依赖问题,但也因此导致第三方的包经常存在依赖问题,但目前几乎所有基于rpm的Linux系统都提供了非常完备的软件包管理系统,轻易解决了这个问题。另外,在RedHat 的 RPM 和 OpenSuse的RPM之间也经常造成混淆。<br />
<br />
===Arch 与 Fedora===<br />
Fedora 是 RedHat 发行版的技术前导版,对新技术的采用非常激进(比arch还激进),但也因此会导致很多不稳定。它有个坚实的社区和许多预先创建好的软件包,还有可获得的商业性技术支持。Fedora因为商业的原因,默认是不提供有专利方面限制的软件的。Fedora有图形界面安装。<br />
Arch使用基于ncurses文字界面安装。Fedora的图形界面设计友好。Arch相对Fedora是更为简单的系统,依赖于用户手动配置。Fedora有固定版本发布周期。Arch是滚动升级系统。Arch的设计理念是面向轻量级优雅,而Fedora目的是测试所引入的新技术,所以更加适合直接针对系统的开发人员。<br />
<br />
===Arch 与 Mandriva===<br />
Mandriva因其图形化方面的设置而出名,是非常自动化的发行版。默认使用了多线程下载的软件管理系统,更新上非常快速(arch也可以,安装powerpill就可实现),Mandriva有强大的社区和商业支持,对各种图形界面软件的打包非常专业,总体上优于ubuntu(比如gnome和kde都比ubuntu的稳定并且快速),但营销宣传上比ubuntu弱。和ubuntu类似,适合那些不需要太多定制,太过追新的人群。<br />
<br />
===Arch 与 openSUSE===<br />
openSUSE 一向号称是最漂亮的 Linux 发行版,默认已经把很多东西都配置好了,在美工方面下了很多功夫,对商业软件的支持也很好,而且还提供了一个非常优秀的使社区灵活性大大提高在线打包系统。但 openSUSE 近几年更新速度太慢(为了提高灵活度,openSUSE 已经开始试验滚动升级模式 Tumbleweed),最新的几个版本也不太稳定。和 arch 相比,openSUSE 更类似于 ubuntu。<br />
<br />
==与BSD系列的对比==<br />
===Arch vs FreeBSD===<br />
BSDs 起源于伯克利Unix. http://www.freebsd.org/about.html 因此Freebsd不是一个Linux发行版. 软件可以使用二进制或通过'ports'从源代码安装。BSD自我宣称它不仅仅是一个作为整体上的系统,并且会确认每个被移植到FreeBSD上的程序是否能工作正常。像Arch一样,软件包差不多是最新的。这大概是Arch最有意思的竞争者,因为它也醉心于追逐新软件,并且有一个规模比较可观,才华横溢,活跃和严肃的社区。其中其pkg部分,近似于arch的pacman,其port部分,近似于arch的abs,但好像因为其严谨,而缺乏类似arch的aur的东西。<br />
<br />
===Arch vs NetBSD===<br />
NetBSD名称来源于其发起和发展主要靠网络,它是一个自由,安全并且具有高度可移植性的类UNIX开源操作系统,从64位的Opteron机器和桌面系统到手持和嵌入式设备,它支持超过70种平台,可以说是支持平台最多的一个发行版,但它为了可移植性,不可避免牺牲了部分平台的功力,从而无法充分发挥特定平台的全部潜力。它设计简洁,并且那些高级特性使它同时成为优异的生产和研究环境,它也提供给用户所有的源代码。许多应用程序轻易地可以通过pkgsrc来获得,它就是NetBSD软件包集合。Arch不会像NetBSD那样可以用在那么多的设备上,但是对i686平台它会提供更多的应用程序。而且默认的pkgsrc安装方法是先取得软件包的源码再进行编译,而Arch是直接提供二进制软件包。Arch和NetBSD之间有很多相似之处;它们都使用/etc/rc.conf作为主配置文件,它们非常精简和轻巧,它们都提供ports系统和二进制软件,它们都有活跃,严谨的开发和社区。Arch还从*BSD那里借鉴了它的init系统的概念。<br />
<br />
===Arch vs OpenBSD===<br />
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),它们被开发成在单一的源代码仓库中。<br />
目前BSD系列对硬件支持都集中在服务器,对普通电脑的支持相对落后于Linux,而且,软件交流社区也仍然集中在服务器领域,对桌面用户的交流比较弱势,不太适合桌面用户。<br />
<br />
==与其他的对比==<br />
===Arch 与 Zenwalk===<br />
Zenwalk是从Slackware衍生的,但是它更方便和现代。Arch和Zenwalk一个很大的不同是Zenwalk安装的包是开发者已经选好的。如果你喜欢他们的选择,这会节省你的时间,但如果你想有其他选择,这就成它的不便之处了。<br />
<br />
===Arch vs Gobolinux===<br />
Gobolinux 有一个独特的无为而治的包管理方法。其文件系统被组织成应用程序全部位于 /Programs 目录,并且通过符号链接使用。删除程序X只需 rm -rf /Programs/X http://www.gobolinux.org/index.php?page=at_a_glance<br />
It does not seem to focus on i686 binaries and does allow source-based package installs.<br />
其并不是针对i686平台优化的二进制程序,允许基于源码的软件安装。<br />
<br />
===Arch vs Minix 3===<br />
Arch 是一个拥有现代社区和硬件支持的完整发行版。Minix 3 是一个有一些有趣特性的微小而不稳定的高级研究用操作系统,例如用于 [http://en.wikipedia.org/wiki/Microkernel microkernel]。 http://www.minix3.org/<br />
<br />
===Arch 与 Frugalware===<br />
Arch 基于文本界面并且面向命令行操作, 而 Frugalware 提供了更佳的多语言支持. 同时 Frugalware 也提供了更多的本地化文档. 虽然同样使用 packman, 但是它们的包并不完全兼容. Frugalware 默认不支持 JFS 文件系统. Frugalware 不再基于 Slackware,更像是一个独立的发行版,并且它基于 i686 架构。<br />
<br />
===Arch 与 Rock===<br />
<br />
来自这篇介绍:http://www.rocklinux.org/wiki/About<br />
<br />
ROCK Linux是一个用来打造Linux发行版的灵活的开发工具包,即打造你自己的Linux发行版可用的工具链或框架。这个你也可以参考我们的目标描述。<br />
<br />
如果你不想打造你自己的Linux发行版,而只是对一个具有多用途的好的发行版感兴趣,你或许可以看一下 http://www.rocklinux.org/wiki/Crystal_ROCK<br />
<br />
它是一个作为开发工具而生的发行版。和Arch相比,它有和其他基于源码的发行版一样的问题,如编译所需的时间等。它可以运行在多种处理器上如SPARC, ARM等。<br />
<br />
===Arch 与 T2===<br />
来自FAQ http://www.t2-project.org/faq/<br />
<br />
问题:既然已经有Gentoo了为什么还需要T2?<br />
回答:T2,或者更精确的说,它的前身ROCK Linux,它在1998年就启动了,比Gentoo早几个月,而且比Gentoo更早在freshmeat注册--所以,这个问题如果能反过来问或许更好。<br />
同样,在技术方面T2支持商业强度的开发,坚持目标,交互编译,可选的嵌入式C开发库和多引导系统可选择。T2的包通常不包括任何代码,它是基于key-value的文本文件,这使得包的工作和更新在T2上非常快。<br />
Arch使用为i686优化的二进制包(由于不需要编译所有的东西,所以很快)来和T2竞争。T2在技术实力方面是一个强有力的竞争者。由于它能用于嵌入式设备,它有可能在某些应用方面击败Arch。T2值得关注。</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Arch_package_guidelines_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=126023
Arch package guidelines (简体中文)
2010-12-26T12:28:27Z
<p>Ericcong: /* 打包规则 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:关于Arch_(简体中文)]]<br />
[[Category:软件包管理]]<br />
[[Category:软件包开发]]<br />
[[Category:导航手册]]<br />
{{i18n|Arch Packaging Standards}}<br />
<br />
== 软件包标准 ==<br />
<br />
当为Arch Linux构建软件包时,您应该遵循以下的<strong>软件包指导原则 </strong>, <br />
如果您想贡献你的软件包至Arch Linux时,您应该更加遵循软件包指导原则.<br />
<br />
=== PKGBUILD样例 ===<br />
<pre><br />
# Contributor: Your Name <youremail@domain.com><br />
pkgname=NAME<br />
pkgver=VERSION<br />
pkgrel=1<br />
pkgdesc=""<br />
arch=()<br />
url=""<br />
license=('GPL')<br />
groups=()<br />
depends=()<br />
makedepends=()<br />
provides=()<br />
conflicts=()<br />
replaces=()<br />
backup=()<br />
options=()<br />
install=<br />
source=($pkgname-$pkgver.tar.gz)<br />
noextract=()<br />
md5sums=() #generate with 'makepkg -g'<br />
<br />
build() {<br />
cd "$srcdir/$pkgname-$pkgver"<br />
<br />
./configure --prefix=/usr<br />
make || return 1<br />
make DESTDIR="$pkgdir" install<br />
}<br />
</pre><br />
<br />
===打包规则===<br />
<br />
<ul><br />
<li>'''永远别'''将软件包安装至<code>/usr/local</code></li><br />
<li>在build函数中,在重要的行尽可能的加上 <code><strong>"|| return 1"</strong></code> 以确保该行正确执行。例如:<br />
<pre>patch -Np1 -i ../patchfile.patch || return 1<br />
make || return 1<br />
make DESTDIR=$startdir/pkg install || return 1<br />
</pre><br />
<li><br />
<strong>除非没有就不行,否则绝对不要在你的<code>PKGBUILD</code>中自定义和使用新的变量</strong>,以避免和makepkg本身的变量<strong>冲突</strong>。即便在非用不可的情况下,我们也强烈建议<strong>给自定义变量名前加上下划线</strong> (<code>_</code>)。例如:<br />
<pre>_customvariable=</pre><br />
<br />
AUR无法检测自定义变量的使用,所以无法自动替换自定义变量值。通常这种错误发生在source 变量数组上,比如说:<br />
<pre>http://downloads.sourceforge.net/directxwine/$patchname.$patchver.diff.bz2</pre><br />
这种情况下AUR是无法正确找到下载位置的。<br />
</li><br />
<br />
<li><br />
任何情况下都要<strong>避免</strong>使用<code>/usr/libexec/</code>,而用<code>/usr/lib/${pkgname}/</code>取代。<br />
</li><br />
<li><br />
在包信息文件中的<code>packager</code>字段可以由包构建者可以修改<code>/etc/makepkg.conf</code>文件中有些选项,以实现<strong>自定义</strong>。或者在使用<code>makepkg</code>编译包之前,先直接导出<code>PACKAGER</code>变量:<br />
<pre># export PACKAGER="yourname@your.email"</pre><br />
</li><br />
<li>所有安装过程中所需输出的重要的信息,都可以放到<strong>.install 文件中</strong>.比如说如果某软件包需要扩展的安装步骤才能正常运行,你可以将这些步骤的介绍包含在.install文件中。</li><br />
<li>任何运行该软件包不需要,或者该软件包的通用功能不需要的<strong>可选的依赖</strong>不要加入到depends中,但是要在.install文件中包含相应的提示信息,使之在安装之后输出。比如: "要启用SMB支持,请下载安装Samba 包."</li><br />
<li>在填写<strong>软件包描述(description)</strong>时,请不要使用下定义的方式。比如说, "Nedit is a text editor for X11" 就可以简写为"A text editor for X11". 顺便注意保持descriptions在80个字以内.</li><br />
<li>尽量保持<code>PKGBUILD</code>文件中<strong>每行</strong>不超过100字符。</li><br />
<li>如果可能的话, 从<code>PKGBUILD</code>文件中<strong>去掉空行</strong>(没有设置变量值的行)(如<code>provides</code>、<code>replaces</code>等)</li><br />
<li>通常实践建议按照上文中的<code>PKGBUILD</code>示例<strong>安排各变量顺序</strong>。当然这不是强制性的,当然必须满足<strong>正确的bash语法</strong>.</li><br />
</ul><br />
<br />
<h4>软件包命名</h4><br />
<br />
<ul><br />
<li><br />
软件包应当仅包含<strong>字母或数字</strong>;所有的字母应当保持<strong>小写</strong>.<br />
</li><br />
<li><br />
软件包版本号应当<strong>和作者发行版号保持一致</strong>. 如果需要的话,版本号可以包含字母(比如:nmap的版本就是2.54BETA32)。<br />
<strong>版本号里不能包含连字符</strong>,只能允许字母、数字、下划线、点号。<br />
</li><br />
<br />
<li><br />
Package releases(软件包发行号) 仅用于<strong>特指Arch的软件包</strong>. 这就允许在新版包发布的时候,用户选择新旧不同的版本来编译., <strong>发布号从1开始</strong>. 然后由于软件包可能被修补,<br />
软件包将会被 <strong>重(打包)发布</strong> ,然后<strong>发行号将会增加</strong>。<br />
当新版本发布的时候,发行号(release)自动回到1。<br />
软件包发布标记和<strong>软件包版本标记遵从同样的规则</strong>.<br />
</li> <br />
</ul><br />
<br />
<h4> 目录 </h4><br />
<ul><br />
<li><br />
<strong>配置文件</strong>应该放置到<code>/etc</code> 目录.如果有多个配置文件,可以使用<strong>子目录</strong>,以保持<code>/etc</code> 简洁. 即<code>/etc/{pkgname}/</code>,<code>{pkgname}</code>代表软件包的名称 (或者其他合适的名称, 比如apache使用的就是<code>/etc/httpd/</code>). <br />
</li><br />
<br />
<li><br />
软件包文件应该安装在下列<strong>常用目录</strong>中:<br />
</li> <br />
<br />
<table cellspacing="1" ><br />
<tr><br />
<td><code>/etc</code></td><br />
<td style="padding-left: 1em;"><strong>System-essential</strong>配置文件<br />
</td><br />
</tr><br />
<tr><br />
<td><code>/usr/bin</code></td><br />
<td style="padding-left: 1em;">应用程序可执行代码(二进制文件)</td><br />
</tr><br />
<tr><br />
<td><code>/usr/sbin</code></td><br />
<br />
<td style="padding-left: 1em;">系统可执行代码(二进制文件)</td><br />
</tr><br />
<tr><br />
<td><code>/usr/lib</code></td><br />
<td style="padding-left: 1em;">库文件</td><br />
</tr><br />
<tr><br />
<br />
<td><code>/usr/include</code></td><br />
<td style="padding-left: 1em;">头文件</td><br />
</tr><br />
<tr><br />
<td><code>/usr/lib/{pkg}</code></td><br />
<td style="padding-left: 1em;">模块、插件等</td><br />
</tr><br />
<br />
<tr><br />
<td><code>/usr/share/man</code></td><br />
<td style="padding-left: 1em;">文档手册</td><br />
</tr><br />
<tr><br />
<td><code>/usr/share/{pkg}</code></td><br />
<td style="padding-left: 1em;">应用程序数据</td><br />
<br />
</tr><br />
<tr><br />
<td><code>/etc/{pkg}</code></td><br />
<td style="padding-left: 1em;"><code>{pkg}</code>的单独配置文件</td><br />
</tr><br />
<tr><br />
<td><code>/opt</code></td><br />
<br />
<td style="padding-left: 1em;">大型的独立自包含软件包,比如KDE、Mozilla等</td><br />
</tr><br />
</table><br />
<br />
<li><br />
软件包不应该包含安装到下列目录:<br />
<ul><br />
<li>/dev<br />
<li>/home<br />
<li>/media<br />
<li>/mnt<br />
<li>/proc<br />
<li>/root<br />
<li>/selinux<br />
<li>/sys<br />
<li>/tmp<br />
<li>/var/tmp<br />
</ul><br />
</li> <br />
<br />
</ul><br />
<br />
<h4>[[Makepkg]] 的任务</h4><br />
<br />
<p><br />
当您使用makepkg为您自己构建软件包时,makepkg会自动执行如下功能: <br />
<br />
</p><br />
<br />
<ol><br />
<li><br />
检查软件包的<strong>依赖</strong>和<strong>构建依赖</strong>是否安装 <br />
</li><br />
<li><br />
从服务器中<strong>下载源码</strong>文件<br />
</li><br />
<li><br />
校验源码文件的<strong>完整性</strong><br />
</li><br />
<br />
<li><br />
<strong>解压</strong> 源码文件<br />
</li><br />
<li><br />
打上必要的 <strong>补丁(patch)</strong><br />
</li><br />
<li><br />
<br />
<strong>构建</strong> 软件并以fake root身份安装<br />
</li><br />
<br />
<li><br />
从可执行文件中<strong>去掉</strong>符号标记<br />
</li><br />
<li><br />
从可执行文件中<strong>去掉</strong>调试标记<br />
</li><br />
<br />
<li><br />
从软件包中<strong>去掉</strong> <code>/usr/doc</code>,<br />
<code>/usr/info</code>, <code>/usr/share/doc</code>, and<br />
<code>/usr/share/info</code>目录<br />
</li><br />
<br />
<li><br />
生成<strong>包信息文件</strong>(包含软件包的基本信息)<br />
</li><br />
<br />
<li><br />
<strong>压缩</strong> fake root成为软件包文件(*.pkg.tar.xz)<br />
</li><br />
<li><br />
将生成的软件包文件<strong>保存</strong>在配置的目的目录中(默认在<span title="Current Working Directory" style="border-bottom:1px dotted">当前目录</span>)<br />
</li><br />
<br />
</ol><br />
<br />
===架构===<br />
''arch'' 数组应该包含 ''i686'' 和/或 ''x86_64'' ,取决于软件可以构建的目标架构。也可以使用 ''any'' 生成那些架构无关的包。<br />
<br />
<h4>软件包授权</h4><br />
license数组用于官方仓库中说明软件包的使用授权协议。当然你所制作的包里也可以用。 用法如下:<br />
<ul><br />
<li>我们已经在core仓库创建了一个licenses包,以存储常用的授权协议文件。他们被安装在/usr/share/licenses/common 比如 /usr/share/licenses/common/GPL。如果软件包的授权符合GPL授权协议,此时license变量就可以直接设置成该目录的名称,即:license=('GPL')</li><br />
<li>如果liccenses包不包含你的软件包的授权文件,你必须执行以下几步:<br />
<ol><br />
<li>先将授权协议文件放到 /usr/share/licenses/$pkgname/ 下,比如 /usr/share/licenses/dibfoo/COPYING.</li><br />
<li>如果源代码不包含授权文件,授权协议文件只在其网站上公布。那么就要先把他复制下来,然后像上面那样放置到指定位置(别忘了给个合适的文件名)。<br />
<li>将licenses变量设置为 'custom' 。当然你也可以设置为 'custom:"授权类型"'.</li><br />
</ol></li><br />
<li>一旦某个授权协议在官方仓库(包括[community]仓库)中使用了多次,那该协议应该就很普遍了</li><br />
<li>MIT、BSD、zlib/libpng和Python的授权协议比较特殊。准确说他们不是'通常'所说的授权协议。。由于这几种协议自身规定的可变性,他们这些协议下的每一个软件都可以有他们自己的版权协议。对此我们仍然使用license=MIT之类的写法来定义,同时将软件包自己独立的授权协议放置到/usr/share/licenses/$pkgname/。</li>(此段翻译为译者理解的翻译,未按照原文直译,如果要求较高,建议阅读全文。<译者Athurg注>)<br />
<br />
<li>有些包可能在多个授权协议下发布。这种情况下,可以在license变量数组里包含多个说明。比如说: license=("GPL" "custom:一些商业协议")。 对大多数软件包而言,这些授权协议所适用的情况有多种,同种情况下协议间相互抵制. 当pacman分辨这些软件包时,会将双(多)重协议理解成满足其一即可,而且通常情况下会选择GPL或BSD协议,而忽略其他已经列出来的的授权.</li><br />
<li> (L)GPL拥有很多不一样的版本,对于(L)GPL软件,license中的值对应的关系如下:<br />
<ul><br />
<li>(L)GPL - (L)GPLv2 或其后的版本</li><br />
<li>(L)GPL2 - 仅(L)GPL2</li><br />
<li>(L)GPL3 - (L)GPL3 或其后的版本</li><br />
</ul><br />
</li><br />
</ul><br />
<br />
<h4>提交软件包至AUR</h4><br />
<br />
<p>在提交任何软件包到AUR前,请注意以下内容:</p><br />
<br />
<ol><br />
<li><br />
任何情况下,<strong>一定不要</strong>提交用于编译官方二进制仓库已有软件包的PKGBUILDs ,如果所提交的软件包拥有启用了的扩展特性以及(或者)针对官方包的补丁则例外。如果是这样,应该在pkgname中简单明了表明不同点。比如说:提交一个包含sidebar补丁的screen的PKGBUILD,应该命名为screen-sidebar(或者别的)。 并且在PKGBUILDd <strong>provides</strong>数组变量中加上('screen'),以表示本软件包和官方的screen冲突。<br />
</li><br />
<li><br />
为了保证已提交给AUR包的安全,请<strong>记住</strong>正确填写<code>md5sum</code>字段. <code>md5sum</code>可以用<code>makepkg -g</code>命令生成.<br />
</li><br />
<li><br />
请在<code>PKGBUILD</code>文件顶部按照下列格式<strong>添加一行注释</strong>,注意修饰一下你的 email 地址避免被 spam 骚扰:<br />
<br />
<pre># Contributor: Your Name <your.email></pre><br />
</li><br />
<li><br />
核实软件包的<strong>依赖关系</strong> (例如运行<code>ldd</code>以检测软件包调用的动态链接库).<br />
<br />
TU团队<strong>强烈</strong>建议使用Jason Chu (jason@archlinux.org)所写的<code>namcap</code>工具集,来分析你的软件包. <code>namcap</code>将会告诉你错误的权限、缺失/多余的依赖和其他常规错误。你可以使用<code>pacman</code>安装<code>namcap</code>。<br />
<br />
记住<code>namcap</code>可以既可以用来检测 pkg.tar.gz 文件,也可以用于PKGBUILDs。<br />
</li><br />
<li> <strong>依赖</strong>问题是最常见的打包错误。 Namcap可以协助检测他们,但不一定全对。最好的方法还是查看源代码里面的文档以及程序的发布网站</li><br />
<li>在你的PKGBUILD中'''不要使用<tt>replaces</tt>''',除非你希望重命名你的软件包(。比如''Ethereal'' 更名为''Wireshark''). 如果你仅仅是提供一个已有版本的更迭版, 使用<tt>conflicts</tt> (如果该软件包还被其他包依赖的话还有<tt>provides</tt> ). 主要的不同是: 在同步(-Sy)数据库后,pacman如果遇到含有replace字段的软件包,就会立刻取代已安装的符合replase变量值的软件包,不管他是那个仓库的; 另一方面,<tt>conflicts</tt>仅仅在你手动安装的时候才会去取代相应的包。(此段翻译不甚准确,读者可参阅原文,有志之士望修正)/li><br />
<li><br />
所有上传到AUR的文件应该打包到 <strong>压缩的tar包文件</strong>中,里面是一个目录,包含着<strong><code>PKGBUILD</code></strong>文件的目录和其他<strong>编译所需的添加文件</strong> (补丁,安装文件等)。例如:<br />
<pre>foo/PKGBUILD<br />
foo/foo.install<br />
foo/foo_bar.diff<br />
foo/foo.rc.conf</pre><br />
压缩包的文件名应该包含软件包的名称,例如:foo.tar.gz<br />
<br />
压缩包<strong>不应该</strong>包含由makepkg创建的二进制包,也不应该包含到文件列表中<br />
</li><br />
<br />
</ol><br />
<br />
== 特殊包补充手册 ==<br />
请先阅读上面的手册—— 大多数的重点内容都在此页上面部分列出来了,他们将不会在下面这些手册中重复出现。这些特殊的手册是为了作为一些特殊类型的包的补充手册,而不是取代本手册。<br />
<br />
=== CVS/SVN 包===<br />
参阅 [[Arch CVS & SVN PKGBUILD guidelines]]<br />
<br />
=== Gnome 包 === <br />
参阅 [[Gnome package guidelines]]<br />
<br />
=== Haskell 包 === <br />
参阅 [[Haskell package guidelines]]<br />
<br />
=== Java 包 === <br />
参阅 [[Java 打包向导]]<br />
<br />
=== Lisp 包 ===<br />
参阅 [[Lisp Package Guidelines]]<br />
<br />
=== Perl 包 ===<br />
参阅 [[Perl Package Guidelines]]<br />
<br />
=== Wine 包 ===<br />
参阅 [[Arch wine PKGBUILD guidelines]]<br />
<br />
=== 内核模块包 ===<br />
参阅 [[Kernel Module Package Guidelines]]</div>
Ericcong
https://wiki.archlinux.org/index.php?title=IRC_channels&diff=125977
IRC channels
2010-12-25T19:27:53Z
<p>Ericcong: /* International IRC Channels */</p>
<hr />
<div>[[Category:Website Resources]]<br />
{{i18n|IRC Channels}}<br />
== Official IRC Channels ==<br />
You can find official Arch-related discussion on the following Internet Relay Chat (IRC) channels, located at the '''[irc://irc.freenode.net irc.freenode.net]''' IRC network:<br />
{|<br />
|-<br />
| '''#archlinux'''<br />
| The main discussion channel, mostly in English<br />
|-<br />
| '''#archlinux64'''<br />
| x86_64 specific discussion channel, mostly in English<br />
|-<br />
| '''#archlinux-bugs'''<br />
| Bug-centric discussion<br />
|-<br />
| '''#archlinux-offtopic'''<br />
| Random offtopic discussions.<br />
|-<br />
| '''#archlinux-pacman'''<br />
| Pacman development and discussion<br />
|-<br />
| '''#archlinux-multilib'''<br />
| Arch Linux Multilib Project discussion and packaging<br />
|}<br />
<br />
== International IRC Channels ==<br />
International discussions are available at the following channels, also located at the '''[irc://irc.freenode.net irc.freenode.net]''' IRC network:<br />
<br />
{|<br />
|-<br />
| '''#archlinux-br'''<br />
| Discussion (Brazilian)<br />
|-<br />
| '''#archlinux-cr'''<br />
| Discussion (Costa Rica)<br />
|-<br />
| '''#archlinux-cn'''<br />
| Discussion (Chinese)<br />
|-<br />
| '''#arch-cn'''<br />
| Discussion (Chinese), on '''[irc://irc.oftc.net irc.oftc.net]'''<br />
|-<br />
| '''#archlinux.de'''<br />
| Discussion (German)<br />
|-<br />
| '''#archlinux.dk'''<br />
| Discussion (Danish)<br />
|-<br />
| '''#archlinux-greece'''<br />
| Discussion (Greek)<br />
|-<br />
| '''#archlinux-es'''<br />
| Discussion (Spanish)<br />
|-<br />
| '''#archlinux-fr'''<br />
| Discussion (French)<br />
|-<br />
| '''#archlinux-gaelic'''<br />
| Discussion (Gaelic)<br />
|-<br />
| '''#archlinux.hu'''<br />
| Discussion (Hungarian)<br />
|-<br />
| '''#archlinux-ir'''<br />
| Discussion (Persian)<br />
|-<br />
| '''#archlinux.it'''<br />
| Discussion (Italian)<br />
|-<br />
| '''#archlinux.pl'''<br />
| Discussion (Polish)<br />
|-<br />
| '''#archlinux.ro'''<br />
| Discussion (Romanian)<br />
|-<br />
| '''#archlinux-rs'''<br />
| Discussion (Serbian)<br />
|-<br />
| '''#archlinux.se'''<br />
| Discussion (Swedish)<br />
|-<br />
| '''#archlinux.tr'''<br />
| Discussion (Turkish)<br />
|-<br />
| '''#archlinux-il'''<br />
| Discussion (Hebrew)<br />
|-<br />
| '''#archlinux.fi'''<br />
| Discussion (Finnish)<br />
|}<br />
<br />
== Related Pages ==<br />
* [[Arch Around the World]]<br />
* [[International Communities]]<br />
* [[IRC_Channel]]</div>
Ericcong
https://wiki.archlinux.org/index.php?title=IRC_channels&diff=125976
IRC channels
2010-12-25T19:27:35Z
<p>Ericcong: /* International IRC Channels */</p>
<hr />
<div>[[Category:Website Resources]]<br />
{{i18n|IRC Channels}}<br />
== Official IRC Channels ==<br />
You can find official Arch-related discussion on the following Internet Relay Chat (IRC) channels, located at the '''[irc://irc.freenode.net irc.freenode.net]''' IRC network:<br />
{|<br />
|-<br />
| '''#archlinux'''<br />
| The main discussion channel, mostly in English<br />
|-<br />
| '''#archlinux64'''<br />
| x86_64 specific discussion channel, mostly in English<br />
|-<br />
| '''#archlinux-bugs'''<br />
| Bug-centric discussion<br />
|-<br />
| '''#archlinux-offtopic'''<br />
| Random offtopic discussions.<br />
|-<br />
| '''#archlinux-pacman'''<br />
| Pacman development and discussion<br />
|-<br />
| '''#archlinux-multilib'''<br />
| Arch Linux Multilib Project discussion and packaging<br />
|}<br />
<br />
== International IRC Channels ==<br />
International discussions are available at the following channels, also located at the '''[irc://irc.freenode.net irc.freenode.net]''' IRC network:<br />
<br />
{|<br />
|-<br />
| '''#archlinux-br'''<br />
| Discussion (Brazilian)<br />
|-<br />
| '''#archlinux-cr'''<br />
| Discussion (Costa Rica)<br />
|-<br />
| '''#archlinux-cn'''<br />
| Discussion (Chinese)<br />
|-<br />
|-<br />
| '''#arch-cn'''<br />
| Discussion (Chinese), on '''[irc://irc.oftc.net irc.oftc.net]'''<br />
|-<br />
| '''#archlinux.de'''<br />
| Discussion (German)<br />
|-<br />
| '''#archlinux.dk'''<br />
| Discussion (Danish)<br />
|-<br />
| '''#archlinux-greece'''<br />
| Discussion (Greek)<br />
|-<br />
| '''#archlinux-es'''<br />
| Discussion (Spanish)<br />
|-<br />
| '''#archlinux-fr'''<br />
| Discussion (French)<br />
|-<br />
| '''#archlinux-gaelic'''<br />
| Discussion (Gaelic)<br />
|-<br />
| '''#archlinux.hu'''<br />
| Discussion (Hungarian)<br />
|-<br />
| '''#archlinux-ir'''<br />
| Discussion (Persian)<br />
|-<br />
| '''#archlinux.it'''<br />
| Discussion (Italian)<br />
|-<br />
| '''#archlinux.pl'''<br />
| Discussion (Polish)<br />
|-<br />
| '''#archlinux.ro'''<br />
| Discussion (Romanian)<br />
|-<br />
| '''#archlinux-rs'''<br />
| Discussion (Serbian)<br />
|-<br />
| '''#archlinux.se'''<br />
| Discussion (Swedish)<br />
|-<br />
| '''#archlinux.tr'''<br />
| Discussion (Turkish)<br />
|-<br />
| '''#archlinux-il'''<br />
| Discussion (Hebrew)<br />
|-<br />
| '''#archlinux.fi'''<br />
| Discussion (Finnish)<br />
|}<br />
<br />
== Related Pages ==<br />
* [[Arch Around the World]]<br />
* [[International Communities]]<br />
* [[IRC_Channel]]</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Groups_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=125937
Groups (简体中文)
2010-12-24T15:59:42Z
<p>Ericcong: </p>
<hr />
<div>{{i18n|Groups}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|本文描述了如何用系统的核心管理工具来添加、删除以及合并用户组。有些[[桌面环境]]提供了图形化的 用户/组 管理工具,不过本文不会讨论它们。}}<br />
{{Article summary heading|综述}}<br />
{{Article summary text|用户和组在GNU/Linux中被用来设置访问控制。超级用户(root)有对系统及其配置有完整的权限;最好只给管理系统的人用。非特权用户可以用su和sudo程序来获得特权。}}<br />
{{Article summary end}}<br />
<br />
{{Filename|/etc/group}} 这个文件定义了系统中的组(可以使用{{Codeline|man group}}命令查看详细)。<br />
本文提供了一个通用组及其用途的列表,并且提供了一些操作组的命令。<br />
<br />
==有用的组==<br />
可以把非root用户添加到下面的组里,以便获得访问外部设备或其他硬件的权限。<br />
<br />
* '''audio''' - 访问声音硬件<br />
* '''floppy''' - 访问软盘驱动器 (如果有的话)<br />
* '''lp''' - 处理打印工作<br />
* '''optical''' - 访问光学设备,比如CD或者DVD驱动器(例如播放音频CD)<br />
* '''power''' - 设置电源选项 (比如用电源键关机)<br />
* '''storage''' - 访问储存设备<br />
* '''video''' - 访问视频捕获和硬件加速设备<br />
* '''wheel''' - [[sudo]] 权限<br />
<br />
==组列表==<br />
{| border="1" <br />
|+ 一个描述组和他们的用途的列表 (按字母序排列)<br />
! 组 || 影响的文件 || 用途<br />
|-<br />
| adm || /var/log/* || 读取 /var/log 目录下的日志<br />
|-<br />
| audio || /dev/sound/*, /dev/snd/*, /dev/misc/rtc0 || 访问声音硬件<br />
|-<br />
| avahi || ||<br />
|-<br />
| bin || /usr/bin/* || 对于root用户来说,给予读取、运行、修改二进制文件的权利;对于普通用户,则是读取和运行的权利<br />
|-<br />
| camera || || 访问 [[数码相机]].<br />
|-<br />
| clamav || /var/lib/clamav/*, /var/log/clamav/* ||<br />
|-<br />
| daemon || ||<br />
|-<br />
| dbus || /var/run/dbus ||<br />
|-<br />
| disk || /dev/sda[1-9], /dev/sdb[1-9], /dev/hda[1-9], etc || 访问储存设备,不受其他组影响。<br />
|-<br />
| floppy || /dev/fd[0-9] || 访问软盘驱动器。<br />
|-<br />
| ftp || /srv/ftp ||<br />
|-<br />
| games || /var/games || 访问一些游戏。<br />
|-<br />
| gdm || ||<br />
|-<br />
| hal || /var/run/hald, /var/cache/hald ||<br />
|-<br />
| http || ||<br />
|-<br />
| kmem || /dev/port, /dev/mem, /dev/kmem ||<br />
|-<br />
| locate || /usr/bin/locate, /var/lib/locate, /var/lib/slocate, /var/lib/mlocate || 使用updatedb的权限<br />
|-<br />
| log || /var/log/* || 访问 /var/log 中的日志<br />
|-<br />
| lp || /etc/cups, /var/log/cups, /var/cache/cups, /var/spool/cups || 访问打印设备<br />
|-<br />
| mem || || <br />
|-<br />
| mail || /usr/bin/mail ||<br />
|-<br />
| network || || 改变网络设置的权限,比如使用 [[Networkmanager]] 的权限.<br />
|-<br />
| networkmanager || || 通过 [[Networkmanager]] 连接无线网的权限。这个组在默认的Arch设置里没有,需要手动添加。<br />
|-<br />
| nobody || || 非特权组.<br />
|-<br />
| ntp || || <br />
|-<br />
| optical || /dev/sr[0-9], /dev/sg[0-9] || 访问光学设备,比如CD,DVD啥的<br />
|-<br />
| policykit || || <br />
|-<br />
| power || || 使用 [[Pm-utils|suspend]] <br />
|-<br />
| rfkill || || <br />
|-<br />
| root || /* -- ALL FILES! || 完全的系统控制 (root, admin)<br />
|-<br />
| scanner || /var/lock/sane || 访问扫描仪<br />
|-<br />
| smmsp || || sendmail组<br />
|-<br />
| storage || || 访问可移动储存器<br />
|-<br />
| stb-admin || || <br />
|-<br />
| sys || || Right to admin printers in CUPS.<br />
|-<br />
| thinkpad || /dev/misc/nvram || thinkpad用户使用 [[tpb]] 的权限<br />
|-<br />
| tty || /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx ||<br />
|-<br />
| users || || 标准用户组<br />
|-<br />
| uucp || /dev/ttyS[0-9] /dev/tts/[0-9] || 访问串行或者个usb口<br />
|-<br />
| vboxusers || /dev/vboxdrv || 使用Virtualbox软件<br />
|-<br />
| video || /dev/fb/0, /dev/misc/agpgart || 访问视频捕获和硬件加速设备。<br />
|-<br />
| vmware || || 使用VMWare软件.<br />
|-<br />
| wheel || || 使用 [[sudo]] (setup with visudo) 的权限, 也作用于 PAM<br />
|}</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Groups_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=125936
Groups (简体中文)
2010-12-24T15:53:52Z
<p>Ericcong: </p>
<hr />
<div>{{i18n|Groups}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|本文描述了如何用系统的核心管理工具来添加、删除以及合并用户组。有些[[桌面环境]]提供了图形化的 用户/组 管理工具,不过本文不会讨论它们。}}<br />
{{Article summary heading|综述}}<br />
{{Article summary text|用户和组在GNU/Linux中被用来设置访问控制。超级用户(root)有对系统及其配置有完整的权限;最好只给管理系统的人用。非特权用户可以用su和sudo程序来获得特权。}}<br />
{{Article summary end}}<br />
<br />
{{Filename|/etc/group}} 这个文件定义了系统中的组(可以使用{{Codeline|man group}}命令查看详细)。<br />
本文提供了一个通用组及其用途的列表,并且提供了一些操作组的命令。<br />
<br />
==有用的组==<br />
可以把非root用户添加到下面的组里,以便获得访问外部设备或其他硬件的权限。<br />
<br />
* '''audio''' - 访问声音硬件<br />
* '''floppy''' - 访问软盘驱动器 (如果有的话)<br />
* '''lp''' - 处理打印工作<br />
* '''optical''' - 访问光学设备,比如CD或者DVD驱动器(例如播放音频CD)<br />
* '''power''' - 设置电源选项 (比如用电源键关机)<br />
* '''storage''' - 访问储存设备<br />
* '''video''' - 访问视频捕获和硬件加速设备<br />
* '''wheel''' - [[sudo]] 权限<br />
<br />
==组列表==<br />
{| border="1" <br />
|+ 一个描述组和他们的用途的列表 (按字母序排列)<br />
! 组 || 影响的文件 || 用途<br />
|-<br />
| adm || /var/log/* || 读取 /var/log 目录下的日志<br />
|-<br />
| audio || /dev/sound/*, /dev/snd/*, /dev/misc/rtc0 || 访问声音硬件<br />
|-<br />
| avahi || ||<br />
|-<br />
| bin || /usr/bin/* || 对于root用户来说,给予读取、运行、修改二进制文件的权利;对于普通用户,则是读取和运行的权利<br />
|-<br />
| camera || || 访问 [[数码相机]].<br />
|-<br />
| clamav || /var/lib/clamav/*, /var/log/clamav/* ||<br />
|-<br />
| daemon || ||<br />
|-<br />
| dbus || /var/run/dbus ||<br />
|-<br />
| disk || /dev/sda[1-9], /dev/sdb[1-9], /dev/hda[1-9], etc || 访问储存设备,不受其他组影响。<br />
|-<br />
| floppy || /dev/fd[0-9] || 访问软盘驱动器。<br />
|-<br />
| ftp || /srv/ftp ||<br />
|-<br />
| games || /var/games || 访问一些游戏。<br />
|-<br />
| gdm || ||<br />
|-<br />
| hal || /var/run/hald, /var/cache/hald ||<br />
|-<br />
| http || ||<br />
|-<br />
| kmem || /dev/port, /dev/mem, /dev/kmem ||<br />
|-<br />
| locate || /usr/bin/locate, /var/lib/locate, /var/lib/slocate, /var/lib/mlocate || 使用updatedb的权限<br />
|-<br />
| log || /var/log/* || 访问 /var/log 中的日志<br />
|-<br />
| lp || /etc/cups, /var/log/cups, /var/cache/cups, /var/spool/cups || 访问打印设备<br />
|-<br />
| mem || || <br />
|-<br />
| mail || /usr/bin/mail ||<br />
|-<br />
| network || || Right to change network settings such as when using a [[Networkmanager]].<br />
|-<br />
| networkmanager || || Requirement for your user to connect wirelessly with [[Networkmanager]]. This group is not included with Arch by default so it must be added manually.<br />
|-<br />
| nobody || || Unprivileged group.<br />
|-<br />
| ntp || || <br />
|-<br />
| optical || /dev/sr[0-9], /dev/sg[0-9] || Access to optical devices such as CD,CD-R,DVD,DVD-R.<br />
|-<br />
| policykit || || <br />
|-<br />
| power || || Right to use [[Pm-utils|suspend]] utils.<br />
|-<br />
| rfkill || || <br />
|-<br />
| root || /* -- ALL FILES! || Complete system administration and control (root, admin)<br />
|-<br />
| scanner || /var/lock/sane || Access to scanner hardware.<br />
|-<br />
| smmsp || || sendmail group<br />
|-<br />
| storage || || Access to removable drives such as USB harddrives,flash/jump drives,mp3 players.<br />
|-<br />
| stb-admin || || <br />
|-<br />
| sys || || Right to admin printers in CUPS.<br />
|-<br />
| thinkpad || /dev/misc/nvram || Right for thinkpad users using tools such as [[tpb]].<br />
|-<br />
| tty || /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx ||<br />
|-<br />
| users || || Standard users group.<br />
|-<br />
| uucp || /dev/ttyS[0-9] /dev/tts/[0-9] || Serial & USB devices such as modems,handhelds,RS232/serial ports.<br />
|-<br />
| vboxusers || /dev/vboxdrv || Right to use Virtualbox software.<br />
|-<br />
| video || /dev/fb/0, /dev/misc/agpgart || Access to video capture devices, DRI/3D hardware acceleration.<br />
|-<br />
| vmware || || Right to use VMware software.<br />
|-<br />
| wheel || || Right to use [[sudo]] (setup with visudo), Also affected by PAM<br />
|}</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Groups_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=125935
Groups (简体中文)
2010-12-24T15:50:54Z
<p>Ericcong: </p>
<hr />
<div>{{i18n|Groups}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|本文描述了如何用系统的核心管理工具来添加、删除以及合并用户组。有些[[桌面环境]]提供了图形化的 用户/组 管理工具,不过本文不会讨论它们。}}<br />
{{Article summary heading|综述}}<br />
{{Article summary text|{{Access control overview}}}}<br />
{{Article summary end}}<br />
<br />
{{Filename|/etc/group}} 这个文件定义了系统中的组(可以使用{{Codeline|man group}}命令查看详细)。<br />
本文提供了一个通用组及其用途的列表,并且提供了一些操作组的命令。<br />
<br />
==有用的组==<br />
可以把非root用户添加到下面的组里,以便获得访问外部设备或其他硬件的权限。<br />
<br />
* '''audio''' - 访问声音硬件<br />
* '''floppy''' - 访问软盘驱动器 (如果有的话)<br />
* '''lp''' - 处理打印工作<br />
* '''optical''' - 访问光学设备,比如CD或者DVD驱动器(例如播放音频CD)<br />
* '''power''' - 设置电源选项 (比如用电源键关机)<br />
* '''storage''' - 访问储存设备<br />
* '''video''' - 访问视频捕获和硬件加速设备<br />
* '''wheel''' - [[sudo]] 权限<br />
<br />
==组列表==<br />
{| border="1" <br />
|+ 一个描述组和他们的用途的列表 (按字母序排列)<br />
! 组 || 影响的文件 || 用途<br />
|-<br />
| adm || /var/log/* || 读取 /var/log 目录下的日志<br />
|-<br />
| audio || /dev/sound/*, /dev/snd/*, /dev/misc/rtc0 || 访问声音硬件<br />
|-<br />
| avahi || ||<br />
|-<br />
| bin || /usr/bin/* || 对于root用户来说,给予读取、运行、修改二进制文件的权利;对于普通用户,则是读取和运行的权利<br />
|-<br />
| camera || || 访问 [[数码相机]].<br />
|-<br />
| clamav || /var/lib/clamav/*, /var/log/clamav/* ||<br />
|-<br />
| daemon || ||<br />
|-<br />
| dbus || /var/run/dbus ||<br />
|-<br />
| disk || /dev/sda[1-9], /dev/sdb[1-9], /dev/hda[1-9], etc || 访问储存设备,不受其他组影响。<br />
|-<br />
| floppy || /dev/fd[0-9] || 访问软盘驱动器。<br />
|-<br />
| ftp || /srv/ftp ||<br />
|-<br />
| games || /var/games || 访问一些游戏。<br />
|-<br />
| gdm || ||<br />
|-<br />
| hal || /var/run/hald, /var/cache/hald ||<br />
|-<br />
| http || ||<br />
|-<br />
| kmem || /dev/port, /dev/mem, /dev/kmem ||<br />
|-<br />
| locate || /usr/bin/locate, /var/lib/locate, /var/lib/slocate, /var/lib/mlocate || 使用updatedb的权限<br />
|-<br />
| log || /var/log/* || 访问 /var/log 中的日志<br />
|-<br />
| lp || /etc/cups, /var/log/cups, /var/cache/cups, /var/spool/cups || 访问打印设备<br />
|-<br />
| mem || || <br />
|-<br />
| mail || /usr/bin/mail ||<br />
|-<br />
| network || || Right to change network settings such as when using a [[Networkmanager]].<br />
|-<br />
| networkmanager || || Requirement for your user to connect wirelessly with [[Networkmanager]]. This group is not included with Arch by default so it must be added manually.<br />
|-<br />
| nobody || || Unprivileged group.<br />
|-<br />
| ntp || || <br />
|-<br />
| optical || /dev/sr[0-9], /dev/sg[0-9] || Access to optical devices such as CD,CD-R,DVD,DVD-R.<br />
|-<br />
| policykit || || <br />
|-<br />
| power || || Right to use [[Pm-utils|suspend]] utils.<br />
|-<br />
| rfkill || || <br />
|-<br />
| root || /* -- ALL FILES! || Complete system administration and control (root, admin)<br />
|-<br />
| scanner || /var/lock/sane || Access to scanner hardware.<br />
|-<br />
| smmsp || || sendmail group<br />
|-<br />
| storage || || Access to removable drives such as USB harddrives,flash/jump drives,mp3 players.<br />
|-<br />
| stb-admin || || <br />
|-<br />
| sys || || Right to admin printers in CUPS.<br />
|-<br />
| thinkpad || /dev/misc/nvram || Right for thinkpad users using tools such as [[tpb]].<br />
|-<br />
| tty || /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx ||<br />
|-<br />
| users || || Standard users group.<br />
|-<br />
| uucp || /dev/ttyS[0-9] /dev/tts/[0-9] || Serial & USB devices such as modems,handhelds,RS232/serial ports.<br />
|-<br />
| vboxusers || /dev/vboxdrv || Right to use Virtualbox software.<br />
|-<br />
| video || /dev/fb/0, /dev/misc/agpgart || Access to video capture devices, DRI/3D hardware acceleration.<br />
|-<br />
| vmware || || Right to use VMware software.<br />
|-<br />
| wheel || || Right to use [[sudo]] (setup with visudo), Also affected by PAM<br />
|}</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Groups_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=125934
Groups (简体中文)
2010-12-24T15:50:29Z
<p>Ericcong: Created page with "{{i18n|Groups}} {{Article summary 摘要}} {{Article summary text|本文描述了如何用系统的核心管理工具来添加、删除以及合并用户组。有些[[桌面环..."</p>
<hr />
<div>{{i18n|Groups}}<br />
<br />
{{Article summary 摘要}}<br />
{{Article summary text|本文描述了如何用系统的核心管理工具来添加、删除以及合并用户组。有些[[桌面环境]]提供了图形化的 用户/组 管理工具,不过本文不会讨论它们。}}<br />
{{Article summary heading|综述}}<br />
{{Article summary text|{{Access control overview}}}}<br />
{{Article summary end}}<br />
<br />
{{Filename|/etc/group}} 这个文件定义了系统中的组(可以使用{{Codeline|man group}}命令查看详细)。<br />
本文提供了一个通用组及其用途的列表,并且提供了一些操作组的命令。<br />
<br />
==有用的组==<br />
可以把非root用户添加到下面的组里,以便获得访问外部设备或其他硬件的权限。<br />
<br />
* '''audio''' - 访问声音硬件<br />
* '''floppy''' - 访问软盘驱动器 (如果有的话)<br />
* '''lp''' - 处理打印工作<br />
* '''optical''' - 访问光学设备,比如CD或者DVD驱动器(例如播放音频CD)<br />
* '''power''' - 设置电源选项 (比如用电源键关机)<br />
* '''storage''' - 访问储存设备<br />
* '''video''' - 访问视频捕获和硬件加速设备<br />
* '''wheel''' - [[sudo]] 权限<br />
<br />
==组列表==<br />
{| border="1" <br />
|+ 一个描述组和他们的用途的列表 (按字母序排列)<br />
! 组 || 影响的文件 || 用途<br />
|-<br />
| adm || /var/log/* || 读取 /var/log 目录下的日志<br />
|-<br />
| audio || /dev/sound/*, /dev/snd/*, /dev/misc/rtc0 || 访问声音硬件<br />
|-<br />
| avahi || ||<br />
|-<br />
| bin || /usr/bin/* || 对于root用户来说,给予读取、运行、修改二进制文件的权利;对于普通用户,则是读取和运行的权利<br />
|-<br />
| camera || || 访问 [[数码相机]].<br />
|-<br />
| clamav || /var/lib/clamav/*, /var/log/clamav/* ||<br />
|-<br />
| daemon || ||<br />
|-<br />
| dbus || /var/run/dbus ||<br />
|-<br />
| disk || /dev/sda[1-9], /dev/sdb[1-9], /dev/hda[1-9], etc || 访问储存设备,不受其他组影响。<br />
|-<br />
| floppy || /dev/fd[0-9] || 访问软盘驱动器。<br />
|-<br />
| ftp || /srv/ftp ||<br />
|-<br />
| games || /var/games || 访问一些游戏。<br />
|-<br />
| gdm || ||<br />
|-<br />
| hal || /var/run/hald, /var/cache/hald ||<br />
|-<br />
| http || ||<br />
|-<br />
| kmem || /dev/port, /dev/mem, /dev/kmem ||<br />
|-<br />
| locate || /usr/bin/locate, /var/lib/locate, /var/lib/slocate, /var/lib/mlocate || 使用updatedb的权限<br />
|-<br />
| log || /var/log/* || 访问 /var/log 中的日志<br />
|-<br />
| lp || /etc/cups, /var/log/cups, /var/cache/cups, /var/spool/cups || 访问打印设备<br />
|-<br />
| mem || || <br />
|-<br />
| mail || /usr/bin/mail ||<br />
|-<br />
| network || || Right to change network settings such as when using a [[Networkmanager]].<br />
|-<br />
| networkmanager || || Requirement for your user to connect wirelessly with [[Networkmanager]]. This group is not included with Arch by default so it must be added manually.<br />
|-<br />
| nobody || || Unprivileged group.<br />
|-<br />
| ntp || || <br />
|-<br />
| optical || /dev/sr[0-9], /dev/sg[0-9] || Access to optical devices such as CD,CD-R,DVD,DVD-R.<br />
|-<br />
| policykit || || <br />
|-<br />
| power || || Right to use [[Pm-utils|suspend]] utils.<br />
|-<br />
| rfkill || || <br />
|-<br />
| root || /* -- ALL FILES! || Complete system administration and control (root, admin)<br />
|-<br />
| scanner || /var/lock/sane || Access to scanner hardware.<br />
|-<br />
| smmsp || || sendmail group<br />
|-<br />
| storage || || Access to removable drives such as USB harddrives,flash/jump drives,mp3 players.<br />
|-<br />
| stb-admin || || <br />
|-<br />
| sys || || Right to admin printers in CUPS.<br />
|-<br />
| thinkpad || /dev/misc/nvram || Right for thinkpad users using tools such as [[tpb]].<br />
|-<br />
| tty || /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx ||<br />
|-<br />
| users || || Standard users group.<br />
|-<br />
| uucp || /dev/ttyS[0-9] /dev/tts/[0-9] || Serial & USB devices such as modems,handhelds,RS232/serial ports.<br />
|-<br />
| vboxusers || /dev/vboxdrv || Right to use Virtualbox software.<br />
|-<br />
| video || /dev/fb/0, /dev/misc/agpgart || Access to video capture devices, DRI/3D hardware acceleration.<br />
|-<br />
| vmware || || Right to use VMware software.<br />
|-<br />
| wheel || || Right to use [[sudo]] (setup with visudo), Also affected by PAM<br />
|}</div>
Ericcong
https://wiki.archlinux.org/index.php?title=ArchLinux_%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=116438
ArchLinux 新手指南 (简体中文)
2010-09-05T07:07:58Z
<p>Ericcong: /* 三、开始安装 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:获取并安装Arch (简体中文)]]<br />
[[Category:关于Arch_(简体中文)]]<br />
[[Category:HOWTOs (简体中文)]]<br />
{{i18n|Beginners' Guide}}<br />
{{Article summary start}}<br />
{{Article summary text|本文针对新手,提供了极其详尽的Archlinux的安装过程向导,和相关的简要说明。}}<br />
{{Article summary heading|相关文章}}<br />
{{Article summary wiki|Arch 官方安装指南 (简体中文)}}(更通用的安装方式)<br />
{{Article summary wiki|ArchLinux新手指南附录 (简体中文)}}<br />
{{Article summary wiki|ArchLinux安装完后的小技巧 (简体中文)}}<br />
{{Article summary wiki|好用的应用程序 (简体中文)}}<br />
{{Article summary wiki|Work and Play with Arch (Chinese)}}<br />
{{Article summary end}}<br />
<br />
==前言==<br />
<br />
=====所有你一直想知道的关于安装Arch的事=====<br />
这篇文档将会指导你安装和配置[[ArchLinux (简体中文)|Arch Linux]] ── 一个简洁、轻量级的GNU/Linux发行版,一个类<code>UNIX</code>的操作系统。本文是面向Arch新用户,因此尽力为所有人提供强大的参考资料和信息。本指南讲述该如何获得一个基本配置好的Arch Linux系统(拥有一个图形桌面环境),但显然是不可能涵盖(甚至是预见)所有的信息。因此本指南会专注于某些关键性的步骤,想要进一步深入了解你可以查看[[Main Page (简体中文)|Arch Linux Wiki]]或者[http://bbs.archlinux.org/ Arch Linux论坛]。同时有兴趣的话你还可以了解一下[[Arch 之道 (简体中文)|Arch 之道]],它概述了Arch Linux发行版背后的哲学思想。<br />
<br />
'''Arch Linux的相关特性:'''<br />
* 类Unix式的简古纯粹设计哲学('''[[The Arch Way | Simple]]''' UNIX-like design and philosophy)<br />
* 针对有一定经验的GNU/Linux用户开发的社区发行版(Community distro targeted at competent GNU/Linux users)<br />
* 所有的软件包都是为''i686/x86_64''所专门编译的<br />
* 从底层开始就允许用户高度定制<br />
* BSD风格的启动脚本和一个可以集中管理的配置文件('''[[The Arch boot process | BSD-style init]]''' scripts, featuring one centralized configuration file)<br />
* '''滚动升级''' <br />
* '''[[Pacman]]'''是一个用'''C'''写成的包管理器,既小巧又灵活,并且不会占用太多内存<br />
* '''[[ABS]]''': ABS是“ '''A'''rch '''B'''uild '''S'''ystem ”的缩写(“Arch构建系统”), 这是一个类似于ports那样的包构建系统,能让您非常方便地从源代码开始构建您自己的可安装Arch包文件,便于您与[[AUR]]社区分享<br />
* '''[[AUR]]''': AUR是“ Arch User Repository ”的缩写(Arch用户软件库),它提供了数以千计的构建脚本来帮助安装Arch用户们所提供的软件包<br />
<br />
=====别怕(DON'T PANIC)!=====<br />
要知道Arch Linux的安装方法和过程也许会和你所使用过的其它GNU/Linux发行版非常不同,特别你是个新手的话将更能体会到这点。通常,GNU/Linux发行版会在一张或者一堆CD(甚至是DVD)上捆绑了大量的软件,包含了缺省桌面环境、缺省的应用程序和设置、硬件自动检测和图形化的安装程序,一切都是替你选择好了的。相反的,Arch Linux系统是让'''用户自己'''只是用一个bash shell和基本系统工具,从ncurses installer和基础系统上建造起来的。这就是[[Arch 之道 (简体中文)|Arch 之道]]。不象其它大型发行版,它没有强加于用户的缺省环境或者配置。你可以在命令行使用[[pacman (简体中文)|pacman]]通过互联网连接从Arch软件仓库安装软件包,直到你的系统配置成你希望的样子。这给予了用户最大的弹性、选择性和对系统资源的控制。因为是'''你'''建造了它,所以你肯定能了解系统里具体细节,知道底层都有些什么。<br />
<br />
Arch Linux系统是通过编辑文本文件进行配置的,没有提供图形界面的工具,所以需要对系统和linux相对熟悉。<br />
Arch Linux针对的是有能力的GNU/Linux用户以及希望花费时间学习系统知识的用户。 <br />
<br />
''Arch是一个可以被用户塑造的工具。''<br />
<br />
=====授权协议=====<br />
<br />
Arch Linux, pacman, documentation, and scripts are copyright<br />
©2002-2007 by Judd Vinet, ©2007-2008 by Aaron Griffin and are licensed under the GNU General Public License Version 2.<br />
<br />
=====[[Arch 之道 (简体中文)|Arch 之道]]=====<br />
<br />
''''Arch的设计思想是"简古纯粹"(keeping it simple)。''''<br />
<br />
这里的‘朴’不单指‘简单’或者‘用户友好’,而且还是‘没有不必要的增加、修改或者复杂性’。简而言之,即优雅、极简之法。<br />
<br />
'''Some thoughts to keep in mind as you consider simplicity:'''<br />
<br />
*''"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''<br />
<br />
*''"(我的方法中)最超凡的部分是它的纯粹性,我一直相信纯粹的就是对的。" 李小龙(Bruce Lee)''<br />
<br />
*''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.''<br />
<br />
=====关于本指南=====<br />
<br />
* 你也可以将本指南打印出来,作为一个较为有用的Arch Linux用户手册。<br />
*''如果你想在这个wiki里增加内容,请适当描述清楚'''为什么会这样'''以及'''该怎么办'''。最佳的文档应该能教会我们如何做和为什么这么做!''<br />
* Arch的wiki是项优秀的资源,可以[http://wiki.archlinux.org/index.php/Main_Page 第一时间]用来解决日常问题; 如果找不到答案也可以求助IRC(at freenode #archlinux)和[http://bbs.archlinux.org/ 论坛]。<br />
<br />
{{Box Note |仔细遵循本指南是成功安装一个配置正常的Arch Linux系统的基本要点,因此'''请'''认真仔细的阅读本文,强烈建议你在动手实践'''之前'''先完整阅读当前部分段落并理解你需要完成的任务}}<br />
<br />
----<br />
<br />
如同GNU/Linux 发行版从根本上设计成'模块化', 本指南按照类UNIX桌面操作系统的四大组件,划分为四个部分: <br />
<br />
'''[[#第一部分:安装基本系统|第一部分:安装基本系统]]'''<br />
<br />
'''[[#第二部分:完成基本系统并升级|第二部分:完成基本系统并升级]]'''<br />
<br />
'''[[#第三部分:安装X并配置ALSA|第三部分:安装X并配置ALSA]]'''<br />
<br />
'''[[#第四部分:安装并配置桌面环境|第四部分:安装并配置桌面环境]]'''<br />
<br />
==第一部分:安装基本系统==<br />
===一、获取最新的系统安装包===<br />
<br />
你可以从[http://archlinux.org/download/ 这里]获取Arch最新的官方系统安装包。最新版本是2009.08<br />
<br />
*不论是Core还是Netinstall系统安装包,都只是包含了安装'''Arch Linux基本系统'''所需的软件包. ''注意,基本系统是不包含GUI图形界面的。它主要包含了GNU的系列工具(编译器、汇编程序、链接、库、脚本,还有其它的一些有用的工具),Linux的内核,还有一些额外的库和模块。<br />
*Core映像文件可以较方便的通过CD或者网络进行安装。<br />
*Netinstall映像文件较小巧,本身没有提供软件包,整个系统都是通过internet来获取的。<br />
*isolinux映像文件是给那些使用grub版本时发生问题的用户的。两者没有其它区别。<br />
*Arch64问答( http://wiki.archlinux.org/index.php/Arch64_问答_(简体中文) )可以帮助你在32位版本和64位版本之间作出选择。<br />
<br />
====CD 系统安装包====<br />
把下载的.iso映像文件刻录到CD上。开机时用CD启动,出现界面,跳到[[#二、启动Arch Linux系统安装程序| 二、启动Arch Linux系统安装程序]]<br />
{{Box Note| 通常为了刻录的稳定可靠(速率越低刻录质量越有保证),推荐刻录的最大速度不超过16倍速。有些用户推荐'''''速度为 4x 或者 2x.''''' 如果所刻录的CD有问题,可以尝试使用你系统所支持的最小速度方式刻录。 }}<br />
<br />
<br />
====USB安装方式====<br />
<br />
这个方法适合你机器BIOS允许引导的所有flash媒体,无论是读卡器还是USB插口的<br />
<br />
{{Warning|这样做会把USB盘里面原有的数据格式化。}}<br />
<br />
'''<code>UNIX</code> 方式:'''<br />
<br />
插入USB盘,找到其路径,用<code>/bin/dd</code>命令把.img映像文件写入USB(Linux下):<br />
<br />
dd if=archlinux-2010.05-''{core|netinstall}''-''{i686|x86_64|dual}''.iso of=/dev/sd''x''<br />
<br />
<code>if=</code> 后面是.img镜像文件的路径,<code>of=</code> 是你的USB路径. '''注意'''要使用{{Filename|/dev/sd'''x'''}}而不是{{Filename|/dev/sd'''x1'''}}(就是要使用整个分区而不是第一分区). 你的usb设备需要有足够大的空间用于写入ISO镜像, 目前镜像文件大小是 381MB.<br />
<br />
<br />
'''检查镜像的完整性md5sum (可选):'''<br />
<br />
记下读入和写出的记录区数目,然后执行以下命令进行检查:<br />
dd if=/dev/sd''x'' count=''记录区数目'' status=noxfer | md5sum<br />
<br />
md5sum命令返回的值(这是你检查U盘上文件得到的)要与你下载的archlinux镜像文件的md5sum校验值相同;它们都应该和[ftp://ftp.archlinux.org/iso/2010.05/md5sums.txt 镜像站点的md5sum文件列表里相应的值]相同。一个典型的操作过程如下:<br />
<br />
$ [sudo] dd if=archlinux-2010.05-core-i686.iso of=/dev/sdc<br />
744973+0 records in<br />
744973+0 records out<br />
381426176 bytes (381 MB) copied, 106.611 s, 3.6 MB/s<br />
$ [sudo] dd if=/dev/sdc count=744973 status=noxfer | md5sum<br />
4850d533ddd343b80507543536258229 -<br />
744973+0 records in<br />
744973+0 records out<br />
<br />
'''Windows方式:'''<br />
<br />
从https://launchpad.net/win32-image-writer/+download 下载Disk Imager。插入U盘,启动Disk Imager并选择映像文件,再选择U盘相应的磁盘驱动号,点击"write"即可。<br />
<br />
继续 [[#第二部分:完成基本系统并升级|第二部分:完成基本系统并升级]]<br />
<br />
===二、启动Arch Linux系统安装程序===<br />
<br />
插入刻录好的光盘CD或者USB盘,然后用它启动电脑。可能需要在BIOS里(通常是启动后在加电自检过程中按DEL、F1、F2、F11或者F12)改变一下启动顺序使得CD或者USB先被启动。<br />
<br />
{{Note|内存需求:<br />
* Core : 160 MB RAM x86_64/i686 (选择所有软件包,开启交换分区)<br />
* Netinstall : 160 MB RAM x86_64/i686 (选择所有软件包,开启交换分区)}}<br />
<br />
成功引导光盘后应该可以看到主菜单,用上下箭头高亮菜单,按下回车键进行选择。<br />
<br />
通常,推荐选择第一项菜单。不过如果使用libata/PATA出现问题或者没有SATA (Serial ATA)驱动器,你也可以选择Boot Archlive [legacy IDE] 。<br />
<br />
<br />
如果你需要改变启动参数,可以按 '''e''' 键来编辑启动行内容。 许多用户可能希望改变framebuffer分辨率以得到更好的终端显示。将<br />
vga=773<br />
加到kernel一行的后面,然后按<ENTER>,就可以得到1024x768的framebuffer。设置完毕后按'''b'''则使用相应的选择项进行启动。<br />
<br />
系统将会启动并提示登录,这时可以用'root'进行登录(不要加上单引号)。<br />
<br />
如果你的机器从live CD启动时发生错误或者一些其它'''硬件hardware'''错误,请参看[[Installation Troubleshooting]]。<br />
<br />
====更换键盘映射表====<br />
如果你使用非US键盘布局,可以用命令选择相应的键盘映射表。<br />
# km<br />
或者是是用loadkeys命令<br />
# loadkeys ''layout''<br />
(把''layout''替换成你需要的,比如 &quot;<code>fr</code>&quot; 或者 &quot;<code>be-latin1</code>&quot;)<br />
<br />
====相关文档====<br />
在 live CD 里面,已经包含了官方安装指南.在安装的时候可以边安装边查看,按组合键<ALT>+F2 切换到控制台vc/2(alt+f3,alt+f4……分别可以切换到对应的控制台vc/3,vc/4……以此类推),然后输入:<br />
<br />
# less /arch/docs/official_installation_guide_en<br />
<br />
使用<code>less</code>是因为它的翻页功能使得查看文档更方。按组合键<ALT>+F1回到控制台vc/1,继续安装系统。<br />
<br />
整个系统安装过程中, 你随时都可以切换 vc/2 查看安装向导<br />
<br />
<code>less</code> 是个文本查看程序,位于<code>/usr/bin/less</code><br />
{{Tip|请注意,官方指南仅涵盖基本系统的安装和配置过程。一旦安装完毕,强烈建议回到本wiki浏览更多安装后续已经相关问题。}}<br />
<br />
===三、开始安装===<br />
键入<br />
/arch/setup <br />
或者<br />
aif -p interactive<br />
开始安装。<br />
<br />
====1、选择安装来源====<br />
接着会出现一个选择安装来源的提示。如果你用core ISO的话请选择CD,如果使用FTP ISO的话则选择FTP。<br />
* 如果选择 CORE installer,可以直接看下面的硬盘分区配置。<br />
* FTP/HTTP only: 选择这个需要预先加载网络驱动以便联网安装. 使用Udev来加载这些模块非常有效.<br />
按组合键ALT+F3切换到控制台vc/3,确认一下看其是否生效 invoking ifconfig -a . (Select OK to continue.) ——把后面的网络配置提前看<br />
<br />
====2、设置时间====<br />
有两个选择:<br />
* UTC - 如果使用unix系统包括Linux, Freebsd等, 建议使用UTC<br />
* local - 如果和Windows共享多引导系统, 建议使用local<br />
<br />
====3、硬盘分区配置====<br />
选择第一个菜单项"Prepare Hard Drive"。请注意,"Auto-Prepare"(自动分区)并不是最佳的选择,因为它只分配了最基本的三个区( /,/home,swap)<br />
在这里我们用手工进行硬盘分区。选择"2. Partition Hard Drives",接着选要分区的硬盘(比如:/dev/sdx),然后按你需要编辑分区表。<br />
<br />
''Arch Linux安装程序使用cfdisk公用程序来对硬盘进行分区。''<br />
<br />
''接下来,熟悉GNU/Linux的用户可以跳过这段内容直接到下面'''[[#选择软件包|选择软件包]]'''。''<br />
<br />
=====分区信息=====<br />
<br />
对磁盘进行分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建(格式化)一个文件系统。 分区的类型分为主分区(Primary)、扩展分区(Extended)和逻辑分区(Logical)三类。 <br />
<br />
主分区可以被启动,一个物理磁盘最多能有4个主分区。要使用超过4个的话,只能使用一个包含了逻辑分区的扩展分区。<br />
(译者注:为避免误解,较易懂的解释应该是:一个磁盘不算逻辑分区最多只能有4个分区,这4个要么全是主分区,要么就是3个主分区+1个扩展分区,当然你将整个磁盘划为1个主分区也是没问题的,只要不超过4个分区即可)<br />
<br />
扩展分区通常不会被直接使用,它是作为逻辑分区的“容器”存在。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
当对一个磁盘进行分区时,是按这种数字顺序命名:主分区为sda1-3,跟着是扩展分区sda4(译者注:在/dev和fdisk -l里是看不到这个sda4的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区swap=====<br />
交换分区Swap是虚拟内存在硬盘上驻留的地方,内核可以用它来储存在物理内存中放不下的数据。<br />
<br />
过去,常用的规则是将交换分区大小设置为物理内存的两倍。但是随着时间推移,现在的计算机已经有更大的内存容量,这条规则已经不适用了。通常,512MB内存的计算机,两倍(1G)的还是够用的。而1G内存的计算机,一倍的也够用了。如果你有更大的内存(比如超过1GB),也许可以完全把交换分区忘了,不推荐这样做!<br />
* ''如果你打算使用休眠到磁盘的电源方案,你必须要有不小于内存容量大小的交换分区,有些用户甚至会推荐大于物理内存容量15%的大小。''<br />
<br />
=====规划分区=====<br />
磁盘分区的规划是十分个人的设置。每位用户的决策都会根据自己计算机的情况和需求而不同。至少需要有一个包含了根[http://en.wikipedia.org/wiki/File_system 文件系统] ( / )的主分区和一个交换分区。你还可以选择给/boot(主要用来存放内核文件)、/usr、/var和/home(用来存放用户个人数据)划出独立分区。一个较好的做法是给 / 和 /home都划分独立分区。这样的话,当你因为某些原因重装Arch Linux(或者其它发行版),你还可以保留你的个人数据例如音乐、图片、桌面环境配置等。<br />
<br />
在本案例中,我们划分一个分区给 /,一个给/home,另外还有一个交换分区。<br />
<br />
=====开始创建分区cfdisk=====<br />
让我们开始创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary,然后输入你希望的分区大小(对一个完整的Linux系统,4到8G是个不错的选择)。分区要位于磁盘的开头部分。选择刚新建的分区,接着选择'''B'''ootable将它置为可启动。<br />
<br />
同时选择分区文件系统类型'''T'''ype,指定为'83 Linux'.。<br />
<br />
给你的/home目录创建另一个分区。选择另外一个主分区设成你想要的容量大小,这取决于你的用户会在他们的home目录里储存多少文件,其大小可能从几百M办公文档到上百G音频视频,所以这里我无法给出一个建议。如果你要使用磁盘所有的剩余空间,记得保给交换分区留一部分(例如1GB或1024MB)。<br />
<br />
同样的,选择'''T'''ype为'83 Linux'。 <br />
<br />
最后,我们给交换分区创建一个分区。选择一个介于512MB到1GB之间的大小并将'''T'''ype改为82 (Linux swap / Solaris)。<br />
<br />
现在的分区规划看起来应该象这样(基于你的选择大小也许会有所不同):<br />
<br />
Name Flags Part Type FS Type [Label] Size (MB)<br />
-------------------------------------------------------------------------<br />
sda1 Boot Primary Linux (4096 - 8192)<br />
sda2 Primary Linux (> 100)<br />
sda3 Primary Linux swap / Solaris (512 - 1024)<br />
<br />
选择'''W'''rite并输入''''yes''''。要注意如果你删除了分区的话,这个操作会破坏你磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,接着选择"Set Filesystem Mountpoints"。<br />
<br />
=====IDE设备,为什么看起来它们和SCSI设备一样?=====<br />
最新开发的Linux内核里包含了libata和PATA模块,所有的IDE、SATA和SCSI都采用sd''x''这种命名方式。这十分正常,无需担心。<br />
<br />
=====设置文件系统挂载点=====<br />
<br />
''' ”文件系统格式(filesystems)“和”文件系统结构(file systems)“的区别:'''<br />
<br />
从技术层面确切的说,'''文件系统格式(filesystems)'''是一种数据'''格式''',涉及信息吞吐,比如ext2;而”文件系统结构(file systems)“则是特定操作系统中文件和目录的布局,比如/home/username/games。因此,当你被问及是否创建'''文件系统格式(filesystems)'''时,是在问你是否要'''格式化'''该分区…但是当程序向你问及挂载点时,你应该给出的则是该分区应该出现在你的Arch Linux ”文件系统结构“中的位置。<br />
<br />
'''文件系统类型:'''<br />
<br />
'''强烈建议:'''创建一个交换分区(SWAP)。选择一个合适的分区(本例中使用的是sda3). 安装程序就会询问你是否要创建swap 文件系统; 选择 yes. 接下来, 选择根分区的挂载点(本例中就是 sda1). 然后安装程序就会询问你需要哪一种文件系统。<br />
<br />
{{Box Note| 采用何种文件系统的类型取决于实际应用需要,没有十全十美的文件系统,选择任何一个文件系统,都需要在数据安全和性能要求方面作出适当倾斜,下面只是简单的介绍各种Arch linux支持的文件系统 }}<br />
<br />
1. '''ext2''' - 古老、 可靠的 GNU/Linux 文件系统。非常的稳定,不过 ''不支持日志记录功能''。磁盘检测速度较慢,因而有些不便. ''ext2可以容易地转换成ext3''。一般认为/boot分区采用此系统最合适,因为/boot里的东西就开机的时候读取一次,而且很少有变动,不需要日志文件系统,如果采用日志文件系统,日志的体积很可能远远大于内核的大小。<br />
<br />
2. '''ext3''' - 基于ext2系统, 并添加了日志记录功能。 一般认为他比其他文件系统要 ''稍微的'' 慢一点, 不过 ''非常的'' 稳定并且使用最为广泛,由 GNU/Linux FS 负责维护和开发。<br />
<br />
'''高性能文件系统:'''<br />
<br />
3. '''ext4''' - 最近加入支持的文件系统,是ext2和ext3的后续发展版本,Ext4增加了48位块地址,最大支持1EB文件系统,和单个16TB的文件,增加子目录限制到64,000。新增了很多功能,提供在线碎片处理,速度比ext3快,系统开销比ext3小。<br />
{{Box Note| 由于此系统较新,目前仍存在一些问题,暂时建议/home分区不采用此文件系统,以保证个人数据安全。}}<br />
<br />
4. '''ReiserFS''' - Hans Reiser 主持编写的高性能的日志文件系统,使用一种非常独特有趣的数据存储检索方法。ReiserFS 效率非常高, 特别在处理很多小文件的时候更是如此。ReiserFS在挂载的时候相对比较慢. 性能稳定。 ReiserFS 现在的开发并不活跃(最新的版本是Reiser4).<br />
<br />
5. '''JFS''' - IBM提供的日志文件系统( '''J'''ournaled '''F'''ile'''S'''ystem首字母缩写). JFS 效率非常高并且CPU资源占用率比其他任何一个文件系统都要低。并且在挂载和磁盘检测的时候都非常快,在各方面的表现都非常突出,尤其是 conjunction with the deadline scheduler. (参见 [[JFS]].) 但是并不像ext或者ReiserFS那样应用广泛。<br />
<br />
6. '''XFS''' - 非常高效的日志文件系统,特别适合处理大文件。在处理小文件的时候稍慢。在挂载的时候也很快。由于 /var 需要处理很多的小文件,所以可能不太适合作为/var 分区的文件系统。 GNU/Linux 文件系统中,最先实现可用的在线碎片处理。应用不及ext和ReiserFS那么广泛。<br />
* JFS 和 XFS 不能被磁盘工具缩小(比如gparted 或者 parted magic)<br />
<br />
'''未来文件系统'''<br />
<br />
7、btrfs - 此文件系统尚未被Arch纳入正式支持。是Oracle提供的copy-on-write档案系统。目标在取代的ext3,提高ext3单一档案的大小,总档案系统大小或档案检查,加入目前ext3未支援的功能,比如:writable snapshots,snapshots of snapshots,内建磁盘阵列(RAID)支援,and subvolumes。<br />
<br />
最主要的差别在于[http://en.wikipedia.org/wiki/Journaling_file_system 日志系统] (一种类似的在数据库环境中记录着日志变更的东西). 除ext2之外,其他文件系统都支持日志记录功能. ext3 完全兼容 ext2,因此哪怕你可以用一个非常古老的CD来挂载他,也没问题。 根分区目前最安全的选择就是使用ext3文件系统。ReiserFS,XFS,和JFS也可以使用,因为GRUB (启动引导管理器,稍候在安装部分将会介绍到) 都可以从这些文件系统中启动。你可以通过选择‘’‘yes’‘’来创建文件系统(并格式化分区),接着你就会被提示添加附加分区。 在我们的例子中, 只有sda2了。 选择一个文件系统类型,并且把这个分区挂在到/home. 再次说明,创建文件系统并且选择Done。然后回到主菜单。<br />
<br />
====4、选择软件包====<br />
现在我们要选择安装哪些软件包到系统中。选择CD作为来源,如果你不止一个光驱的话还需要选择使用哪个的光驱。<br />
<br />
软件包选择分为两个阶段。首先要选择软件包分类,然后出现所选分类中软件包的详细列表供你微调。使用空格键进行选择和取消。<br />
<br />
''*BASE:包含最小的软件包集合,仅够构建一个可运行的系统骨架。''<br />
''*SUPPORT:供网络和文件系统用的额外软件包,例如gpm、fuse、dnsutils、无线驱动、ndiswrapper、ntfs-3g诸如此类。''<br />
''*DEVEL:软件创建工具,如GCC、autoconf、automake和make等等。''<br />
''*LIB:大量的库文件,如gmp、lebelf、libevent等等。''<br />
*''' 2008.06 版'''的软件包选择,只有一个: BASE ,选择之后进入其详细列表. <br />
<br />
在这里,我们对'Select all packages by default'选择'yes'。<br />
<br />
接下来屏幕将显示你所选的软件包。对于新手,较安全的做法是不修改它,而有经验的用户可能希望裁减掉一些不需要的软件包。(例如,不需要的文件系统类型公用程序,不需要的驱动等等。)<br />
<br />
====5、安装软件包====<br />
接着,选择'Install Packages'。你会被询问是否希望保留pacman缓冲里的软件包。如果你选'yes',日后你还可以选择对某些软件包进行降级,因此推荐保留(日后你还是可以清除这些缓存的)。安装脚本跟着就会安装所选软件包到你的系统中。这些软件包是二进制的、针对i686优化的,总共仅100MB,因此安装是相当便捷的。<br />
<br />
====6、配置系统====<br />
系统接着会询问你是否要选择[[Hwdetect|hwdetect]]来收集配置所需信息。新手应该选择是('yes')。<br />
<br />
如果是相当熟悉自己的硬件、所需模块,有能力从零开始手动配置/etc/mkinitcpio和/etc/fstab 的高级用户,可以选择否'no'。(当然,此选项是非常复杂的,已经超过本指南的范围,这里就不详细解释了。)<br />
<br />
接下来,系统会询问你是否需要支持从USB设备、FireWire设备、PCMCIA设备、NFS共享、软RAID阵列、LVM2卷和加密卷上启动。如果需要则选'yes',在本案例中以上都不选。<br />
<br />
新手还应该选择让/etc/mkinitcpio/kernel26-fallback.conf使用[[Hwdetect|hwdetect]]的结果,这将确保你的硬盘控制器相容次序。<br />
<br />
现在系统会询问你使用哪个文本编辑器;如果你不熟悉[http://en.wikipedia.org/wiki/Vim_%28text_editor%29 vi/vim]的话可以选择[http://en.wikipedia.org/wiki/Nano_%28text_editor%29 nano]。然后就会出现一个包含系统中大部分重要配置文件的菜单。如果你打算查找/etc/rc.conf中可用的选项,只需按Alt+F2切换到另外一个虚拟控制台进行查找,然后用Alt+F1切换回安装程序。<br />
<br />
======系统配置主文件'''/etc/rc.conf'''======<br />
Arch Linux继承FreeBSD的传统,使用'''/etc/rc.conf'''作为系统配置的主要文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所包含的意思,它还包含了供/etc/rc*文件使用的配置。/etc/rc.conf提供了一个Arch用户可以轻易访问到的,简洁而又范围广泛的精简系统资源配置方案。<br />
* '''LOCALIZATION'''部分<br />
** '''LOCALE'''=: 系统场所(locale)设置,被所有国际化(i18n-aware)的应用程序使用 。从命令行上运行locale可以列出可用的locale设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处locale的设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
** '''HARDWARECLOCK'''=: 指示开关机时进行同步的硬件时钟,是'''UTC'''时间(协调世界时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示)还是'''localtime'''(本地时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如windows进行双启动,就必须使用localtime(本地时间),它只把本地时间保存到硬件时钟里。<br />
** '''TIMEZONE'''=: 时区(TIMEZONE)。(所有可用的时区可在/usr/share/zoneinfo/里找到。)<br />
** '''KEYMAP'''=: 可用的键盘映射表可在/usr/share/kbd/keymaps里找到。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置!<br />
** '''CONSOLEFONT'''=: 如果你一定要修改此设置,可在/usr/share/kbd/consolefonts/中找到可用的字体。<br />
** '''CONSOLEMAP'''=: 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在/usr/share/kbd/consoletrans里找到可用的映射表。<br />
** '''USECOLOR'''=: 如果你使用彩色显示器的话请选"yes"。<br />
<br />
LOCALE="zh_CN.UTF-8"<br />
HARDWARECLOCK="localtime"<br />
TIMEZONE="Asia/Shanghai"<br />
KEYMAP="us"<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR="yes"<br />
* '''HARDWARE'''部分<br />
** '''MOD_AUTOLOAD'''=: 如果你使用'''udev'''在启动时探测硬件并加载相应模块。请设置为"yes",(适合缺省模块化的内核)。设置为"no"就得靠用户自己指定所需的有关信息。<br />
** '''MOD_BLACKLIST'''=: 模块黑名单。在下面的例子中,IPv6模块和pcspeaker都被列入黑名单而不被加载。<br />
** '''MODULES'''=: 指示了其它模块,如果你知道缺少哪个重要的模块可以加在里面。('''hwdetect'''应该已经填写了最重要的模块):<br />
# Scan hardware and load required modules at bootup<br />
MOD_AUTOLOAD="yes"<br />
# Module Blacklist - modules in this list will never be loaded by '''udev'''<br />
MOD_BLACKLIST=(net-pf-10 pcspkr)<br />
#<br />
MODULES=(e100 eepro100 mii slhc snd-ac97-codec snd-intel8x0 soundcore)<br />
* '''NETWORKING'''部分<br />
** '''HOSTNAME'''=:设置为你喜欢的主机名(HOSTNAME)。<br />
** '''lo'''=: 不修改此行。<br />
** '''eth0'''=: 如果使用'''静态IP'''的话请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0="dhcp"。<br />
** '''INTERFACES'''=: 指定使用哪些网络接口。如果你不使用DHCP来配置设备,而是通过命令行用ifconfig手动配置设备的话,这里的变量值(名字必须等于打算进行配置的设备名一样)必须和ifconfig里加入的内容一样。<br />
** '''gateway'''=: 如果你使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用DHCP,则将此行用'#'注释掉。<br />
** '''ROUTES'''=: 如果你使用'''静态IP''',则将'gateway'前面的'!'去掉。如果使用'''DHCP'''的话则不需要修改此行。<br />
<br />
<br />
例如,当使用'''DHCP''':<br />
HOSTNAME="arch"<br />
lo="lo 127.0.0.1"<br />
#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" <br />
eth0="dhcp"<br />
INTERFACES=(lo eth0)<br />
#gateway="default gw 192.168.0.1"<br />
ROUTES=(!gateway)<br />
* '''DAEMONS'''部分<br />
这个序列罗列了位于/etc/rc.d/里需要在启动过程中启动的脚本名字。<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有符号(@),则表示它会在后台被执行,启动序列不会等待此脚本成功执行完毕,而是继续执行下一个守护进程脚本。<br />
*daemon列表是有顺序的,系统根据先后执行相应的处理,所以不能随便放置,比如networkmanager就不能放在hal的前面。<br />
<br />
{{Note | 这种'BSD风格'的初始化就是Arch的处理办法,而其它发行版则是在一个init.d目录里使用一大堆符号链接(一个简单的文件 vs 一整个目录)}}<br />
<br />
======关于守护进程======<br />
虽然此时你不需修改[[daemons]]行,不过还是有必要解释一下什么是守护进程,因为过一会儿在指南里我们会需要它。<br />
<br />
和Windows服务(service)类似,守护进程(daemon)是一个运行于后台的程序,等待事件发生并提供服务。一个较好的例子是webserver等待请求以发送页面,还有SSH服务等待用户登录。这些都是全功能的程序,还有些守护进程工作起来并不是那么明显的。例如向日志文件里写信息的守护进程(如syslog、metalog),当系统空闲时降低CPU频率的守护进程(如cpufreq),以及提供图形化登录的守护进程(如gdm、kdm)。所有这些程序都可以被加入到daemons行中,在系统启动时被执行。本指南会对一些较有用的守护进程进行介绍。<br />
按Ctrl+X退出nano编辑器。<br />
<br />
======磁盘和分区配置文件:/etc/fstab======<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,以决定某一特定设备被挂载时所采用的选项。<br />
<br />
这是一个'''/etc/fstab'''的例子:<br />
<br />
#<br />
# /etc/fstab: static file system information<br />
#<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
#/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto,unhide 0 0<br />
#/dev/dvd /mnt/dvd udf ro,user,noauto,unhide 0 0<br />
#/dev/fd0 /mnt/fd0 vfat user,noauto 0 0<br />
/dev/sda1 / jfs defaults,noatime,nodiratime 0 1 <br />
/dev/sda2 /home jfs defaults,noatime,nodiratime 0 2<br />
/dev/sda3 swap swap defaults 0 0<br />
Hwdetect应该已经有效地配置了一个可用的'''fstab''',但最好还是简要地检查一下。<br />
<br />
*如果你打算用'''hal'''来自动挂载DVD之类的媒体,为了给即将安装的'''hal'''做准备,你可能要注释掉cdrom和dvd条目。 <br />
<br />
''在笔记本电脑和桌面系统上,可以给 / 和 /home加上'noatime'和'nodiratime'选项来提高速度、性能,同时还能省电。无论你采用何种文件系统,这样做都应该是安全的。''<br />
<br />
更多信息请参照[[Fstab]]<br />
<br />
======'''mkinitcpio.conf、modprobe.conf和kernel26-fallback.conf'''======<br />
此时我们无须去修改这些配置文件。'''mkinitcpio.conf'''负责配置ramdisk(例如从RAID、加密卷启动), '''modprobe.conf'''可以用来设置内核模块的的某些配置选项,而'''kernel26-fallback.conf'''则是initramfs后备配置。<br />
<br />
======(对于静态IP)网络配置文件:/etc/resolv.conf ======<br />
*''如果你使用DHCP,完全可以忽略此文件,缺省情况下dhcpd守护进程会自动创建和销毁此文件。''<br />
<br />
如果你使用静态IP,则可在/etc/resolv.conf里设置你的DNS服务器。每行的格式为nameserver <ip地址>,如果有多个DNS服务器则可以填入多行。<br />
<br />
如果你使用路由器,也许会希望由你的路由器本身指定DNS服务器,而在'''resolv.conf'''里只是写入你的路由器的IP(同时也是'''/etc/rc.conf'''里的网关),例如:<br />
nameserver 192.168.1.1<br />
可选的,逐个加入你的DNS服务器,例如:<br />
nameserver 4.2.2.1<br />
nameserver 4.2.2.2<br />
<br />
如果使用'''DHCP''',你也可以在你的路由器里指定你的DNS服务器,或者如果你的ISP支持的话由ISP自动指定。<br />
<br />
======/etc/hosts======<br />
可以在此文件中加入你想要的''hostname'',必须和/etc/rc.conf里的设置一致,因此它应该象这样:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
''为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!错误的句法可能会导致网络性能低下和/或某些程序运行缓慢甚至无法运行。这对新手来说是十分普遍的错误。''<br />
<br />
对于大部分用户,只要把''yourhostname''加入到行末就就可以了,不过有些用户推荐以下句法:<br />
127.0.0.1 '''''yourhostname'''''.domain.org localhost.localdomain localhost '''''yourhostname'''''<br />
如果你使用静态IP,可以用这种句法加入新行:<static-ip> hostname.domainname.org hostname,例如:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
======/etc/hosts.deny和/etc/hosts.allow======<br />
如果你打算使用[[SSH|ssh]]的话,请根据自己的需要修改此配置。缺省设置是拒绝所有进入的连接,而不只是ssh连接。编辑'''/etc/hosts.allow '''文件加入:<br />
<br />
* 允许所有进入的ssh连接。<br />
sshd:all <br />
<br />
* 允许特定IP地址进入ssh连接。<br />
sshd: 192.168.0.1<br />
<br />
* 允许你指定的网段 (地址从 192.168.0.0 到 192.168.0.255)<br />
sshd: 192.168.0.<br />
<br />
* 允许某个IP地址范围<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
如果你不打算使用[[SSH|ssh]],为安全起见请保持此文件的缺省设置(为空)。<br />
<br />
======/etc/locale.gen======<br />
<br />
'''locale-gen''' 命令从 '''/etc/locale.gen'''读取信息设定系统的locales. 这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式, 字符排列方式和其他一些本地化的特殊标准。设置默认本地化的功能是类<code>UNIX</code>操作系统的一大特质<br />
<br />
默认情况下 /etc/locale.gen 是一个仅包含注释文档的空文件.编辑后,这个文件将不会get touched again. 每次'''glibc'''更新之后'''locale-gen'''就会运行一次, 以在/etc/locale.gen重新生成所有的本地化设置.<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
('''你这里的设置必须和上文中提到的/etc/rc.conf 的设置一致哦.''')<br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件/etc/locale.gen变更你的locale, 然后使用根用户(root)运行'locale-gen'脚本使之生效。<br />
<br />
''Note 如果你选择并设置了locale, 他将提示你 "The current locale is invalid..." 错误。可能是因为大多数新Arch用户都会犯的普遍的错误,也是在论坛中问得最多的问题。''<br />
<br />
======Root密码======<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
======Pacman镜像======<br />
为'''pacman'''选择一个软件仓库镜像站。记住主站 archlinux.org 是有流量限制的,下载速度限于50KB/s.。<br />
<br />
在列表中仔细查看, 一般 xxx.cn 是中国镜像, xxx.au 是澳大利亚, 等等...<br />
<br />
*''如果你不熟悉现有的镜像和它们所处的位置,那就随便选一个。稍后你可以编辑 "/etc/pacman.d/mirrorlist", 或运行本指南后面提到的'''rankmirrors'''脚本,它将自动配置最接近你的镜像。''<br />
<br />
返回主菜单。<br />
<br />
====7、安装启动加载器====<br />
因为本案例中没有第二个操作系统,因此我们需要安装一个启动加载器。推荐选择[http://www.gnu.org/software/grub/ GNU GRUB]作为启动加载器。另外一种选择是[http://lilo.go.dyndns.org/ LILO]。缺省的'''GRUB'''配置('''/boot/grub/menu.lst''')应该足够了。唯一你可能想修改的是控制台的分辨率。将vga=<number>加入到第一个kernel行。(menu.lst中已列出一张分辨率和数字的对应表格可供查找。)<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro vga=773<br />
initrd /boot/kernel26.img<br />
参数"vga=773"表示1024x768分辨率、256色的framebuffer。<br />
<br />
将'''GRUB'''启动加载器安装到主引导区(本例中为sda)。<br />
<br />
====8、系统重启====<br />
退出安装程序。<br />
*建议:为了方便接下来更进一步的安装配置,可以把光盘里的新手指南复制一份到电脑里,这样后面的安装就能查看相应的向导了<br />
<br />
cp /arch/beginnersguide.txt /mnt/home/beginnersguide.txt<br />
<br />
系统重启之后,进入控制台,可以使用下面命令查看这新手指南<br />
less /home/beginnersguide.txt<br />
所有安装完毕之后,可以删了这指南<br />
rm /home/beginnersguide.txt<br />
<br />
输入命令下面命令,重启:<br />
<br />
reboot<br />
<br />
一个新Arch Linux系统就会启动并进入登录提示符(你可能需要在'''BIOS'''将启动顺序改为优先从硬盘启动)。<br />
<br />
'''祝贺你,一个崭新的Arch Linux基础系统闪亮登场了!'''<br />
<br />
==第二部分:完成基本系统并升级==<br />
你的新Arch Linux基础系统现在已是一个功能完整的GNU/Linux环境了,随时可以进行定制。从现在开始,你可以按自己的意图和需求改造它。由于arch是滚动发布的,所以安装包不一定是最新的系统,所以我们在安装完成之后,需要立即更新系统。<br />
<br />
让我们开始吧。<br />
-----<br />
登录入你的root账号。我们将以root身份配置pacman和更新系统,然后创建一个普通用户账号。<br />
<br />
===一、配置网络(如果有需要)===<br />
*''如果安装脚本的自动配置不适合你,本段内容将帮助你配置大部分类型的网络。''<br />
-----<br />
如果一切正常的话,你的网络应该可以正常使用了。先ping www.google.com验证一下:<br />
ping -c 3 www.google.com<br />
<br />
''如果你已经成功建立网络连接,则跳到下面阅读[[#使用pacman更新、同步、升级系统|使用pacman更新、同步、升级系统]]'''。''<br />
<br />
如果ping www.google.com后得到"unknown host"的错误,可以认为你的网络尚未正确配置。你需要重新检查以下内容的完整性和正确性:<br />
'''/etc/rc.conf''' # 特别留意HOSTNAME= 和 NETWORKING 部分有无输入错误。<br />
<br />
'''/etc/hosts''' # 复核一下格式。(看之前的内容。)<br />
<br />
'''/etc/resolv.conf''' # 当你使用静态IP时需要检查。如果你使用DHCP,缺省这个文件会被自动创建和销毁,不过也可以改为你需要的内容。(参见[[Network]]。)<br />
<br />
高级的网络配置方法可以在[[Network]]一文中找到。<br />
<br />
=====有线网络=====<br />
<br />
用以下命令检查网络<br />
ifconfig<br />
你应该看到eth0这一项。如果有需要,你可以这样设置一个新的静态IP:<br />
ifconfig eth0 <ip address> netmask <netmask> up <br />
并且这样设置缺省网关:<br />
route add default gw <ip address of the gateway><br />
查看一下/etc/resolv.conf是否包含你的DNS服务器,不过缺失了则补填进去。<br />
再次用ping www.google.cn检查一下网络。如果一切正常,将/etc/rc.conf调整为刚才新设置的静态IP。如果你的网络使用DHCP服务器/路由器的话,输入:<br />
dhcpcd eth0<br />
如果这样可行的话,则将/etc/rc.conf按之前所述方法调整为动态IP。<br />
<br />
=====无线网络=====<br />
详见安装指南:[[Wireless Setup (简体中文)|无线设置]]<br />
<br />
=====模拟信号调制解调器=====<br />
<br />
如果你想使用外接电话线调制解调器, 你至少要安装ppp包. 根据需要修改配置文件 /etc/ppp/options 你可以参考 man pppd 的帮助.<br />
<br />
你还需要定制一个 chat 协议脚本, 在初始化握手连接建立以后, 提供你的ISP用户名和密码. 命令pppd 和 chat 的帮助里有例子不管你是菜鸟还是高手都应该能搞定连接了.<br />
使用 udev 的话, 串口设备一般是 /dev/tts/0 和 /dev/tts/1.<br />
<br />
Tip: Read [[Dialup without a dialer HOWTO]].<br />
<br />
如果你不想为了 pppd 拔光自己的头发, 你可能会选择安装 wvdial 或类似的配置工具来简化这个过程.<br />
如果你的猫是所谓的 WinModem, 也就是内置 PCI modem 卡, 你可以在这个网址找到大量信息: [http://www.linmodems.org/ LinModem]<br />
<br />
=====ISDN=====<br />
<br />
通过三步,完成 ISDN 的安装和配置:<br />
# 安装配置固件Install and configure hardware<br />
# 安装配置ISDN 管理工具<br />
# 添加ISP信息<br />
<br />
现在的 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'.<br />
<br />
所有配置细节都可以在kernel documentation, more specifically in the isdn subdirectory, and available online中获知。 类型的参数是根据电视卡来设定的,在README.HiSax kernel documentation中,有一个可能类型的列表。 用相应的参数加载moduleChoose,比如这个:<br />
<br />
modprobe hisax type=18 protocol=2<br />
<br />
这个将加载适用于电视卡类型为ELSA Quickstep 1000PCI,德国使用的EDSS1协议的模块hisax。可以在日志文件/var/log/everything.log中查看是否模块被预加载。额外的USB ISDN Adapter需要加载些USB模块才能正常工作。<br />
<br />
通过上述设定之后,如果电视卡能正常工作,那么把下面模块和参数加入/etc/modprobe.conf中:<br />
<br />
alias ippp0 hisax<br />
options hisax type=18 protocol=2<br />
<br />
这么做的好处是,这些模块在不使用时不会被加载。另外的方法是可以在这只加参数,把hisax加入/etc/rc.conf里面的MODULES,这样做的坏处就是不管这些模块是不是在使用,都加载了。 <br />
<br />
完成上述步骤之后,需要安装管理工具<br />
<br />
安装软件包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.<br />
<br />
使用isdnctrl utility配置ISDN卡之后,将可以拨号到你设定的PHONE_OUT参数的机器上,但提示用户名和密码错误。把用户名和密码加入到/etc/ppp/pap-secrets或者/etc/ppp/chap-secrets,这个主要根据的是你的ISP使用的协议授权方式,as if you were configuring a normal analogous PPP link。如果无法确定,可以两个文件都加。<br />
<br />
完成上述设定之后,用root帐号建立一个拨号连接:<br />
isdnctrl dial ippp0<br />
有啥问题,请检查日志文件!<br />
<br />
=====DSL (PPPoE)=====<br />
<br />
仅当需要你的计算机去主动拨号连接ISP的情况下才需参考本段内容。如果你使用独立的路由器来负责这类工作,你只需要设置一个缺省网关即可。<br />
<br />
在使用DSL连接前,你得先在计算机里安装一个连接到DSL-Modem的网卡。将你新装网卡加入到modules.conf/modprobe.conf或者MODULES列表之后,安装rp-pppoe软件包并运行pppoe-setup脚本来配置你的连接。当你输入完有关信息后,可以分别通过以下命令来进行连接和挂断:<br />
<br />
/etc/rc.d/adsl start<br />
<br />
和<br />
<br />
/etc/rc.d/adsl stop<br />
<br />
setup过程一般都是很容易、直观的,如果还有不懂可以阅读man手册。如果你想在启动时自动拨号,可以将adsl加入到DAEMONS列表中。<br />
<br />
<br />
===二、更新Pacman===<br />
<br />
====pacman是什么?====<br />
[[Pacman]]是Arch Linux的软件包管理器('''pac'''kage '''man'''ager)。Pacman是用C语言编写的,速度快,使用简便,功能强大。它可以管理整个软件包系统,负责软件包的安装、删除、降级(通过缓存),也支持自编译的软件包,自动分析依赖关系,可以搜索远程和本地软件仓库,还有大量其它功能。这里我们将用pacman来从远程软件仓库下载软件包并安装到系统中。<br />
<br />
对系统进行定制,pacman是Arch Linux最重要工具。<br />
<br />
====1、配置pacman====<br />
=====pacman总配置文件/etc/pacman.conf=====<br />
Arch通过pacman可以获得对下面 4软件仓库的管理:<br />
<br />
'''[core]'''<br />
<br />
[core](“核心”)仓库的简单原则是只提供一个基本的Arch Linux的基本工具:GNU系列工具,Linux内核,一个文字编辑器,一个命令行浏览器等(这里也有一些例外。比如说,vi和nano是同时提供的,允许用户选择一个或两个)。它包含所有使你的系统正常运转的“必须”安装的包,只有它们完美地工作,你的系统才能继续运行。这些是绝对“system-critical”(对系统来说至关重要)的包。由开发者负责维护。<br />
<br />
*''Core安装媒介(The Core installation media)简单地包含一个安装脚本,一个当前发布版本的核心仓库的快照(snapshot)。''<br />
<br />
'''[extra]'''<br />
<br />
[extra](“额外的”)仓库包含所有的对于一个基本的Arch系统不是必须,但是对于构建一个完整的系统环境有用的的Arch包。 比如'''X''', KDE和Apache,都可以在这里面找到。它也是由开发者维护的。<br />
<br />
'''[testing]'''<br />
<br />
[testing](“测试”)仓库包含的包是[core]和[extra]仓库的候选者。<br />
下面情况下,新的软件包将进入[testing]软件仓库:<br />
* 可能会导致系统出问题的升级,需要测试。<br />
* 需要重新打包其他软件包。这种情况下,所有需要重新打包的软件包将被放在[testing]仓库,直到所有重新打包完成,这些软件包才回归原有的软件仓库。 <br />
<br />
开发者维护。<br />
<br />
{{Note|[testing]是唯一的在命名上与其它官方仓库有冲突的官方仓库。所以,如果开启之, [testing]必须放在''pacman.conf''的软件仓库列表中的第一个。}}<br />
<br />
{{Warning|'''警告''': 开启[testing]软件仓库,容易导致系统崩溃,因此只建议有经验的用户开启。}}<br />
<br />
'''[community]'''<br />
<br />
[community](“社区”)仓库是由“信任用户”(''Trusted Users (TUs)'')维护的,是''Arch User Repository ([[AUR]])''(Arch用户仓库)的一部分。它包含的是二进制的包,在用户仓库中有足够的“票数”,并由''信任用戶''挑选出来的。像其它上面列出的仓库一样,[community] 可以用pacman获取。<br />
<br />
'''[[AUR]]''' 也包含'''unsupported''' 分支,这不能直接通过pacman获取。*. [unsupported] 包含海量PKGBUILD脚本,用来从源代码编译。这从其它仓库中是不能使用的。 <br />
<br />
<nowiki>*</nowiki> '''''[[AUR Helpers]]''''' 能帮助你无缝地使用AUR。<br />
<br />
'''/etc/pacman.conf'''<br />
<br />
每次调用pacman,它都会读取/etc/pacman.conf文件。这个配置文件分若干段,每一段定义了一个pacman用来搜索软件的仓库。唯一例外的是options段,它定义了全局选项。<br />
nano /etc/pacman.conf<br />
范例:<br />
#<br />
# /etc/pacman.conf<br />
#<br />
# See the pacman.conf(5) manpage for option and repository directives<br />
<br />
#<br />
# GENERAL OPTIONS<br />
#<br />
[options]<br />
# The following paths are commented out with their default values listed.<br />
# If you wish to use different paths, uncomment and update the paths.<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
#LogFile = /var/log/pacman.log<br />
HoldPkg = pacman glibc<br />
# If upgrades are available for these packages they will be asked for first<br />
SyncFirst = pacman<br />
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u<br />
#XferCommand = /usr/bin/curl %u > %o<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
#IgnorePkg =<br />
#IgnoreGroup =<br />
<br />
#NoUpgrade =<br />
#NoExtract =<br />
<br />
# Misc options (all disabled by default)<br />
#NoPassiveFtp<br />
#UseSyslog<br />
#ShowSize<br />
#UseDelta<br />
#TotalDownload<br />
#<br />
# REPOSITORIES<br />
# - can be defined here or included from another file<br />
# - pacman will search repositories in the order defined here<br />
# - local/custom mirrors can be added here or in separate files<br />
# - repositories listed first will take precedence when packages<br />
# have identical names, regardless of version number<br />
# - URLs will have $repo replaced by the name of the current repo<br />
#<br />
# Repository entries are of the format:<br />
# [repo-name]<br />
# Server = ServerName<br />
# Include = IncludePath<br />
#<br />
# The header [repo-name] is crucial - it must be present and<br />
# uncommented to enable the repo.<br />
# <br />
<br />
# Testing is disabled by default. To enable, uncomment the following<br />
# two lines. You can add preferred servers immediately after the header,<br />
# and they will be used before the default mirrors.<br />
#[testing]<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
[core]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
[extra]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist <br />
<br />
[community]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
# An example of a custom package repository. See the pacman manpage for<br />
# tips on creating your own repositories.<br />
#[custom]<br />
#Server = file:///home/custompkgs<br />
要开启一个软件仓库,只需要将'Include ='和'[repository]'行前的注释符号(#)去除。<br />
<br />
*"Server ="行如果取消注释,将会强制此服务器被首先搜索,详细的仓库配置位于/etc/pacman.d/下。<br />
* 注意:选择仓库时,请确认将仓库名和'Include ='行都一同取消注释。没有这样做的话会导致你选择的仓库被忽略!这是个很普遍的错误。<br />
<br />
=====(如果有必要)配置镜像列表 /etc/pacman.d/mirrorlist=====<br />
更快的镜像能显著改善pacman的性能和你对Arch Linux的总体体验。<br />
<br />
*手动编辑/etc/pacman.d/mirrorlist:<br />
nano /etc/pacman.d/mirrorlist<br />
删除所有不在你所在洲或者太远的镜像。(在nano里你可以用CTRL-K删除每个不需要的行。)保存文件并退出。<br />
<br />
*'''rankmirrors'''脚本可以根据镜像的响应延迟对其自动排名。'''Rankmirrors'''是python脚本,需要安装python(提示:首先要更新一下包列表):<br />
<br />
pacman -Syy<br />
pacman -S python<br />
<br />
然后,运行'''rankmirrors'''脚本按响应延迟顺序对镜像进行排名:<br />
rankmirrors -v /etc/pacman.d/mirrorlist<br />
输出会列出所有镜像和它们的响应延迟(ping),例如:<br />
<br />
# United States<br />
# http://mirrors.easynews.com/linux/archlinux/$repo/os/i686 ... 0.96<br />
# ftp://ftp.nethat.com/pub/linux/archlinux/$repo/os/i686 ... unreachable<br />
# ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/i686 ... 2.43<br />
# ftp://mirrors.unixheads.org/archlinux/$repo/os/i686 ... 1.96<br />
<br />
脚本将从低到高的响应延迟顺序显示:<br />
Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/i686<br />
Server = ftp://mirrors.unixheads.org/archlinux/$repo/os/i686<br />
Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/i686<br />
Server = ftp://ftp.nethat.com/pub/linux/archlinux/$repo/os/i686<br />
<br />
要注意的是这个结果对于镜像排列并非很精确,最接近你的镜像或者延迟最低的镜像并不一定是最佳选择。(反应迅速但是内容过时的镜像、或者低延迟但是窄带宽的镜像对你毫无用处)。<br />
<br />
编辑/etc/pacman.d/mirrorlist,将最佳的镜像置于在列表顶端。为了体验多个镜像你可能要不断修改此配置文件,请精明地选择。<br />
<br />
====常用的命令====<br />
<br />
与远程软件仓库同步和更新本地包数据库 (推荐在安装和更新包之前这样做):<br />
pacman -Sy<br />
<br />
'''升级'''系统中所有的包:<br />
pacman -Su<br />
<br />
一条同步、更新、'''升级''' 所有系统中的包的命令:<br />
pacman -Syu<br />
<br />
安装或者升级单个软件包或者一串包(包括其依赖包):<br />
pacman -S packageA packageB<br />
<br />
移除软件包, 但保留依赖的包:<br />
pacman -R package<br />
<br />
移除单个包,并且移除没有被别的软件依赖的依赖包:<br />
pacman -Rs package<br />
<br />
移除包所有不需要的依赖包并删除其配置文件:<br />
pacman -Rsn package<br />
<br />
通过给定关键词(列表)搜索远程软件仓库数据库(repo):<br />
pacman -Ss keyword<br />
<br />
列出系统中所有的包<br />
pacman -Q<br />
<br />
在本地包数据库搜索 (查询)指定软件包:<br />
pacman -Q package <br />
<br />
在本地包数据库搜索 (查询)指定软件包并列出相关信息:<br />
pacman -Qi package<br />
<br />
To defragment pacman的数据库缓存和速度优化选项:<br />
pacman-optimize<br />
<br />
统计当前系统中的包数量:<br />
pacman -Q | wc -l<br />
<br />
使用ABS和makepkg从源代码编译安装包:<br />
pacman -U packagename.pkg.tar.gz<br />
<br />
Note: pacman有很多很多的选项和功能组合。你可以试试man pacman或者查阅lt the [[pacman]]维基条目<br />
<br />
====软件包管理增强工具====<br />
* Yaourt 可查询aur的pacman增强工具<br />
* Tupac 快速查询的yaourt增强工具<br />
* Powerpill 多进程下载的pacman增强工具<br />
{{Box Note| 强烈建议更新系统完毕后,安装yaourt和powerpill,以便更充分享受Arch Linux的方便和强大。}}<br />
在/etc/pacman.conf文件里,最后添加两行(如果是i686的话,把x86_64换成i686即可):<br />
[archlinuxfr]<br />
Server = http://repo.archlinux.fr/x86_64<br />
然后使用pacman安装yaourt<br />
pacman -Sy yaourt<br />
<br />
以后就可以使用yaourt命令来查找并安装包括[[AUR]]里的软件了。比如bcm无线网卡,需要安装b43-firmware(此软件包在[[AUR]]仓库里,使用pacman无法查找到),使用yaourt命令查找并安装:<br />
yaourt b43-firmware<br />
找到之后,根据相应提示,一直到安装完成。<br />
<br />
====图形化管理工具====<br />
* qt界面的shaman:比较成熟的pacman 图形化管理工具<br />
* gtk界面的gtkpacman :目前BUG比较多,不稳定。<br />
<br />
====Pacman的更多信息====<br />
用此命令查看pacman手册:<br />
man pacman<br />
有空的话可以看看[[pacman (简体中文)]]维基条目。<br />
<br />
====2、更新Pacman自己====<br />
<br />
一开始,系统可能会提示你先更新pacman自身,这取决于Arch安装包的新旧程度:<br />
pacman -Sy pacman<br />
pacman开始查看是否需要更新,如果有提示需要更新,则按‘y’,开始pacman更新。<br />
<br />
'''''有时候,还需要用户主动修改某些配置;请仔细阅读升级过程中的输出获取相关信息。'''''<br />
<br />
===三、更新系统===<br />
====使用[[pacman (简体中文)|pacman]]====<br />
现在我们要用[[pacman (简体中文)|pacman]]来更新系统。要更新、同步并'''升级'''你的系统,可以使用命令:<br />
pacman -Syu<br />
pacman就会获取所有最新可用软件包信息并进行升级。(此时你可能会被提示先升级pacman自身。如果是这样,回答'yes',然后在完毕后再运行一次pacman -Syu命令。)<br />
<br />
===='''滚动发布'''之美====<br />
Arch是一个'''rolling release'''(滚动发布)的发行版。这意味着没有必要重新安装或执行完整的系统重建来升级到最新版本。只需要执行'''pacman -Syu''',就能保持你的系统更新到最新和bleeding edge(表示最新的、因而也并非完美的技术)。<br />
<br />
===四、增加一个用户并设置用户组===<br />
用root账号来处理日常工作是很危险的。Root是用来处理系统管理的任务。我们可以用以下命令增加一个普通用户账号:<br />
adduser<br />
大部分缺省选项都是没问题的,你可能还需要将storage、audio、video、optical和wheel加入到你的用户组中 ── 特别是在你打算使用一个完整功能的桌面环境的情况下。<br />
<br />
用户组和用户的关联定义在/etc/group文件中: <br />
<br />
它包含了:<br />
<br />
*'''audio''' - 关于声卡和相关软件的任务<br />
<br />
*'''wheel''' - 给sudo使用<br />
<br />
*'''storage''' - 负责存储设备<br />
<br />
*'''video''' - 视频任务和3D加速<br />
<br />
*'''optical''' - 和光驱有关的任务<br />
<br />
*'''floppy''' - 软驱访问<br />
<br />
*'''lp''' - 打印任务<br />
<br />
*'''power''' - 电源管理<br />
<br />
请参看[[Groups]]一文了解你应该属于哪些用户组。<br />
你还可能需要将你的用户账号加入到以下用户组(需要以root身份运行此命令,假设添加用户名为archie):<br />
# useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash archie<br />
然后添加密码<br />
#passwd archie<br />
详情可看usermod和gpasswd的man手册。<br />
<br />
===五、安装建立Sudo (可选)===<br />
安装sudo<br />
# pacman -S sudo<br />
以root身份,运行命令visudo,把用户加入sudo用户 (a &quot;sudoer&quot;).如果不知道怎么使用[vi http://wiki.archlinux.org/index.php/Vi],你可以在用visudo前设置VISUAL 或 EDITOR环境变量为你喜欢的编辑器。例如:<br />
# EDITOR=nano visudo <br />
'''注意:这句话同一行中同时设置了变量并且运行了visudo,如果分开设置成两条语句会不能正确执行''' <br />
如果你用vi很顺手,去掉EDITOR=nano这个变量就行:<br />
# visudo<br />
这命令将在一个特殊的vi会话中打开文件 /etc/sudoers 。visudo复制文件到一个可编辑的临时文件中,用一个编辑器编辑它(vi是默认的),接下来运行一个安全检查(“sanity check”)。如果通过,这个临时文件就有正确的权限将重写的原始文件。t<br />
<br />
<font color=&quot;red&quot;>'''注意:不要直接用编辑器编辑 /etc/sudoers ; 否则会出现这样的提示:Errors in syntax can cause annoyances (像root帐户不能使用的描述一样)。 必须使用 ''visudo'' 命令来编辑 /etc/sudoers.'''</font><br />
<br />
当用户输入以 &quot;sudo&quot;, 作为开始的命令行时,临时授予该用户root权限。加入下面一行:<br />
USER_NAME ALL=(ALL) ALL<br />
USER_NAME 就是单个用户名。<br />
<br />
更多信息,比如按<TAB> 自动命令补全,请见[[Sudo]]<br />
<br />
==第三部分:安装X并配置ALSA==<br />
一共有三步工作:<br />
*1、安装声卡驱动<br />
*2、安装x-window(包括显卡驱动)<br />
*3、配置X<br />
<br />
{{Box Note | '''在热插拔未配置正确的情况下,或者是/etc/rc.d/hal未启动的情况下,请不要启动开启X(包括重启使用gdm或者kdm登陆),否则可能导致鼠标键盘失去响应!!!'''}}<br />
<br />
===一、配置声卡:使用alsamixer===<br />
高级Linux声音架构(Advanced Linux Sound Architecture,简称ALSA)是一个Linux内核组件。它替换了原有的开放声音系统(OSS),为声卡提供了设备驱动。除了声音设备驱动以外,'''ALSA'''还给应用程序开发人员提供了一个用户空间库,可使更高级的API无需直接与内核驱动打交道就能使用驱动功能。<br />
<br />
{{Box Note| Alsa已经包含进最新的内核kernel,udev 将在系统启动时自动检测硬件,并自动根据声卡加载相应的内核模块。虽然声卡已经在工作,但电脑的声音默认是静音。}}<br />
{{Box Note| OSS4.1已经放出,相对于老的版本,这是一个显著的提升的版本,如果使用ALSA有问题, 或者是想尝试新的功能,可以使用 OSS4.1。 相关说明可见: [[OSS]]}} <br />
<br />
Alsa-utils软件包里的alsamixer让我们可以从命令行来配置声音设备。(你也可以稍后在'''X'''环境中使用alsamixer。)<br />
默认情况下,内核加载模块snd_pcsp,这是一个alsa pc speaker模块。 snd_pcsp通常先于&quot;你实际的&quot;声卡模块加载。大部分情况下,这模块最后加载更好,因为可以让alsamixer正确控制需要的声卡。<br />
<br />
在/etc/modprobe.d/modprobe.conf中加入这行,可以使得snd_pcsp最后加载:<br />
options snd-pcsp index=2<br />
<br />
当然,如果你不想让snd_pcsp加载,可以把它放入黑名单,或者是在/etc/rc.conf的Modules里禁止它:<br />
MODULES=(... !snd_pcsp)<br />
<br />
{{Box Note | 想要生效,需要释放并重新加载所有声音模块,当然,系统重启就可以简单解决这问题。 }}<br />
<br />
* 安装alsa-utils软件包:<br />
pacman -S alsa-utils<br />
<br />
* 为了解决Alsa声卡独占问题,可以安装alsa-oss:<br />
# pacman -S alsa-oss <br />
<br />
* 把你的普通用户账号加入到audio用户组中:以root身份,运行<code>/usr/bin/gpasswd</code>程序:<br />
gpasswd -a yourusername audio<br />
*以普通用户身份运行: <br />
alsamixer<br />
用左右光标键移动到Master和PCM声道上,按'''M'''取消掉静音。用向上键增加音量。(70-90的音量是较合适的范围)按ESC键离开alsamixer。<br />
有'''Speaker'''的,需要同时取消静音并调整之. <br />
<br />
====测试声音====<br />
以普通用户身份,使用 <code>/usr/bin/aplay</code>程序来测试你的声音配置:<br />
aplay /usr/share/sounds/alsa/Front_Center.wav<br />
你应该会听到一个女性声音说:“Front,center。”<br />
<br />
====保存声音配置====<br />
以root身份运行<code>/usr/bin/alsactl</code> :<br />
alsactl store<br />
这将创建'/etc/asound.state'文件,用来保存alsamixer的设置。<br />
<br />
为了每次启动都可以自动恢复混音器设置,可将守护进程''alsa''加入到你的/etc/rc.conf中的DAEMONS列表。<br />
nano /etc/rc.conf<br />
DAEMONS=(syslog-ng network crond '''alsa''')<br />
''注意,alsa守护进程在启动过程中仅仅是恢复音量设置。它和alsa音频库(和内核级API)是完全不同的。''<br />
<br />
更多详情请参看[[ALSA 安装设置 (简体中文)|ALSA 安装设置]]。<br />
<br />
===二、安装X===<br />
'''X''' 窗口系统(一般叫'''X11'''或者更简单的叫'''X''') 是一个网络互动和显示服务,提供位图显示器窗口. 提供标准化工具包(toolkit)和协议,用于<code>UNIX</code>类操作系统,构建一个图形界面(GUIs) <br />
<br />
'''X''' 提供最基本、基础的框架,用于构建一个图形操作界面环境。包括:绘图、屏幕窗口移动,与鼠标或者键盘的交互。 '''X''' 并不负责用户交互界面的部分:有独立的客户端程序负责处理这部分。 比如gnome、kde。<br />
<br />
'''X''' 因为它先于'''W'''窗口系统,最初由斯坦福大学开发。 <br />
<br />
----- <br />
====1、安装X-文件====<br />
构建一个GUI的第一步:用pacman来安装Xorg包.<br />
*''如果想使用一个'''开源''' 显卡驱动, 需要3d加速,要在安装Xorg之前安装库 libgl :''<br />
pacman -S libgl<br />
''(拥有专利的视频驱动提供它们自己的gl库安装(implementations).)''<br />
# pacman -S xorg<br />
3d的工具比如glxgears包含在包'''mesa''' 里(如果需要,也安装):<br />
# pacman -S mesa<br />
<br />
====2、安装显卡驱动====<br />
到这一步,已经有了运行'''X''' Server的基本软件包,接下来需要把显卡的驱动安装到电脑里(e.g. xf86-video-<name>). 最简单的X.org配置方法就是安装正确的驱动包,然后使用自动脚本对 /etc/X11/xorg.conf 进行初始化,比如使用 Xorg -configure(arch团队提供hwd工具,但据以前用户的反映,这个现在还老出问题,新手可以使用,以后有能力再配置其他).<br />
<br />
如果不知道显卡类型,输入下面命令:<br />
lspci | grep VGA<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
pacman -Ss xf86-video | less<br />
<br />
下面是一个'''开源'''的显卡列表和相关说明:<br />
*'''xf86-video-apm''' Alliance ProMotion video driver<br />
*'''xf86-video-ark''' ark video driver<br />
*'''xf86-video-ati''' ati video driver<br />
*'''xf86-video-chips''' Chips and Technologies video driver<br />
*'''xf86-video-cirrus''' Cirrus Logic video driver<br />
*'''xf86-video-dummy''' dummy video driver<br />
*'''xf86-video-fbdev''' framebuffer video driver<br />
*'''xf86-video-glint''' GLINT/Permedia video driver<br />
*'''xf86-video-i128''' Number 0 i128 video driver<br />
*'''xf86-video-i740''' Intel i740 video driver<br />
*'''xf86-video-i810''' Intel i810/i830/i9xx video drivers (deprecated - use -intel)<br />
*'''xf86-video-intel''' Newer Version of Intel i810/i830/i9xx video drivers<br />
*'''xf86-video-imstt''' Integrated Micro Solutions Twin Turbo vidoe driver<br />
*'''xf86-video-mach64''' mach64 video driver <br />
*'''xf86-video-mga''' mga video driver (Matrox Graphics Adapter) <br />
*'''xf86-video-neomagic''' neomagic video driver<br />
*'''xf86-video-nouveau''' Open Source 3D acceleration driver for nVidia cards (eperimental)<br />
*'''xf86-video-nv''' nvidia nv video driver<br />
*'''xf86-video-openchrome''' Openchrome drivers<br />
*'''xf86-video-r128''' ati Rage128 video driver<br />
*'''xf86-video-radeonhd''' Experimental Radeon HD video driver for r500 and r600 ATI cards<br />
*'''xf86-video-rendition''' Rendition video driver<br />
*'''xf86-video-s3''' S3 video driver<br />
*'''xf86-video-s3virge''' S3 Virge video driver<br />
*'''xf86-video-savage''' savage video driver<br />
*'''xf86-video-siliconmotion''' siliconmotion video driver<br />
*'''xf86-video-sis''' SiS video driver<br />
*'''xf86-video-sisusb''' SiS USB video driver<br />
*'''xf86-video-tdfx''' tdfx video driver<br />
*'''xf86-video-trident''' Trident video driver<br />
*'''xf86-video-tseng''' tseng video driver<br />
*'''xf86-video-unichrome''' Unichrome video drivers<br />
*'''xf86-video-v4l''' v4l video driver<br />
*'''xf86-video-vesa''' vesa video driver<br />
*'''xf86-video-vga''' VGA 16 color video driver<br />
*'''xf86-video-via''' via video driver<br />
*'''xf86-video-vmware''' vmware video driver<br />
*'''xf86-video-voodoo''' voodoo video driver<br />
<br />
* 说明:'''vesa'''驱动是最通用的软图形驱动, 适用于大部分的显卡, 但没有3D加速等功能。所以如果实在无法找到合适的显卡驱动,就只好选用vesa, 理论上它应该能在任何显卡上工作。(这是原话,好像夸张了点!If you cannot find a suitable driver for your video chipset, vesa '''should''' work.)<br />
<br />
用pacman来安装适合你显卡的驱动。例如:<br />
pacman -S xf86-video-savage<br />
(给Savage显卡的驱动。)<br />
<br />
* 如果实在不确定需要安装那个显卡驱动,可以安装所有显卡驱动包, 输入下面命令:<br />
pacman -S xorg-video-drivers<br />
<br />
*如果显卡是nVIDIA 或者ATI的,并'''想安装nVIDIA或者ATI官方提供的显卡驱动,请看下面。'''<br />
-----<br />
<br />
====nVIDIA图形显示卡====<br />
nVIDIA显示卡的驱动程序被许多人认为是非常好的质量,而且带有高级3D性能。<br />
<br />
在设置您的你nVIDIA显卡之前您先要选择您要使用的驱动程序。Arch现在有3种不一样的nVIDIA驱动程序,各自支持不同型号的显卡:<br />
<br />
'''1. nvidia-96xx''' ''直到Ge Force 4的较新显卡''<br />
<br />
'''2. nvidia-173xx''' ''Geforce FX系列显卡''<br />
<br />
'''3. nvidia''' ''在GF FX之后的最新GPU''<br />
<br />
{{Box Note| 一些特别老如TNT和TNT2之类的显卡所需的Nvidia-71xx系列闭源驱动,由于无法在Arch所用的新版Xorg下正常运行,并且nvidia也已不再继续支持它们,因此已被删除。你可以改用xf86-video-nv或者xf86-video-vesa驱动。}}<br />
<br />
到nVIDIA主页,看哪个适合你电脑.区别只是安装,配置过程是一样的.<br />
<br />
''根据你的显卡'',选择合适的nVIDIA驱动安装,比如: <br />
pacman -S nvidia-96xx<br />
<br />
nVIDIA软件包有个工具能自动升级你已有的nVIDIA驱动的配置文件/etc/X11/xorg.conf,输入下列命令即可实现:<br />
nvidia-xconfig<br />
<br />
它也有一些选项,用于更深入和具体地配置xorg.conf文件的内容和选项,例如:<br />
<br />
<br />
nvidia-xconfig --composite --add-argb-glx-visuals<br />
<br />
更详细的信息,请参考:nvidia-xconfig(1).<br />
<br />
一些有用的妙法可用在“device“部分(你要清楚它们不一定都能对你的系统有用):<br />
Option "RenderAccel" "true"<br />
Option "NoLogo" "true"<br />
Option "AGPFastWrite" "true"<br />
Option "EnablePageFlip" "true"<br />
将所有的DRI注释掉:<br />
# Load "dri"<br />
<br />
多检查几次你的/etc/X11/xorg.conf以确定你的默认的depth(色深),horizontal sync(水平同步),垂直刷新率,以及分辨率是可以接受的。<br />
<br />
使用<code>/sbin/depmod</code>命令来更新内核模块依赖:<br />
depmod -a<br />
(也许需要重启。)<br />
{{Tip|nvidia配置的高级的说明参考文章[[NVIDIA]] 。}}<br />
<br />
现在你可以跳到'''[[#三、配置X:创建并修改/etc/X11/xorg.conf|配置X]]'''来进一步熟悉,或者跳到'''[[#3、测试 X|测试 X]]'''继续安装过程。<br />
<br />
====ATI图形显示卡====<br />
ATI用户的驱动可以有几种选择。<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动。<br />
** 原创的、完全支持Radeon芯片组到X1950(最新的R500芯片组)的逆向工程开源驱动。对9200系列以前的显卡完全支持,可以稳定的提供全2D和3D加速。从9500到X1950完全支持2D加速特性,良好的3D加速,不过缺乏某些闭源驱动的特性(例如能源节省特性仍处于测试阶段)。xf86-video-ati支持从HD2xxx (R6xx)到最新的显卡,不过目前仅提供2D支持。<br />
* '''xf86-video-radeonhd'''软件包提供了开源的'''''radeonhd'''''驱动。<br />
** 此驱动支持ATI R500(Radeon X1000系列)以及更新的芯片组。该驱动由AMD提供文档,Novell为之开发。它支持RandR 1.2,目前的开发工作非常活跃。因此所支持的不同系列显卡的功能可以不一致。(有些用户反映它性能优异,而有些则说它很糟)。它还支持带音频的HDMI。<br />
* AUR中的Catalyst软件包提供了闭源'''''fglrx'''''驱动。稍后将介绍闭源驱动。<br />
开源驱动通常可以满足大部分需求而且较少出问题。<br />
<br />
安装'''''radeon'''''ATI驱动:<br />
# pacman -S xf86-video-ati libgl ati-dri<br />
安装'''''radeonhd'''''ATI驱动:<br />
# pacman -S xf86-video-radeonhd libgl ati-dri<br />
<br />
Arch的<code>extra</code>官方仓库曾经提供过闭源ATI驱动'''Catalyst'''的预编译包,不过在2009年3月以后,由于对闭源驱动的质量和开发进度不满意,官方取消了对它的支持。目前catalyst驱动可以在[http://aur.archlinux.org/packages.php?ID=22899 AUR]中找到。Catalyst驱动的安装信息可以在[[ATI#Proprietary_ATI_Catalyst_driver|这里]]找到。<br />
<br />
{{Warning| 闭源ATI驱动仅支持R600和更新的显卡(即HD2xxx及以上系列),不支持旧系列(X1xxx系列及以下)。}}<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====3、安装输入设备驱动软件包====<br />
最新的X需要你为包括键盘和鼠标在内的输入设备安装驱动。查看可用输入设备驱动的完整列表:<br />
# pacman -Ss xf86-input | less<br />
<br />
对大部分用户,xf86-input-keyboard和xf86-input-mouse应该可以满足基本配置。使用pacman来为你的输入设备安装需要的驱动,例如:<br />
# pacman -S xf86-input-keyboard<br />
<br />
===三、配置X:创建并修改/etc/X11/xorg.conf(如有需要)===<br />
{{Note | 从X11R7.2版开始Xserver引入了自动配置特性。在大多情况下,即使没有xorg.conf文件它也能很好地运作。如果''自动检测功能工作正常'',而且你又不需要开启如 aiglx、compositing 等功能的话,你甚至不需要创建这个配置文件。}}<br />
<br />
====配置文件xorg.conf介绍====<br />
/etc/X11/xorg.conf 是你的 X-Window-System 的主要配置文件,你的 GUI('''G'''raphical '''U'''ser '''I'''nterface)的基础,它是一个普通的文本文件,里面由 “section” 和 “subsection” 来安排。重要的 section 有 ''Files, InputDevice, Module, Monitor, Modes, Screen, Device'' 和 ''ServerLayout''。各个section安排的前后次序没有关系,对同一种类型的设备也可以有多个section,比如你可能有多个显示器,或者你的本本既有鼠标又有触摸板。<br />
<br />
====1、创建 /etc/X11/xorg.conf(可选)====<br />
<br />
高级用户可以手动创建他们的xorg.conf文件。一般用户可以使用程序<code>/usr/bin/Xorg</code>附加参数-configure来生成一个基本的配置文件;以root身份输入下面命令:<br />
# Xorg -configure<br />
这里生成的文件是/root/xorg.conf.new <br />
<br />
把这文件复制到 <code>/etc/X11/</code>:<br />
# cp /root/xorg.conf.new /etc/X11/xorg.conf<br />
<br />
====更多的创建/etc/X11/xorg.conf的办法====<br />
* 说明:如果你的电脑已经有一个配置好的xorg.conf文件,不管这个文件是在什么别的发行版下生成的,只要Xorg的版本一致,就可以把该文件复制到你的Arch系统的<code>/etc/X11/</code>目录下。<br />
* 可以使用程序<code>/usr/bin/hwd</code>生成xorg.conf。首先要安装这程序:<br />
# pacman -S hwd<br />
然后输入下面命令:<br />
# hwd -xa<br />
{{Box Note| 目前,hwd在生成的xorg.conf有一行失效。 使用完这程序后,需要手动删除或者是注释掉 Section &quot;Files&quot;下的RgbPath那一行。via nano /etc/X11/xorg.conf or your equivalent, as root/sudo.}}<br />
<br />
* 使用<code>/usr/bin/xorgcfg</code> 脚本生成xorg.conf:<br />
# xorgcfg <br />
* 使用<code>/usr/bin/xorgconfig</code>生成xorg.conf,这个程序以互动方式来创建该文件,输入下面命令运行:<br />
# xorgconfig<br />
<br />
====2、Input设备热插拔问题:请在测试X前阅读====<br />
<br />
xorg 1.5.x版本里已经开启热插拔Input设备。<br />
{{Box Note | 当热插拔开启后, X将清空xorg.conf里所有使用the kbd and mouse 驱动建立的设备。这将导致X被冻结,使得鼠标和键盘失去响应。下面是解决办法。'''方法只能二选一'''}}<br />
<br />
有两个办法可以修复这一问题:<br />
<br />
1) '''配置 input设备热插拔''':安装驱动 xf86-input-evdev,同时配置HAL使其能使用kbd/mouse驱动。<br />
<br />
安装xf86-input-evdev:<br />
# pacman -S xf86-input-evdev<br />
在X.org相关进程启动前,启动守护进程hal:<br />
# /etc/rc.d/hal start<br />
把hal加入/etc/rc.conf里的DAEMONS列表里,这样每次电脑启动,都会自动开启hal。详情请见[[Xorg input hotplugging]] 。<br />
<br />
说明: 开启hal必须首先有一个dbus用户和用户组,以root身份输入下面命令创建用户和用户组<br />
<br />
usr/sbin/groupadd -g 81 dbus<br />
usr/sbin/useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus<br />
<br />
2) '''关闭input设备热插拔''':在/etc/X11/xorg.conf的ServerFlags段,加入参数''Option &quot;AutoAddDevices&quot; &quot;False&quot;'' 这将忽略hal的硬件检测,并使用你xorg.conf的keyboard/mouse配置。步骤如下<br />
# nano /etc/X11/xorg.conf<br />
加入下面三行:<br />
Section &quot;ServerFlags&quot;<br />
Option &quot;AutoAddDevices&quot; &quot;False&quot;<br />
EndSection<br />
<br />
====3、测试 X====<br />
<br />
在所生成的xorg文件路径''path/to/xorg.conf''前,加入参数''-config'' ,运行 '''X'''脚本,可以测试脚本配置是否正确。<br />
对于 Xorg 7.3 或者之前的版本, 键入:<br />
# Xorg -config xorg.conf.new<br />
'''X''' 将启动,在屏幕中央会有一个白色的 X ,鼠标或是触摸板可以移动它,按 CTRL-Alt-Backspace 可以退出 '''X'''<br />
从 Xorg 7.4 和更高的版本开始,这个测试将显示出一个黑色的屏幕,对于判断 X11 是否能正常工作会造成一些困扰。 可以通过 retro 选项使用旧的模式:<br />
# Xorg -config xorg.conf.new -retro<br />
如果看到黑灰的格子以及 X 型鼠标指针, 就表示配置成功了。<br />
要退出测试, 需要同时按下 Ctrl+Alt+Fn 来切换到用于启动 X 的虚拟控制台 (F1 表示第一个虚拟控制台) 之后按 Ctrl+C。<br />
<br />
====对xorg.conf除错====<br />
如果 X 出现错误不能运行,你需要手动检查你的配置文件:<br />
<br />
nano /root/xorg.conf.new<br />
<br />
* 确定 Xorg -configure 命令正确的识别了你的显卡,比如:<br />
Section &quot;Device&quot;<br />
<br />
...<br />
<br />
Driver &quot;savage&quot;<br />
<br />
...<br />
<br />
EndSection<br />
<br />
* 确定里面的 Section "Monitor" 设置了水平同步率和垂直刷新率,如果没有要把它加上:<br />
Section &quot;Monitor&quot;<br />
Identifier &quot;Monitor0&quot;<br />
VendorName &quot;Monitor Vendor&quot;<br />
ModelName &quot;Monitor Model&quot;<br />
HorizSync 30.0 - 130.0 # Safe for LCD's<br />
VertRefresh 50.0 - 100.0 # Safe for LCD's and most CRT's.<br />
EndSection<br />
如果你不知道这些刷新率到底是多少,你就得查一下你显示器的说明书。<br />
<br />
* 在section "Screen"配置默认色深(color depth):<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
(此处色深被设定为真彩24色。)<br />
<br />
<br />
* 在subsection &quot;Display&quot; 加入你需要的Modes, at least under the Depth 24 header, e.g.:<br />
SubSection &quot;Display&quot;<br />
Viewport 0 0<br />
Depth 24<br />
Modes &quot;1024x768&quot; &quot;800x600&quot; &quot;640x480&quot;<br />
* Add the following section, if you wish to enable eye candy which requires the composite extension: <br />
Section &quot;Extensions&quot;<br />
Option &quot;Composite&quot; &quot;Enable&quot;<br />
EndSection<br />
<br />
* 上述调整完成后,再测试你的配置:<br />
X -config /root/xorg.conf.new<br />
<br />
* 在确认 '''X''' session开启,没有错误之后,把测试好的配置文件移到 /etc/X11下,作为系统的xorg.conf配置文件:<br />
mv /root/xorg.conf.new /etc/X11/xorg.conf<br />
详细的介绍可见[[Xorg]] <br />
<br />
接下来可以简单作测试 '''[[#Simple baseline X test|Simple baseline X test]]'''<br />
<br />
====调整键盘布局====<br />
=====如果开启了input热插拔=====<br />
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/<br />
# nano /etc/hal/fdi/policy/10-keymap.fdi<br />
Edit the &quot;input.xkb.layout&quot; key and possibly the &quot;input.xkb.variant&quot; key in this file.<br />
Restart hal:<br />
# /etc/rc.d/hal restart<br />
<br />
=====如果关闭了input热插拔=====<br />
Add option lines in the &quot;InputDevice&quot; section of the /etc/X11/xorg.conf file specifying the keyboard layout and variant:<br />
Option &quot;XkbLayout&quot; &quot;be&quot;<br />
Option &quot;XkbVariant&quot; &quot;&quot;<br />
<br />
详情请见 [[Xorg input hotplugging]]。<br />
<br />
===简单的命令行界面X测试(如果需要)===<br />
<br />
在安装了xorg、合适的显卡驱动、创建了一个/etc/X11/xorg.conf文件之后,如果想在安装完整桌面环境之前,快速测试下你的配置,使用'''xterm'''可以实现! <br />
Xterm是个简单的终端模拟程序,作为base xorg软件包的一部分会被自动安装,运行在'''X '''Server环境里。通过配置~/.xinitrc,Xterm可以让我们快速测试显卡驱动和配置文件/etc/X11/xorg.conf是否被正确配置。(另外,如果在没有/etc/X11/xorg.conf的情况下,你想测试下'''X''' 自动检测是否满意,也可以使用这个)<br />
<br />
==== 准备工作:配置~/.xinitrc====<br />
<br />
One of the main functions of this file is to dictate what '''X''' Window client is invoked with the '''/usr/bin/startx''' and/or '''/usr/bin/xinit''' program ''on a per-user basis''. (The '''startx''' script is merely a front end to the more versatile '''xinit''' command.) There are vast amounts of additional configurable specifications and commands that may also be added to ~/[[.xinitrc]] as you further customize your system. <br />
{{Box Note | '''[[.xinitrc]]''' is a so-called 'dot' (.) file. 在UNIX文件系统下,文件名以 (.)开头的,是 '隐藏文件',,使用普通的命令'ls' 将不显示这些文件,使用加了参数命令'''ls -a'''可以显示。The 'rc' denotes ''Run Commands'' and simply indicates that it is a configuration file. Since it controls how a program runs, it is (although historically incorrect) also said to stand for &quot;Run Control&quot;.}}<br />
<br />
'''startx/xinit''' will start the '''X''' server and clients. To determine the client to run, '''startx/xinit''' will first look to parse a [[.xinitrc]] file in the user's home directory. In the absence of file ~/[[.xinitrc]], it defaults to the global xinitrc in the xinit library directory; /etc/X11/xinit/xinitrc, which defaults to using the TWM window manager. (说明: ''如果没有文件~/.xinitrc, /etc/X11/xinit/xinitrc 将被作为替代来使用,这是个使用TWM and Xterm的默认配置。'')<br />
<br />
切换到'''''普通, 非root'''''用户:<br />
# su - ''yourusername''<br />
* /etc/skel/ contains files and directories to provide sane defaults for newly created user accounts. The name '''skel''' is derived from the word '''skeleton''', because the files it contains form the basic structure for users' home directories.<br />
* 如果没有~/.xinitrc这个文件,到该目录下创建一个,或者从/etc/skel/复制一个同样的文件到你的home目录:: <br />
<br />
$ cp /etc/skel/[[.xinitrc]] ~/<br />
<br />
* 编辑文件: <br />
$ nano ~/.xinitrc<br />
加入这行&quot;<code>exec xterm</code>&quot;像下面这样:<br />
<br />
#!/bin/sh<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
#<br />
exec xterm<br />
# exec wmaker<br />
# exec startkde<br />
# exec icewm<br />
# exec blackbox<br />
# exec fluxbox<br />
<br />
{{Box Note | ''请确保~/.xinitrc''里,以'''exec'''开头的,只有'''一行'''的注释被去掉。}}<br />
<br />
====开始执行测试====<br />
<br />
* 以普通用户身份输入下面命令,开启'''X''',开始测试你的配置:<br />
<br />
$ startx<br />
或者是这命令<br />
$ xinit<br />
<br />
此时会打开一个'''xterm''' session,你可以在这里测试your keyboard and its layout<br />
<br />
* 按Ctrl+Alt+Backspace,或者输入"exit"可以退出'''X''' Server。<br />
* 如果开启'''X'''出现问题,在终端,查看日志文件/var/log/Xorg.0.log的错误信息。<br />
<br />
更多的Xorg configuration介绍可见[[Xorg]] .<br />
<br />
==第四部分:安装并配置桌面环境==<br />
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.<br />
<br />
* 如果你需要一个完整功能,类似于Windows和Mac OSX, 可以选择安装'''[[#KDE|KDE]]''' <br />
* If you want something slightly more minimalist, which follows the K.I.S.S. principle more closely, '''[[#GNOME|GNOME]]''' is a good choice<br />
* '''[[#Xfce|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.<br />
<br />
如果你的机器较老,或者是希望使用一个更轻量、更少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.<br />
* Lightweight floating WM's include: [[#Openbox|'''Openbox''']], [[#Fluxbox|'''Fluxbox''']], [[#fvwm2|'''fvwm2''']], '''Windowmaker, Pekwm, and TWM'''.<br />
* If you need something completely different, try '''Awesome, ion, wmii, dwm, or xmonad'''。<br />
<br />
===一、安装字体===<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu和bitstream-vera都是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
pacman -S wqy-zenhei<br />
<br />
===二、选择默认启动的桌面环境 ~/.xinitrc===<br />
<br />
以普通用户身份编辑/home/username/.xinitrc,加入你要用的DE. This will allow you to use '''startx/xinit''' from the shell, in the future, to open your DE/WM of choice:<br />
<br />
nano ~/.xinitrc<br />
<br />
反注释或者加入相应的桌面环境/窗口管理器的''''exec''' ..'内容行。例如:使用Xfce4桌面环境:<br />
<br />
exec startxfce4 <br />
<br />
记住在~/.xinitrc中只反注释掉一行'''exec'''。这条命令将一直运行到你注销桌面登录。一般的,shell将等到kde完成加载之后,在运行下一条命令。在命令前加 &quot;exec&quot; ,是告诉the shell 这条命令最后执行, 这样shell就不用等待其他命令了,直接载入桌面。<br />
接下来安装你所选的桌面环境/窗口管理器。<br />
<br />
===三、选择安装一个桌面环境===<br />
====GNOME====<br />
=====关于GNOME=====<br />
GNOME是'''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment的缩写。GNOME项目有两大部分:GNOME桌面环境 ── 既直观又迷人的最终用户桌面,以及GNOME开发平台 ── 一个用来创建可与桌面集成的应用程序的庞大的框架。<br />
<br />
=====安装=====<br />
安装基本的GNOME环境:<br />
pacman -S gnome<br />
<br />
安装额外的GNOME环境:<br />
pacman -S gnome-extra<br />
然后选择提示的所有软件包。 <br />
<br />
=====对GNOME有用的守护进程=====<br />
如之前所述,守护进程(daemon)是运行在后台的程序,它等待事件发生并提供相应的服务。其中'''Hal'''守护进程可以自动挂载磁盘、光驱和U盘给GUI使用。'''Fam'''守护进程可以在GUI中实时反映文件的变动,如最近安装的程序、文件系统的变化等。'''Hal'''和'''fam'''使得GNOME的使用更为方便。Hal和fam软件包在安装GNOME时已一同安装,建议安装社区库的gamin来替代fam。<br />
<br />
{{Box Note|注意,fam是一个比较老的包,很容易造成较大的日志文件。}}<br />
<br />
{{Box Note|在当前的gnome环境中,你可以安装gamin来实现fam的功能。这时,你可以不用在DAEMONS中添加fam启动项了(不需要加入gamin,它会自动被启用)。}}<br />
<br />
* 你需要启动'''hal'''守护进程。<br />
<br />
启动hal:<br />
/etc/rc.d/hal start<br />
<br />
如果您想使用fam,同样需要启动:<br />
/etc/rc.d/fam start<br />
<br />
将hal加入到/etc/rc.conf的DAEMONS中以使得它们随系统启动而自动运行:<br />
nano /etc/rc.conf<br />
<br />
DAEMONS=(syslog-ng network crond alsa '''hal''')<br />
<br />
{{Box Note|注意,如果使用fam,那么把fam加入到hal后面。}}<br />
<br />
* 或许你还会希望安装一个图形界面的登录管理器。在GNOME下'''gdm'''守护进程是个不错的选择。<br />
以root身份运行:<br />
pacman -S gdm<br />
<br />
让gdm启用有两种方式,一种是直接加入到DAEMONS的末尾,通过rc.conf来启动;另外一种方式是用过配置inittab来加载gdm。<br />
<br />
* 通过inittab来加载gdm也很方便(推荐使用这种方式):<br />
nano /etc/inittab<br />
<br />
修改默认启动方式:<br />
<br />
将<br />
id:3:initdefault:<br />
改为<br />
id:5:initdefault:<br />
<br />
然后取消下面代码的注释:<br />
x:5:respawn:/usr/sbin/gdm -nodaemon<br />
<br />
{{Box Note|实际上,可以看到gdm/xdm/kdm/slim等,使用哪个取决于你的喜好,启用喜欢的那个,将其他的注释掉。当然,本章介绍的是gnome,所以推荐gdm,下章中将推荐kdm:)}}<br />
<br />
<br />
* 通过DAEMONS方式启动gdm也很方便:<br />
nano /etc/rc.conf<br />
<br />
DAEMONS=(syslog-ng network crond alsa hal gdm)<br />
<br />
{{Box Note|这是类似debian/ubuntu的做法,这种方式有一点不好:不管什么时候(非修复模式),系统总是会尝试进入gdm引导的X方式下。对于X已经配置得很好,并且不使用纯控制台的人可以使用这种方式。但是选择这种方式的话你将不能通过内核参数3或者5来区分进入纯字符控制台还是X11的gdm登录窗口。}}<br />
<br />
* 开启Gnome<br />
以普通用户身份启动X:<br />
startx<br />
或者这条命令也行:<br />
$ xinit<br />
如果你的 ~/.xinitrc一直没配置,那你将可以一直使用下面这条命令来开启Gnome:<br />
$ xinit /usr/bin/gnome-session<br />
<br />
关于安装和配置GNOME的高级指引可以参见[[GNOME (简体中文)|GNOME]]一文。接下来你可以浏览'''[[#优化和收尾|优化和收尾]]'''。或许你还会对[[Post Installation Tips (简体中文)|Arch安装完后的小技巧]]一文感兴趣。<br />
<br />
=====美化=====<br />
如果不满足于缺省的GNOME主题和图标,那么可以安装一个不错的主题,比如murrine:<br />
pacman -S gtk-engine-murrine<br />
接着在System->Preferences->Theme里选择这个主题。<br />
<br />
Arch Linux也做了些不错的主题,根据你自己的审美观,选择满意的安装吧:<br />
<br />
# pacman -S gtk-engines gtk2-themes-collection gtk-aurora-engine gtk-candido-engine gtk-rezlooks-engine<br />
<br />
你还可以在[http://www.gnome-look.org Gnome Look]里找到更多的主题、图标和壁纸。<br />
<br />
====KDE====<br />
=====关于KDE=====<br />
KDE桌面环境('''K''' '''D'''esktop '''E'''nvironment)的缩写。 KDE是一种著名的运行于GNU/Linux 、 <code>UNIX</code> 工作站等的强大、自由图形工作环境。她拥有对系统内部各功能的强大整合能力、跨平台能力、易用性、优异的初始界面.<br />
<br />
=====安装=====<br />
Arch提供多个版本的kde: '''kde、kdebase 和 KDEmod'''. 选'''一个'''就行了,然后 '''[[#有用的KDE守护进程|有用的KDE守护进程]]''': <br />
<br />
'''1.)''' '''kde'''是完整的kde软件包,大概 ~300MB,适合主要使用kde软件的系统.<br />
pacman -S kde<br />
'''2.)''' '''kdebase'''是kde的基础软件包,大概 ~80MB,适合于只想把kde作为基础系统.<br />
pacman -S kdebase<br />
'''3.)''' '''KDEmod''' 是 Arch Linux独有的、社区驱动的项目,目标是把kde更加细致的模块化和达到其极致的运行效率。KDEmod项目的网站在http://chakra-project.org/ 。<br />
<br />
=====有用的KDE守护进程=====<br />
<br />
KDE 需要'''hal''' ('''H'''ardware '''A'''bstraction '''L'''ayer) 作为守护进程(daemons). '''kdm''' ( '''K''' '''D'''isplay '''M'''anager), 提供一个 '''图形化登录界面'''.<br />
{{Box Note|hal守护进程将自动开启dbus守护进程。kde4里已经不需要fam。kdm现在在kdebase-workspace这个包里,如果只安装kdebase,需要再安装此包才能使用kdm}}<br />
<br />
hal 服务配合其他软件, 能自动挂接热插拔硬盘, 光驱, USB drives/thumbdrives for use in the GUI. <br />
<br />
-----<br />
启动hal进程:<br />
<br />
/etc/rc.d/hal start<br />
<br />
编辑/etc/rc.conf的 DAEMONS部分:<br />
nano /etc/rc.conf<br />
把 '''hal''' 加入 DAEMONS 部分,以便他们在系统启动时加载. 如果想要kde的图形化登录界面,把 '''kdm'''也加进去(或者不加,在/etc/inittab里面设置): <br />
DAEMONS=(syslog-ng network crond alsa '''hal kdm''')<br />
{{Box Note|如果你安装的是KDEmod3,则使用kdm3替换kdm}}<br />
<br />
*这种方式能启动运行等级3, (/etc/inittab 默认多用户模式), 然后启动 KDM 进程来登录. <br />
<br />
*有些用户喜欢使用 /etc/inittab 方式来启动系统到运行等级5. 细节请参考 [[Display Manager]].<br />
<br />
*如果你喜欢启动时进入命令行, 即运行等级3, 然后手动启动 X, 则不加入kdm, 或者是加个前缀( ! )禁止它。<br />
<br />
* 现在可以试试效果了,用普通用户身份开启X Server:<br />
startx<br />
或者<br />
$ xinit<br />
更多关于安装和配置KDE的文章,请看[[KDE]].<br />
<br />
到此步,可以看 '''[[#优化和收尾]]'''这部分了. 你可能想参考 [[Post Installation Tips]] wiki文章.<br />
<br />
====Xfce====<br />
=====关于Xfce=====<br />
和GNMOE、KDE一样,Xfce是一个桌面环境,其目标是快捷、轻量,同时又美观而易用。它还提供了一整套的应用程序如根窗口应用(root window app)、 窗口管理器、文件管理器、面板等等。 Xfce是用GTK2 toolkit编写的(类似GNOME),和其它大型桌面环境一样,它也有自己的开发环境(库文件、守护进程等)。但不象GNOME或者KDE,Xfce是轻量化的,其设计更接近于CDE而不是Windows或者Mac。它的开发周期比较慢,但是十分稳定、速度很快。在老硬件上Xfce可以运行得很好,而在新机器上更是运行如飞。<br />
<br />
=====安装=====<br />
安装完整的xfce环境以及主题和extras:<br />
pacman -S xfce4 xfce4-goodies gtk2-themes-collection <br />
<br />
如果你使用KDM或者GDM的话会显示一个xfce会话。另一种启动方式是:<br />
startxfce4<br />
<br />
关于安装和配置xfce的高级指引可以参见[[Xfce (简体中文)|Xfce]]一文。<br />
<br />
恭喜!欢迎来到Arch Linux系统的Xfce桌面环境!接下来你可以浏览'''[[#优化和收尾|优化和收尾]]''',或者下面的其它内容。或许你还会对[[Post Installation Tips (简体中文)|Arch安装完后的小技巧]]一文感兴趣。<br />
<br />
====*box====<br />
=====Fluxbox=====<br />
Fluxbox © 是另一个流行的快速轻量级的 X 下的窗口管理器.<br />
它是在 Blackbox 0.61.1 的代码基础上开发的. Fluxbox 看上去很像 blackbox, 它的界面方案, 颜色, 窗口按钮等都跟blackbox相似 (界面方案100% 兼容).<br />
<br />
安装fluxbox:<br />
pacman -S fluxbox fluxconf<br />
<br />
如果你使用 gdm/kdm 登录管理器, fluxbox 会被添加到session选项列表. 或者你可以修改 .xinitrc 在最后一行加上:<br />
exec startfluxbox <br />
<br />
更多信息可参考 [[Fluxbox]].<br />
<br />
=====Openbox=====<br />
Openbox是一个标准的,顺手的,快速的,轻量级的,可扩展的窗口管理器。<br />
<br />
Openbox与你的应用程序一起工作工作,并使你的的桌面便于管理。这是因为它的开发方式和通常的窗口管理器的方式是相悖的。 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.<br />
<br />
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. <br />
<br />
安装openbox<br />
pacman -S openbox obconf obmenu<br />
<br />
一旦openbox安装好,你将得到一个消息to move menu.xml & rc.xml to ~/.config/openbox/ in your home directory:<br />
<br />
mkdir -p ~/.config/openbox/<br />
cp /etc/xdg/openbox/rc.xml ~/.config/openbox/<br />
cp /etc/xdg/openbox/menu.xml ~/.config/openbox/<br />
<br />
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.<br />
<br />
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:<br />
<br />
exec openbox<br />
<br />
For KDM there is nothing left to do; openbox is listed in the sessions menu in KDM.<br />
<br />
Useful programs for openbox are:<br />
* PyPanel or LXpanel if you want a panel<br />
* feh if you want to set the background<br />
* ROX if you want a simple file manager and desktop icons<br />
<br />
More information is available in the [[Openbox]] article.<br />
<br />
====fvwm2====<br />
FVWM是一个非常强大的面向X桌面系统的”ICCCM-compliant的多虚拟桌面的窗口管理器“(ICCCM-compliant multiple virtual desktop window manager)。开发活动很活跃,支持也是极好的。 <br />
<br />
输入下面命令安装 fvwm2 <br />
pacman -S fvwm <br />
<br />
fvwm会自动添加进 kdm/gdm会话列表. 如果没有的话,添加 <br />
exec fvwm <br />
<br />
到你的用户文件 .xinitrc.<br />
<br />
注意:这个稳定版已经有些年头了,如果需要最新的fvwm版本,可以安装unstable repo里的fvwm-devel 包.<br />
<br />
===四、优化和收尾===<br />
====HAL====<br />
如果你已经安装了一个桌面环境,但是又觉得用起来不是很方便,那么现在就是个安装HAL的好时机了。HAL使得你的手机、iPod、移动硬盘等等可以即插即用。它会挂载设备并在你的桌面或/和'My Computer'目录中创建相应的图标,使得你可以在插入设备后就能访问到它,无需每次都对每个新设备来手动配置/etc/fstab文件或者udev规则。<br />
<br />
KDE、GNOME和XFCE都使用到HAL。<br />
<br />
安装过程描述可以在[[HAL (简体中文)|HAL]]一文中找到。其它一些信息可以在[http://en.wikipedia.org/wiki/HAL_(software) Wikipedia]上找到。<br />
<br />
====启动时让守护进程在后台执行====<br />
<br />
要加速系统的启动过程,可以在/etc/rc.conf中给守护进程前加上'@'符号使之在后台执行,例如:<br />
<br />
DAEMONS=(@syslog-ng @network crond @alsa @hal @fam @kdm)<br />
这使得守护进程在后台被加载,无需等待它们加载结束。<br />
<br />
在守护进程前加上(!)可以禁止系统启动时加载它,例如:<br />
<br />
DAEMONS=(@syslog-ng @network !crond @alsa @hal @fam @kdm)<br />
<br />
另一种方式是直接将不需要的守护进程删除。<br />
<br />
====美化液晶显示器(LCD)下的字体====<br />
液晶显示器和彩显或者电子纸等的不同成像原理,可能会导致字体显示效果也不太一样,所以有时需要对字体显示效果进行配置<br />
See [[Fonts]]<br />
<br />
====让所有的鼠标按键生效====<br />
看这个 [[Get All Mouse Buttons Working]]<br />
<br />
====笔记本电脑可能遇到的问题====<br />
(1) 触摸板问题<br />
参看http://wiki.archlinux.org/index.php/Touchpad_Synaptics<br />
<br />
(2) 摄像头问题<br />
参看http://wiki.archlinux.org/index.php/Webcam_Setup<br />
<br />
(3) 无线上网问题<br />
参看http://wiki.archlinux.org/index.php/Wireless<br />
<br />
(4) 快捷键问题<br />
参看http://wiki.archlinux.org/index.php/Extra_Keyboard_Keys<br />
<br />
====设置CPU频率====<br />
现在的处理器都能够降低频率和电压,以降温和降低电源消耗。降温能使系统更稳定,笔记本用户肯定是想这样做的,但是即使是台式机也会对系统有利。<br />
<br />
安装CPU频率工具用:<br />
pacman -S cpufrequtils<br />
<br />
把CPU频率在/etc/rc.conf里加入到启动进程(daemons)中。编辑配置文件/etc/conf.d/cpufreq改<br />
governor="conservative"<br />
<br />
这使得在需要的情况下可以动态地增减CPU频率(这是对于台式机来说也是一个安全的选择)。改变最小频率(min_freq)和最大频率(max_freq)以匹配你的CPU的情况。如果你不知道频率,在载入频率测量模块后运行“cpufreq-info”。你也可以将min_freq和max_freq注释掉或删除,这样就能自动进行。加入频率测量模块到/etc/rc.conf的模块行。<br />
几乎所有的笔记本和台式机都可以简单地使用''acpi-cpufreq''驱动,但是也有其它的选择,如:''p4-clockmod, powernow-k6, powernow-k7, powernow-k8, and speedstep-centrino''。 <br />
<br />
通过下面这个命令载入这个模块:<br />
modprobe <modulname> <br />
通过下面命令行开启cpufreq:<br />
/etc/rc.d/cpufreq start<br />
更多细节,请看 [[Cpufrequtils]]<br />
<br />
==第五部分:常用的应用程序==<br />
更多信息,请看[[好用的应用程序 (简体中文)]].<br />
<br />
==附录==<br />
新手指南附录[[ArchLinux新手指南附录 (简体中文)]]<br />
<br />
想得到更多的信息和支持,你可以去[http://www.archlinux.org/ homepage], [[Special:Search|search the wiki]],[http://bbs.archlinux.org/ forums],[[ArchChannel|IRC channel]],以及[http://www.archlinux.org/mailman/listinfo/ mailing lists]。<br />
=====问题答疑=====<br />
See [[Arch FAQs for newbies]]<br />
还有这里[http://bbs.archlinux.org/viewtopic.php?t=29055 Arch forum thread] 也是面向初学者的。<br />
<br />
=====术语=====<br />
更多信息关于Arch术语,查阅[[Arch Terminology/Jargon for newbies|this article]].<br />
<br />
=====接下来还有什么?=====<br />
<br />
你还可以阅读:<br />
<br />
[[Arch 官方安装指南 (简体中文)|Arch 官方安装指南]]<br />
<br />
[[Arch AUR (简体中文)|ArchLinux社区用户软件仓库 (AUR)]]<br />
<br />
[[Get All Mouse Buttons Working]]<br />
<br />
[[Improve Pacman Performance (简体中文)|改善Pacman性能]]<br />
<br />
[[Kernel Compilation]]<br />
<br />
[[Pm-utils 电源管理 (简体中文)|Pm-utils 电源管理]]<br />
<br />
[[CPU 频率调节 (简体中文)|CPU 频率调节]]<br />
<br />
[[:Category:美化|美化]]</div>
Ericcong
https://wiki.archlinux.org/index.php?title=Arch_Linux_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=116197
Arch Linux (简体中文)
2010-09-01T15:44:09Z
<p>Ericcong: /* 时髦的工具 */</p>
<hr />
<div>{{Bad translation}}<br />
[[Category:简体中文]]<br />
[[Category:关于Arch (简体中文)]]<br />
[[Category:General (简体中文)]]<br />
{{i18n|Arch Linux}}<br />
<br />
Arch Linux 是一个社区驱动型的你牛叉发行版,采用滚动升级模式,并提供了一个基本的已编译软件仓库,一个完美的软件包管理器,一个强大的打包工具还有一个强大的软件打包交流社区。系统极尽简洁、结构优雅、原汁原味的软件、快速跟进的升级。Arch Linux Version 0.1 (Homer) 在 2002 年 3 月 11 日发行. <br />
<br />
== 优势 ==<br />
Arch 刚安装时只提供了一个最基本的系统,(没有图形界面),专为 i686/x86-64 构架编译优化。Arch 快速、轻巧、弹性而且简单,致力于贴近UNIX风格。它的设计理念和实现方式使它非常易于扩展,也便于你将它定制为你想要的任何样子:从最小化的终端机到最宏伟的多功能桌面环境都可以。没有必要一个个的去除你不想要的软件包。Arch 给了用户从最小化的、不带任何默认选择的基础开始,构建自己的系统。正是 ''用户'' 决定了Arch Linux 的样子<br />
<br />
== 特有的软件管理 ==<br />
通过可以轻松使用的二进制包系统 - [[pacman]] - 一个命令就让您升级整个系统。Arch 同时也拥有一个类似 ports 的包构建系统(Arch Build System),通过它可以轻松构建软件包。它也是一个命令就可完成同步。哦,是的,您也可以用一个命令重新构建(rebuild)整个系统。所有事情都是在一个非常简单、明了的情况下完成的。<br />
<br />
== 时髦的工具 ==<br />
Arch Linux 尽全力保证它的软件都是最新的稳定版本, 基于一个滚动发行系统。我们现在正支持一个流水线化的、用于一个最小化的 i686/x86-64 基础系统的核心软件包集,和几千的附加的、高质量的二进制包,它们分布在开发者和用户维护的软件库里,也有上千个PKGBUILD脚本用来从源代码构建和打包程序。Arch提供非补丁的、原生的软件;软件包是由纯净的上游源码制成的,并且完全依照原作者的理念发布。补丁只存在于极端罕见的情况下,这用来防止在滚动发布时版本不匹配造成的严重错误。Arch结合了很多面向GNU/Linux用户的新功能,包括现代的文件系统(Ext2/3/4,Reiser,XFS,JFS),LVM2/EVMS,软件磁盘阵列,udev支持和initcpio,同时也包括了最新的内核。<br />
<br />
== 简单是关键 ==<br />
Arch 要达到的目标是简单和轻巧,我已经省去于 linux 系统无用的相关部分,比如 /usr/doc 和 info pages。按我个人经验,这些都是没多大用处的,而且真的需要时,可以从网络上获取等价的信息。Man pages 就足够了...<br />
<br />
== 进一步了解 ==<br />
Arch 的主页在 http://www.archlinux.org/ ,在那里您可以找到 [http://bbs.archlinux.org 用户论坛]的链接,官方文档,和所有其他 Arch 相关的东西。也可以通过阅读 [[The Arch Way]] 找到一点这里没有的东西。</div>
Ericcong