https://wiki.archlinux.org/api.php?action=feedcontributions&user=Jarodlau&feedformat=atom
ArchWiki - User contributions [en]
2024-03-29T10:22:25Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=User_talk:Jarodlau&diff=165877
User talk:Jarodlau
2011-10-15T04:31:40Z
<p>Jarodlau: /* 明白了 */ new section</p>
<hr />
<div>== 可是你看看内容 ==<br />
<br />
[[AUR User Guidelines (简体中文)]]这个页面英文Wiki已经没有了(合并到AUR)。<br />
里面的内容还都是很早以前的(09年6月),其中的内容现在根本用不了了。<br />
<br />
== 你可以继续修改 ==<br />
<br />
你可以继续修改,但是不要全文删除啊.<br />
<br />
<br />
把你的翻译写进去,保持和e文的同步,但是不要删除,如果别人在翻译,你这么一删除,别人不是还要再翻译?<br />
<br />
== - - 我删除的那个 ==<br />
<br />
英文已经没有了,内容都已经过时了。<br />
<br />
和英文同步就是重定向到AUR,你自己看看。<br />
<br />
https://wiki.archlinux.org/index.php?title=AUR_User_Guidelines&redirect=no<br />
<br />
== 明白了 ==<br />
<br />
如果你有时间就把翻译的贴出来,不好意思哦</div>
Jarodlau
https://wiki.archlinux.org/index.php?title=User_talk:Jarodlau&diff=165872
User talk:Jarodlau
2011-10-15T04:22:42Z
<p>Jarodlau: /* 你可以继续修改 */ new section</p>
<hr />
<div>== 可是你看看内容 ==<br />
<br />
[[AUR User Guidelines (简体中文)]]这个页面英文Wiki已经没有了(合并到AUR)。<br />
里面的内容还都是很早以前的(09年6月),其中的内容现在根本用不了了。<br />
<br />
== 你可以继续修改 ==<br />
<br />
你可以继续修改,但是不要全文删除啊.<br />
<br />
<br />
把你的翻译写进去,保持和e文的同步,但是不要删除,如果别人在翻译,你这么一删除,别人不是还要再翻译?</div>
Jarodlau
https://wiki.archlinux.org/index.php?title=AUR_User_Guidelines_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=165867
AUR User Guidelines (简体中文)
2011-10-15T04:07:11Z
<p>Jarodlau: Undo revision 165800 by Cuihao (talk)</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:Package_management_(简体中文)]]<br />
[[Category:About_Arch_(简体中文)]]<br />
[[Category:Package_development_(简体中文)]]<br />
[[Category:Guidelines_(简体中文)]]<br />
{{i18n|AUR User Guidelines}}<br />
{{Article summary start}}<br />
{{Article summary text|解释如何访问和使用AUR——Arch社区用户软件仓库。}}<br />
{{Article summary heading|相关文档}}<br />
{{Article summary wiki|AUR Trusted User Guidelines}}<br />
{{Article summary wiki|AUR}}<br />
{{Article summary wiki|AUR Q & A}}<br />
{{Article summary wiki|Aurbuild}}<br />
{{Article summary end}}<br />
<br />
==用途简介==<br />
<br />
AUR的全称是"Arch Linux User-community Repository",即Arch Linux社区用户的软件仓库。它是依靠社区贡献软件包。这个文档告诉普通用户如何使用AUR。 <br />
<br />
==AUR与用户==<br />
<br />
AUR中的软件是社区用户提供的,它们没有技术支持,也不保证其安全性(除非它们被TU标记上安全标志)。AUR软件包不一定会被一直维护也不一定会被及时更新。AUR完全依赖用户贡献,你可以以许多形式为AUR做贡献。<br />
<br />
===在UNSUPPORTED中共享你的PKGBUILD===<br />
用户可以将自己的PKGBUILD在AUR中共享。这些包会被标记为UNSUPPORTED。UNSUPPORTED的软件包是用户以PKGBUILD的形式上传提供的给其他用户下载的,不包含任何二进制文件。其他用户可以通过留言的方式提供关于这个软件包的反馈和改进建议。上传者需要注意你上传的包的信息页面上的留言。 TU们会在检测确定你上传的软件没有恶意代码后,会将这个包标记为"安全的"。但是,这些都是非官方的(TU也是非官方的)。所以,如果你要使用这些软件包,一切后果都由你自己负责。<br />
<br />
到目前为止,还没有官方的下载编译UNSUPORTED中的软件包的工具,但是你可以在wiki或者community里面找到一些这方面的工具。<br />
<br />
===[community]===<br />
[community]仓库中的软件是作为官方的[core]和[extra]这两个仓库的一个补充。里面有许多很受欢迎的软件包。这些软件包都来自UNSUPPORTED并被TU们维护着。这个仓库里的软件包是提供二进制包的,可以直接被pacman安装。你也可以通过ABS获得这些包的源码。当中的一些软件包如果被开发人员认为对发行版很重要,最终会被加入到[core]或者[extra]仓库中去。<br />
<br />
用户可以通过在pacman.conf中加入/注释以下语句来访问AUR的[community]仓库:<br />
Include = /etc/pacman.d/community<br />
如果<code>/etc/pacman.d/community</code>不存在,那么就创建这个文件,文件内容如下:<br />
<pre>[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/</pre><br />
<br />
x86_64的用户,添加下面一行<br />
<pre>[community]<br />
Server = ftp://ftp.archlinux.org/community/os/x86_64/</pre><br />
<br />
如果你想通过ABS下载community中的软件包源码,只需在<code>/etc/abs.conf</code> 文件中找到如下一行,将community前面的叹号"!"删除:<br />
<pre>REPOS=(core extra community)</pre><br />
<br />
===投票===<br />
所有Arch的用户都能为AUR做的一件最简单的事情就是"投票"。注册AUR用户后,你就可以为你喜欢的软件包投票了。具体方法是在你感兴趣的软件包信息web页面中找到"vote"按钮点击即可。所有包都有资格进入community仓库,投票数目是包选拔的一个标准。因此,大家积极投票吧! <br />
<br />
==如何使用AUR==<br />
<br />
===使用UNSUPORTED中的软件包===<br />
要安装UNSUPPORTED中的软件包,你可以遵照如下步骤:<br />
* 用AUR网站上的 [http://aur.archlinux.org/packages.php 搜索] 功能找到你感兴趣的软件包。点击软件包的名字,会打开一个关于这个包的信息页面。在包简介下方你会发现这三个链接:<br />
<pre> Tarball :: Files :: PKGBUILD </pre><br />
* 点击<code>Tarball</code>下载你构建二进制软件包所需要的文件。这个文件叫做<code> foo.tar.gz</code>。其中foo是你需要的包的名称。<br />
* 解压这个文件。它会创建一个新目录,如<code>foo</code>。里面包含了你编译二进制软件包所需的所有文件。<br />
* 注意!!然后仔细检查PKGBUILD和所有的.install文件,看看里面是否有恶意代码。如果有,或者有"疑似"的,千万不要编译它。请在论坛或邮件列表中获得相关建议。<br />
* 建议大家使用 <code>fakeroot</code> 来编译软件包(下面会介绍)。你可以作为普通用户在编译目录运行<code>makepkg</code>来手动检查文件的完整性。源码文件会自动被下载,校验然后编译。<br />
* makepkg会生成一个后缀名为<code>.pkg.tar.gz</code>的包。这个包可以用pacman直接安装。如运行:<br />
<code>pacman -U foo.pkg.tar.gz</code><br />
<br />
"请注意":以上的方法只是一个编译软件包的流程概述。强烈建议阅读 [[ABS]] 文档了解更详细的内容,特别是第一次打包的用户。<br />
<br />
===使用 <code>fakeroot</code> ===<br />
<code>fakeroot</code> 是一个让普通用户获得创建软件包所需的足够权限,而不会改变系统的其它部分。如果编译进程尝试访问编译环境以外的的目录会报错退出 - 这在检测PKGBUILD编写的质量、安全性、完整性十分有用。<code>export USE_FAKEROOT="y"</code>是<code>/etc/makepkg.conf</code>,中的默认配置。因此fakeroot默认是开启的,除非你改变这个配置。<br />
<br />
===向UNSUPPORTED提交软件包===<br />
在AUR网站登录后,用户可以[http://aur.archlinux.org/pkgsubmit.php 提交]一个打包成 tar.gz 格式的压缩包。这个包中需要包含一个目录,目录中有编译软件包需要的文件。这些文件必须包含一个PKGBUILD,任何.install文件,补丁等等(绝对不要包含任何二进制文件)。你可以到/var/abs目录下参看相关的软件包。<br />
<br />
要注意这是一个gzip了的压缩包,换言之,假设你要上传一个名为'libfoo'的包,那么你应该象这个下面这样创建文件(请注意使用-zcvvf参数进行打包):<br />
$ ls -a libfoo<br />
. .. PKGBUILD libfoo.install<br />
$ tar -zcvvf libfoo.tar.gz libfoo<br />
a libfoo<br />
a libfoo/PKGBUILD<br />
a libfoo/libfoo.install<br />
<br />
当你准备要提交一个包时,请注意以下规定:<br />
* 检查 [extra], [current], UNSUPPORTED, 和 [community] 中的已有的包。无论这个包以任何形式存在于这些仓库中,请不要提交此包(如果已有的包无法使用,或者缺少应该具备的功能,请在[http://bugs.archlinux.org/ FlySpray]提交BUG报告。<br />
* 仔细检查以确保你上传的东西是正确的。所有贡献者在编写PKGBUILD时必须阅读并遵守[[Arch Packaging Standards]]中的规则。用户能够基本顺畅而成功的使用AUR是十分重要的。别指望用户在一个糟糕的PKGBUILD上浪费了他们的时间后,还能给你笑脸。<br />
* 包含二进制文件或者写得很烂的包将会在没有任何警告的情况下删除。<br />
* 如果你还不熟悉如何编译、打包、提交软件包,或者还有不其它不明白的地方。在提交到AUR之前,先将你的PKGBUILD提交到AUR邮件列表或者论坛中的AUR板块中。在那里,大家会帮你检查你的软件包。<br />
* 请确认你的包是有用的。其他用户会不会想用这个包?它是不是非常冷门的?如果至少有一些用户发现你的包有用,提交上AUR就是正确的。<br />
* 在提交包之前多多积累经验。自己编译一些包以学习整个流程,然后再提交。<br />
* 如果你提交的package.tar.gz中包含了一个名为'package'的文件,将产生一个错误: 'Could not change to directory /home/aur/unsupported/package/package'。要解决它,可以将'package'文件重命名成其它名字如'package.rc',当它安装到pkg目录后你可以再将它重命名回'package'。<br />
<br />
===维护在UNSUPPORTED中的包===<br />
* 多看看其他用户的反馈,吸取他们的改进建议。把这当成是一个学习的过程!<br />
* 请不要提交后就把它们忘了!在它处于UNSUPPORTED状态时,维护、更新和改进PKGBUILD是上传者的义务。<br />
* 如果你由于种种原因不愿意再维护这个包了,在AUR信息页面中<code>disown</code> 这个包,然后(或者)在AUR邮件列表中发消息。<br />
<br />
==AUR-DMS(下载和管理AUR的脚本)==<br />
<br />
=== AUR-DMS 列表 ===<br />
#[[aurbuild]] (Python) - 从AUR中创建和安装软件包<br />
#aur-install (bash)<br />
#aur-sync (Perl) - 下载所有的AUR包<br />
#aurscripts (bash):<br />
##aurcreate - 为上传AUR创建一个干净的包<br />
##aurdownload - 下载然后解压一个AUR上的包<br />
##aurupdate - 升级一个包的版本(如果指定)然后md5校验<br />
#aurup (bash) - 向AUR上传包<br />
#autarchy (bash) - 创建一个包含PKGBUILD所需的所有文件的包(比aurcreate更好)<br />
#autoaur (bash) - 依赖aurscripts,自动升级你从AUR中安装的包<br />
#[[qpkg]] (Python) - 也能用于非AUR软件,*已停止开发*<br />
#[http://archlinux.fr/yaourt-en yaourt] (bash) - srcpac的一个封装器,支持AUR和更多功能<br />
<br />
所有脚本可以在 UNSUPPORTED 中找到。</div>
Jarodlau
https://wiki.archlinux.org/index.php?title=User_talk:Cuihao&diff=165866
User talk:Cuihao
2011-10-15T04:03:49Z
<p>Jarodlau: /* 不要 轻易删除翻译好的文档 */ new section</p>
<hr />
<div>是在这里留言的吗?<br />
caohui同学,你是一个高二的小弟弟呀?好小啊,呵呵,还是郑州的,我也是河南的,在郑州上过4年学又工作过一年现在在深圳。<br />
真羡慕你这么小的年纪就开始玩Arch又能翻译这里的文章。<br />
呵呵,闲聊两句,祝你开心!<br />
<br />
== 不要 轻易删除翻译好的文档 ==<br />
<br />
不要轻易删除翻译好的文档!!!!!</div>
Jarodlau
https://wiki.archlinux.org/index.php?title=User_talk:Cuihao&diff=165865
User talk:Cuihao
2011-10-15T04:03:20Z
<p>Jarodlau: </p>
<hr />
<div>是在这里留言的吗?<br />
caohui同学,你是一个高二的小弟弟呀?好小啊,呵呵,还是郑州的,我也是河南的,在郑州上过4年学又工作过一年现在在深圳。<br />
真羡慕你这么小的年纪就开始玩Arch又能翻译这里的文章。<br />
呵呵,闲聊两句,祝你开心!</div>
Jarodlau
https://wiki.archlinux.org/index.php?title=User_talk:Cuihao&diff=165863
User talk:Cuihao
2011-10-15T04:02:57Z
<p>Jarodlau: </p>
<hr />
<div>是在这里留言的吗?<br />
caohui同学,你是一个高二的小弟弟呀?好小啊,呵呵,还是郑州的,我也是河南的,在郑州上过4年学又工作过一年现在在深圳。<br />
真羡慕你这么小的年纪就开始玩Arch又能翻译这里的文章。<br />
呵呵,闲聊两句,祝你开心!<br />
<br />
<br />
不要轻易删除翻译好的文档!!!!!</div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Preparation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160624
Beginners' Guide/Preparation (简体中文)
2011-09-18T21:51:39Z
<p>Jarodlau: /* 文档 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources]]<br />
{{i18n|Beginners' Guide/Preparation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==准备安装==<br />
{{Note|要将 Arch 安装到已经存在的 GNU/Linux 发行版或者 LiveCD,请参阅 [[Install from Existing Linux (简体中文)|这篇文章]] 。这种方式特别适用于使用 VNC 或者 SSH 进行的远程安装。 下面的内容假设使用传统的安装方式。}}<br />
<br />
===获得最新的安装媒介===<br />
<br />
你可以在[http://archlinux.org/download/ 这里]找到官方的 Arch Linux 安装媒介。最新的版本是2011.08.19。<br />
<br />
* Core 和 Netinstall 映像文件都只提供创建 '''Arch Linux 基本系统'''必须的包。'''要注意的是,此基本系统不包含图形用户界面。主要包含了 GNU 工具链(编译器,汇编器,连接器,库,shell和基本工具程序),Linux内核,一些附加库和模块。'''<br />
* Core 映像可以方便的从 CD 或者网络进行安装。<br />
* Netinstall 映像则更小,自身不包含软件包;整个系统都是通过网络下载。<br />
* [[Arch64_FAQ (简体中文)|Arch64 FAQ]] 中的信息可以帮你从32位、64位或混合版本中选择合适的系统。<br />
* 记得下载 ISO 对应的校验码文件。<br />
<br />
====检查下载文件的完整性====<br />
<br />
打开终端,<code>cd</code> 到下载文件所在的目录,然后执行 <code>sha1sum</code> 命令:<br />
{{Cli|$ sha1sum --check name_of_checksum_file.txt name_of_selected_iso_file.iso}}<br />
并在你所给出的 .iso 文件名后面显示 "OK" (请忽略其它条目)。如果没有显示 "OK" ,请就重新下载文件。<br />
md5sum 也是以同样方式检查。<br />
<br />
====网络安装方式====<br />
<br />
如果你选择网络安装,就没必要刻录光盘或者写闪存了,可以直接网络启动.iso映像文件,但前提是你已经有一个开启的服务器。细节请参考 [[Install Arch from network (via PXE)|这篇文章]] ,然后继续 [[#启动 ArchLinux 安装程序|启动 Arch Linux 安装程序]]。<br />
<br />
====光盘安装====<br />
用你喜欢的光盘刻录机和刻录软件把 .iso 映像文件刻录到光盘上,然后从[[#启动 ArchLinux 安装程序|启动 Arch Linux 安装程序]]继续。<br />
{{Note|不同刻录机和光盘的质量差别是非常大的。为了得到可靠的刻录质量,通常使用低速刻录,有些用户建议用4x甚至2x的速度。如果有过刻录异常的情况,请试着将速度调至系统支持的最低速。}}<br />
<br />
====闪存安装方式====<br />
<br />
更多信息,请参阅 [[Install_from_a_USB_flash_drive|从 USB flash 设备安装]]。<br />
<br />
无论是使用读卡器还是使用 USB 接口,只要 BIOS 支持从中启动,都能用这种方式安装 ArchLinux。<br />
<br />
{{Warning|此方式将破坏闪盘中原有的数据。同样,请注意你写入镜像文件的位置。因为 dd 将写入给出的任意位置,即使硬盘也是一样。}}<br />
<br />
=====*nix 方式=====<br />
<br />
插入空白的或者无需要数据的闪存设备,确定路径,用<code>/bin/dd</code>程序把 .iso 写入闪存设备:<br />
{{cli|<nowiki># dd if=archlinux-2011.08.19-''{core|netinstall}''-''{i686|x86_64|dual}''.iso of=/dev/sd''x''</nowiki>}}<br />
<code>if=</code> 后面是.iso镜像文件的路径,<code>of=</code> 是 USB 的路径. '''注意'''要使用{{Filename|/dev/sd'''x'''}}而不是{{Filename|/dev/sd'''x1'''}}(就是要使用整个分区而不是第一分区). usb设备需要有足够大的空间用于写入ISO镜像。<br />
<br />
要检查镜像是否正确写入,记下读入和写出的记录区数目,然后执行以下命令进行检查:<br />
<br />
{{cli|<nowiki> # dd if=/dev/sd''x'' count=''number_of_records'' status=noxfer | md5sum</nowiki>}}<br />
<br />
md5sum 命令返回的值要与所下载 [http://www.archlinux.org/iso/2011.08.19/md5sums.txt md5sum of the downloaded archlinux image file (2011.08.19)] 相同。;它们都应该和下载站中的值相同。一个典型的操作过程如下:<br />
<br />
把 .iso 写到硬盘<br />
{{Command|<nowiki>[sudo] dd if=archlinux-2011.08.19-core-i686.iso of=/dev/sdc</nowiki>|<nowiki> 744973+0 records in<br />
744973+0 records out<br />
381426176 bytes (381 MB) copied, 106.611 s, 3.6 MB/s<br />
</nowiki>}}<br />
<br />
完整性检验:<br />
{{Command|<nowiki>[sudo] dd if=/dev/sdc count=744973 status=noxfer | md5sum</nowiki>| 4850d533ddd343b80507543536258229 -<br />
744973+0 records in<br />
744973+0 records out}}<br />
<br />
<br />
继续[[#启动 ArchLinux 安装程序|启动 Arch Linux 安装程序]]<br />
<br />
=====微软视窗方式=====<br />
<br />
从 https://launchpad.net/win32-image-writer/+download 下载 Disk Imager。插入闪存设备,启动 Disk Imager 并选择映像文件(Disk Imager 仅接受 *.IMG 文件,所以应该在打开对话框中输入 "*.iso" 以选中 Arch 文件),再选择U盘相应的磁盘驱动号,点击"write"即可。<br />
<br />
也有其他方法来[[Install_from_a_USB_flash_drive#On_Windows|写入可引导 ISO 镜像到闪存]]。如果遇到无法连接闪存的问题,试试其他的 USB 接口和连接线。<br />
<br />
继续 [[#启动 ArchLinux 安装程序|启动 Arch Linux 安装程序]]<br />
<br />
===启动 ArchLinux 安装程序===<br />
<br />
{{Tip|基本安装所需内存为 64 MB}}<br />
<br />
{{Tip|安装过程可能被自动黑屏打扰,如果黑屏了,按 Alt 键就可以安全地唤醒正常显示画面}}<br />
<br />
====引导====<br />
插入准备好的光盘或者闪存设备,然后用它启动电脑。可能需要在 BIOS 里改变一下启动顺序,(通常是在启动后的加电自检过程中按 DEL、F1、F2、F11 或者 F12)<br />
<br />
'''主菜单:''' 引导后应该可以看到主菜单,用上下箭头高亮选项,按下回车键进行选择,不同的 ISO 菜单略有不同。<br />
<br />
{{Note|通过 SSH 连接远程安装的用户需要进行一些特殊的调整才能 ssh 到 live CD 环境,请参阅[[Install from SSH|从 SSH 安装]]。}}<br />
<br />
====启动操作系统====<br />
系统将加载并给出登录提示。以 'root' 登录(不包括引号)。<br />
<br />
如果使用英特尔显卡,在引导阶段可能黑屏,问题可能和 kernel mode setting 有关。一个可能的解决方法是重启电脑,并在 grub 菜单上按 tab 键进入内核选项。在最后加上一个空格和:<br />
i915.modeset=0<br />
如果是ati显卡,可能在引导阶段出现竖线屏,解决方法也是修改grub引导内容,也是在 kernel 项最后加上一个空格和:<br />
nomodeset<br />
<br />
完成菜单项里边的设置后,只要按下回车键就会继续引导,更多信息,请参阅[[Intel| the Intel article]]<br />
<br />
====更换键盘映射表====<br />
如果使用非 US 键盘布局,可以通过下面的命令选择相应的键盘映射表。<br />
{{cli|# km}}<br />
或者是使用 loadkeys 命令<br />
{{cli|# loadkeys ''layout''}}<br />
(把''layout''替换成你需要的布局,比如 &quot;<code>fr</code>&quot; 或者 &quot;<code>be-latin1</code>&quot;)<br />
<br />
====文档====<br />
<br />
<br />
live CD 里面已经包含了官方安装指南。在安装的时候可以边安装边查看,按组合键 <ALT>+F2 切换到控制台 tty2 (virtual console #2),以 root 登录然后在 # 提示符后输入:<br />
{{Cli|# less /usr/share/aif/docs/official_installation_guide_en}}<br />
<br />
使用 <code>less</code> 是因为它的翻页功能使得查看文档更方便。<br />
<br />
按组合键 <ALT>+F1 回到安装过程。(整个系统安装过程中, 你随时都可以切换 tty2 查看安装向导)<br />
<br />
{{tip|请注意官方指南仅涵盖基本系统的安装和配置,强烈建议安装后回到此 Wiki 获取安装后的考虑和其它相关事宜。}}<noinclude><br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160358
Beginners' guide (简体中文)
2011-09-16T23:24:26Z
<p>Jarodlau: /* 交换分区 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup (简体中文)|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup (简体中文)|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户推荐超过物理内存容量的10%-15%都是可以的。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
'''mkinitcpio'''是下一代 '''initramfs 生成器'''。与以前的 '''mkinitrd''' 和 '''mkinitramfs''' 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' '''TuxOnIce'''从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "{{Codeline|keymap}} " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "{{Codeline|usbinput}}" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "{{Codeline|usb}}",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]]('''GR'''and '''U'''nified '''B'''ootloader),除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro quiet<br />
initrd /boot/initramfs-linux.img<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz-linux root=/dev/sda3 ro quiet<br />
initrd /initramfs-linux.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160356
Beginners' guide (简体中文)
2011-09-16T23:22:56Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup (简体中文)|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup (简体中文)|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
'''mkinitcpio'''是下一代 '''initramfs 生成器'''。与以前的 '''mkinitrd''' 和 '''mkinitramfs''' 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' '''TuxOnIce'''从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "{{Codeline|keymap}} " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "{{Codeline|usbinput}}" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "{{Codeline|usb}}",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]]('''GR'''and '''U'''nified '''B'''ootloader),除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro quiet<br />
initrd /boot/initramfs-linux.img<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz-linux root=/dev/sda3 ro quiet<br />
initrd /initramfs-linux.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160353
Beginners' guide (简体中文)
2011-09-16T23:22:10Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup (简体中文)|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
'''mkinitcpio'''是下一代 '''initramfs 生成器'''。与以前的 '''mkinitrd''' 和 '''mkinitramfs''' 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' '''TuxOnIce'''从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "{{Codeline|keymap}} " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "{{Codeline|usbinput}}" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "{{Codeline|usb}}",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]]('''GR'''and '''U'''nified '''B'''ootloader),除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro quiet<br />
initrd /boot/initramfs-linux.img<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz-linux root=/dev/sda3 ro quiet<br />
initrd /initramfs-linux.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160352
Beginners' guide (简体中文)
2011-09-16T23:18:50Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
'''mkinitcpio'''是下一代 '''initramfs 生成器'''。与以前的 '''mkinitrd''' 和 '''mkinitramfs''' 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' '''TuxOnIce'''从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "{{Codeline|keymap}} " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "{{Codeline|usbinput}}" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "{{Codeline|usb}}",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]]('''GR'''and '''U'''nified '''B'''ootloader),除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro quiet<br />
initrd /boot/initramfs-linux.img<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz-linux root=/dev/sda3 ro quiet<br />
initrd /initramfs-linux.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_via_SSH_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160351
Install Arch Linux via SSH (简体中文)
2011-09-16T23:13:02Z
<p>Jarodlau: /* 从安装媒体启动 */</p>
<hr />
<div>{{i18n|Install from SSH}}<br />
==简介==<br />
这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法:<br />
<br />
在以下情况安装Arch...<br />
*没有显示器的HTPC(比如,一个SDTV).<br />
*一个在另外城市,省份,国家的PC.(朋友的家,家人的家,等等)<br />
*一个你不能实地操作的PC,比如具有可以从这个Arch Wiki粘贴/复制能力的我自己的很舒服的工作站.<br />
<br />
{{Note|前2步需要直接的物理控制PC.显然,如果PC在别处,就需要另外一个人的协调}}<br />
<br />
==从安装媒体启动==<br />
<br />
使用[[Beginners' Guide (简体中文)#获得最新的安装媒介|获得最新的安装媒介]]启动PC到Arch的live环境,并且以'''root'''登陆.<br />
<br />
==为使用SSH设置live安装环境==<br />
<br />
{{Note|下面的命令必须以root账户执行.'''#'''提示是为了复制/粘贴方便而故意忽略了}}<br />
<br />
在你的脑中要有每一行前面都有'''[root@archiso~]#'''的概念.<br />
<br />
*首先,建立目标机器的网络设置:<br />
{{cli|aif -p partial-configure-network}}<br />
<br />
这个要求你至少懂点目标机器的网络接口,把你想使用的网络接口输入进去(比如,eth0作为有线以太网的接口)<br />
<br />
*第2步,使用sync把安装环境用源同步,安装openssh包,然后执行:<br />
{{cli|pacman -Syy openssh}}<br />
{{cli|rc.d start sshd}}<br />
<br />
{{Note|考虑到安装介质的年龄,pacman总要抱怨它自己要第一个被更新.考虑到只要简单的安装sshd包,推荐取消pacman的更新要求从而只安装一个包(openssh).}}<br />
<br />
*最后,为建立ssh链接设立一个root密码;默认root的arch密码是空的.<br />
<br />
{{cli|passwd}}<br />
<br />
==通过SSH连接到目标PC==<br />
<br />
使用下面的命令以链接到目标机器:<br />
{{cli|$ ssh root@ip.address.of.target}}<br />
<br />
从现在开始尽管我们在本地,也可以通过我们自己的键盘控制远程的机器显示安装画面了.<br />
<br />
<pre>ssh root@10.1.10.105<br />
root@10.1.10.105's password: <br />
Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200<br />
**************************************************************<br />
* To begin installation, run /arch/setup *<br />
* You can find documentation at *<br />
* /usr/share/aif/docs/official_installation_guide_en *<br />
* *<br />
* i18n: Use the 'km' utility to change your keyboard layout *<br />
* and console font. *<br />
* *<br />
* If you are looking to install Arch on something more *<br />
* exotic, such as your kerosene-powered cheese grater, *<br />
* please consult http://wiki.archlinux.org. *<br />
* *<br />
**************************************************************<br />
[root@archiso ~]#</pre><br />
<br />
===注意===<br />
*如果目标机器处在防火墙/路由的后面,ssh默认的22端口需要传递给目标机器在的本地LAN IP地址.这个端口的传递不在本文的讨论范围.<br />
*必须有人编辑在目标机器上的{{Filename|/etc/ssh/sshd_config}}以为了sshd已经以daemon启动.<br />
<br />
==最后一步==<br />
<br />
天空是很近的.想启动从这个安装介质启动Arch的安装程序,只需要简单的运行 {{filename|/arch/setup}}.如果安装失败了,察看[[Install from Existing Linux]]的wiki文章.<br />
<br />
想要[[grub2]]或者使用[[GPT]]硬盘?<br />
<br />
*如果想要在运行安装环境的机器上,重新通过'''pacman -S gdisk'''安装的'''gdisk'''来手工的对目标机器的HDD/SDD硬盘分区,只要简单的回答no然后返回live安装环境的root提示符.<br />
*安装grub2是很繁琐的.简单的chroot进新安装的arch环境(如果从安装环境出来了就重新挂载)然后安装grub2:<br />
<br />
<pre><br />
cd /mnt<br />
rm console ; mknod -m 600 console c 5 1<br />
rm null ; mknod -m 666 null c 1 3<br />
rm zero ; mknod -m 666 zero c 1 5<br />
mount -t proc proc /mnt/proc<br />
mount -t sysfs sys /mnt/sys<br />
mount -o bind /dev /mnt/dev<br />
chroot /mnt /bin/bash<br />
</pre><br />
<br />
现在进入这个新的Arch的chroot:<br />
<br />
<pre><br />
pacman -S grub2<br />
grep -v rootfs /proc/mounts > /etc/mtab<br />
</pre><br />
<br />
按照你喜欢的方式编辑{{Filename|/etc/default/grub}}.<br />
安装grub并且生成一个grub.cfg<br />
<br />
<pre><br />
grub-install /dev/sdX --no-floppy<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
{{Note|上面的命令建立在用户现在GPT硬盘上启动,并且充分的理解了上述wiki文章,而且还有可供grub2使用的1Mb的ef02分区.}}<br />
<br />
当准备好重启新的Arch机器前,离开chroot环境并且卸载掉前面挂载的分区以方便重启机器.<br />
<br />
<pre><br />
exit<br />
umount /mnt/boot # if mounted this or any other separate partitions<br />
umount /mnt/{proc,sys,dev}<br />
umount /mnt<br />
</pre></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_via_SSH_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160350
Install Arch Linux via SSH (简体中文)
2011-09-16T23:12:35Z
<p>Jarodlau: /* 从安装媒体启动 */</p>
<hr />
<div>{{i18n|Install from SSH}}<br />
==简介==<br />
这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法:<br />
<br />
在以下情况安装Arch...<br />
*没有显示器的HTPC(比如,一个SDTV).<br />
*一个在另外城市,省份,国家的PC.(朋友的家,家人的家,等等)<br />
*一个你不能实地操作的PC,比如具有可以从这个Arch Wiki粘贴/复制能力的我自己的很舒服的工作站.<br />
<br />
{{Note|前2步需要直接的物理控制PC.显然,如果PC在别处,就需要另外一个人的协调}}<br />
<br />
==从安装媒体启动==<br />
<br />
使用[[Beginners' Guide (简体中文)#获得最新的安装媒介|live CD/USB image]]启动PC到Arch的live环境,并且以'''root'''登陆.<br />
<br />
==为使用SSH设置live安装环境==<br />
<br />
{{Note|下面的命令必须以root账户执行.'''#'''提示是为了复制/粘贴方便而故意忽略了}}<br />
<br />
在你的脑中要有每一行前面都有'''[root@archiso~]#'''的概念.<br />
<br />
*首先,建立目标机器的网络设置:<br />
{{cli|aif -p partial-configure-network}}<br />
<br />
这个要求你至少懂点目标机器的网络接口,把你想使用的网络接口输入进去(比如,eth0作为有线以太网的接口)<br />
<br />
*第2步,使用sync把安装环境用源同步,安装openssh包,然后执行:<br />
{{cli|pacman -Syy openssh}}<br />
{{cli|rc.d start sshd}}<br />
<br />
{{Note|考虑到安装介质的年龄,pacman总要抱怨它自己要第一个被更新.考虑到只要简单的安装sshd包,推荐取消pacman的更新要求从而只安装一个包(openssh).}}<br />
<br />
*最后,为建立ssh链接设立一个root密码;默认root的arch密码是空的.<br />
<br />
{{cli|passwd}}<br />
<br />
==通过SSH连接到目标PC==<br />
<br />
使用下面的命令以链接到目标机器:<br />
{{cli|$ ssh root@ip.address.of.target}}<br />
<br />
从现在开始尽管我们在本地,也可以通过我们自己的键盘控制远程的机器显示安装画面了.<br />
<br />
<pre>ssh root@10.1.10.105<br />
root@10.1.10.105's password: <br />
Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200<br />
**************************************************************<br />
* To begin installation, run /arch/setup *<br />
* You can find documentation at *<br />
* /usr/share/aif/docs/official_installation_guide_en *<br />
* *<br />
* i18n: Use the 'km' utility to change your keyboard layout *<br />
* and console font. *<br />
* *<br />
* If you are looking to install Arch on something more *<br />
* exotic, such as your kerosene-powered cheese grater, *<br />
* please consult http://wiki.archlinux.org. *<br />
* *<br />
**************************************************************<br />
[root@archiso ~]#</pre><br />
<br />
===注意===<br />
*如果目标机器处在防火墙/路由的后面,ssh默认的22端口需要传递给目标机器在的本地LAN IP地址.这个端口的传递不在本文的讨论范围.<br />
*必须有人编辑在目标机器上的{{Filename|/etc/ssh/sshd_config}}以为了sshd已经以daemon启动.<br />
<br />
==最后一步==<br />
<br />
天空是很近的.想启动从这个安装介质启动Arch的安装程序,只需要简单的运行 {{filename|/arch/setup}}.如果安装失败了,察看[[Install from Existing Linux]]的wiki文章.<br />
<br />
想要[[grub2]]或者使用[[GPT]]硬盘?<br />
<br />
*如果想要在运行安装环境的机器上,重新通过'''pacman -S gdisk'''安装的'''gdisk'''来手工的对目标机器的HDD/SDD硬盘分区,只要简单的回答no然后返回live安装环境的root提示符.<br />
*安装grub2是很繁琐的.简单的chroot进新安装的arch环境(如果从安装环境出来了就重新挂载)然后安装grub2:<br />
<br />
<pre><br />
cd /mnt<br />
rm console ; mknod -m 600 console c 5 1<br />
rm null ; mknod -m 666 null c 1 3<br />
rm zero ; mknod -m 666 zero c 1 5<br />
mount -t proc proc /mnt/proc<br />
mount -t sysfs sys /mnt/sys<br />
mount -o bind /dev /mnt/dev<br />
chroot /mnt /bin/bash<br />
</pre><br />
<br />
现在进入这个新的Arch的chroot:<br />
<br />
<pre><br />
pacman -S grub2<br />
grep -v rootfs /proc/mounts > /etc/mtab<br />
</pre><br />
<br />
按照你喜欢的方式编辑{{Filename|/etc/default/grub}}.<br />
安装grub并且生成一个grub.cfg<br />
<br />
<pre><br />
grub-install /dev/sdX --no-floppy<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
{{Note|上面的命令建立在用户现在GPT硬盘上启动,并且充分的理解了上述wiki文章,而且还有可供grub2使用的1Mb的ef02分区.}}<br />
<br />
当准备好重启新的Arch机器前,离开chroot环境并且卸载掉前面挂载的分区以方便重启机器.<br />
<br />
<pre><br />
exit<br />
umount /mnt/boot # if mounted this or any other separate partitions<br />
umount /mnt/{proc,sys,dev}<br />
umount /mnt<br />
</pre></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_via_SSH_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160349
Install Arch Linux via SSH (简体中文)
2011-09-16T23:07:14Z
<p>Jarodlau: /* 最后一步 */</p>
<hr />
<div>{{i18n|Install from SSH}}<br />
==简介==<br />
这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法:<br />
<br />
在以下情况安装Arch...<br />
*没有显示器的HTPC(比如,一个SDTV).<br />
*一个在另外城市,省份,国家的PC.(朋友的家,家人的家,等等)<br />
*一个你不能实地操作的PC,比如具有可以从这个Arch Wiki粘贴/复制能力的我自己的很舒服的工作站.<br />
<br />
{{Note|前2步需要直接的物理控制PC.显然,如果PC在别处,就需要另外一个人的协调}}<br />
<br />
==从安装媒体启动==<br />
<br />
使用[[Beginners'_Guide#Obtain_the_latest_installation_media|live CD/USB image]]启动PC到Arch的live环境,并且以'''root'''登陆.<br />
<br />
==为使用SSH设置live安装环境==<br />
<br />
{{Note|下面的命令必须以root账户执行.'''#'''提示是为了复制/粘贴方便而故意忽略了}}<br />
<br />
在你的脑中要有每一行前面都有'''[root@archiso~]#'''的概念.<br />
<br />
*首先,建立目标机器的网络设置:<br />
{{cli|aif -p partial-configure-network}}<br />
<br />
这个要求你至少懂点目标机器的网络接口,把你想使用的网络接口输入进去(比如,eth0作为有线以太网的接口)<br />
<br />
*第2步,使用sync把安装环境用源同步,安装openssh包,然后执行:<br />
{{cli|pacman -Syy openssh}}<br />
{{cli|rc.d start sshd}}<br />
<br />
{{Note|考虑到安装介质的年龄,pacman总要抱怨它自己要第一个被更新.考虑到只要简单的安装sshd包,推荐取消pacman的更新要求从而只安装一个包(openssh).}}<br />
<br />
*最后,为建立ssh链接设立一个root密码;默认root的arch密码是空的.<br />
<br />
{{cli|passwd}}<br />
<br />
==通过SSH连接到目标PC==<br />
<br />
使用下面的命令以链接到目标机器:<br />
{{cli|$ ssh root@ip.address.of.target}}<br />
<br />
从现在开始尽管我们在本地,也可以通过我们自己的键盘控制远程的机器显示安装画面了.<br />
<br />
<pre>ssh root@10.1.10.105<br />
root@10.1.10.105's password: <br />
Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200<br />
**************************************************************<br />
* To begin installation, run /arch/setup *<br />
* You can find documentation at *<br />
* /usr/share/aif/docs/official_installation_guide_en *<br />
* *<br />
* i18n: Use the 'km' utility to change your keyboard layout *<br />
* and console font. *<br />
* *<br />
* If you are looking to install Arch on something more *<br />
* exotic, such as your kerosene-powered cheese grater, *<br />
* please consult http://wiki.archlinux.org. *<br />
* *<br />
**************************************************************<br />
[root@archiso ~]#</pre><br />
<br />
===注意===<br />
*如果目标机器处在防火墙/路由的后面,ssh默认的22端口需要传递给目标机器在的本地LAN IP地址.这个端口的传递不在本文的讨论范围.<br />
*必须有人编辑在目标机器上的{{Filename|/etc/ssh/sshd_config}}以为了sshd已经以daemon启动.<br />
<br />
==最后一步==<br />
<br />
天空是很近的.想启动从这个安装介质启动Arch的安装程序,只需要简单的运行 {{filename|/arch/setup}}.如果安装失败了,察看[[Install from Existing Linux]]的wiki文章.<br />
<br />
想要[[grub2]]或者使用[[GPT]]硬盘?<br />
<br />
*如果想要在运行安装环境的机器上,重新通过'''pacman -S gdisk'''安装的'''gdisk'''来手工的对目标机器的HDD/SDD硬盘分区,只要简单的回答no然后返回live安装环境的root提示符.<br />
*安装grub2是很繁琐的.简单的chroot进新安装的arch环境(如果从安装环境出来了就重新挂载)然后安装grub2:<br />
<br />
<pre><br />
cd /mnt<br />
rm console ; mknod -m 600 console c 5 1<br />
rm null ; mknod -m 666 null c 1 3<br />
rm zero ; mknod -m 666 zero c 1 5<br />
mount -t proc proc /mnt/proc<br />
mount -t sysfs sys /mnt/sys<br />
mount -o bind /dev /mnt/dev<br />
chroot /mnt /bin/bash<br />
</pre><br />
<br />
现在进入这个新的Arch的chroot:<br />
<br />
<pre><br />
pacman -S grub2<br />
grep -v rootfs /proc/mounts > /etc/mtab<br />
</pre><br />
<br />
按照你喜欢的方式编辑{{Filename|/etc/default/grub}}.<br />
安装grub并且生成一个grub.cfg<br />
<br />
<pre><br />
grub-install /dev/sdX --no-floppy<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
{{Note|上面的命令建立在用户现在GPT硬盘上启动,并且充分的理解了上述wiki文章,而且还有可供grub2使用的1Mb的ef02分区.}}<br />
<br />
当准备好重启新的Arch机器前,离开chroot环境并且卸载掉前面挂载的分区以方便重启机器.<br />
<br />
<pre><br />
exit<br />
umount /mnt/boot # if mounted this or any other separate partitions<br />
umount /mnt/{proc,sys,dev}<br />
umount /mnt<br />
</pre></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_via_SSH_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160348
Install Arch Linux via SSH (简体中文)
2011-09-16T23:05:06Z
<p>Jarodlau: /* 简介 */</p>
<hr />
<div>{{i18n|Install from SSH}}<br />
==简介==<br />
这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法:<br />
<br />
在以下情况安装Arch...<br />
*没有显示器的HTPC(比如,一个SDTV).<br />
*一个在另外城市,省份,国家的PC.(朋友的家,家人的家,等等)<br />
*一个你不能实地操作的PC,比如具有可以从这个Arch Wiki粘贴/复制能力的我自己的很舒服的工作站.<br />
<br />
{{Note|前2步需要直接的物理控制PC.显然,如果PC在别处,就需要另外一个人的协调}}<br />
<br />
==从安装媒体启动==<br />
<br />
使用[[Beginners'_Guide#Obtain_the_latest_installation_media|live CD/USB image]]启动PC到Arch的live环境,并且以'''root'''登陆.<br />
<br />
==为使用SSH设置live安装环境==<br />
<br />
{{Note|下面的命令必须以root账户执行.'''#'''提示是为了复制/粘贴方便而故意忽略了}}<br />
<br />
在你的脑中要有每一行前面都有'''[root@archiso~]#'''的概念.<br />
<br />
*首先,建立目标机器的网络设置:<br />
{{cli|aif -p partial-configure-network}}<br />
<br />
这个要求你至少懂点目标机器的网络接口,把你想使用的网络接口输入进去(比如,eth0作为有线以太网的接口)<br />
<br />
*第2步,使用sync把安装环境用源同步,安装openssh包,然后执行:<br />
{{cli|pacman -Syy openssh}}<br />
{{cli|rc.d start sshd}}<br />
<br />
{{Note|考虑到安装介质的年龄,pacman总要抱怨它自己要第一个被更新.考虑到只要简单的安装sshd包,推荐取消pacman的更新要求从而只安装一个包(openssh).}}<br />
<br />
*最后,为建立ssh链接设立一个root密码;默认root的arch密码是空的.<br />
<br />
{{cli|passwd}}<br />
<br />
==通过SSH连接到目标PC==<br />
<br />
使用下面的命令以链接到目标机器:<br />
{{cli|$ ssh root@ip.address.of.target}}<br />
<br />
从现在开始尽管我们在本地,也可以通过我们自己的键盘控制远程的机器显示安装画面了.<br />
<br />
<pre>ssh root@10.1.10.105<br />
root@10.1.10.105's password: <br />
Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200<br />
**************************************************************<br />
* To begin installation, run /arch/setup *<br />
* You can find documentation at *<br />
* /usr/share/aif/docs/official_installation_guide_en *<br />
* *<br />
* i18n: Use the 'km' utility to change your keyboard layout *<br />
* and console font. *<br />
* *<br />
* If you are looking to install Arch on something more *<br />
* exotic, such as your kerosene-powered cheese grater, *<br />
* please consult http://wiki.archlinux.org. *<br />
* *<br />
**************************************************************<br />
[root@archiso ~]#</pre><br />
<br />
===注意===<br />
*如果目标机器处在防火墙/路由的后面,ssh默认的22端口需要传递给目标机器在的本地LAN IP地址.这个端口的传递不在本文的讨论范围.<br />
*必须有人编辑在目标机器上的{{Filename|/etc/ssh/sshd_config}}以为了sshd已经以daemon启动.<br />
<br />
==最后一步==<br />
<br />
天空是很近的.想启动从这个安装介质启动Arch的安装程序,只需要简单的运行 {{filename|/arch/setup}}.如果安装失败了,察看[[Install from Existing Linux]]的wiki文章.<br />
<br />
想要[[grub2]]或者使用[[GPT]]硬盘?<br />
<br />
*如果想要在运行安装环境的机器上,重新通过'''pacman -S gdisk'''安装的'''gdisk'''来手工的对目标机器的HDD/SDD硬盘分区,只要简单的回答no然后返回live安装环境的root提示符.<br />
*安装grub2是很繁琐的.简单的chroot进新安装的arch环境(如果从安装环境出来了就重新挂载)然后安装grub2:<br />
<br />
<pre>cd /mnt<br />
rm console ; mknod -m 600 console c 5 1<br />
rm null ; mknod -m 666 null c 1 3<br />
rm zero ; mknod -m 666 zero c 1 5<br />
mount -t proc proc /mnt/proc<br />
mount -t sysfs sys /mnt/sys<br />
mount -o bind /dev /mnt/dev<br />
chroot /mnt /bin/bash</pre><br />
<br />
现在进入这个新的Arch的chroot:<br />
<br />
<pre><br />
pacman -S grub2<br />
grep -v rootfs /proc/mounts > /etc/mtab<br />
</pre><br />
<br />
按照你喜欢的方式编辑{{Filename|/etc/default/grub}}.<br />
安装grub并且生成一个grub.cfg<br />
<br />
<pre><br />
grub-install /dev/sdX --no-floppy<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
{{Note|上面的命令建立在用户现在GPT硬盘上启动,并且充分的理解了上述wiki文章,而且还有可供grub2使用的1Mb的ef02分区.}}<br />
<br />
当准备好重启新的Arch机器前,离开chroot环境并且卸载掉前面挂载的分区以方便重启机器.<br />
<br />
<pre><br />
exit<br />
umount /mnt/boot # if mounted this or any other separate partitions<br />
umount /mnt/{proc,sys,dev}<br />
umount /mnt<br />
</pre></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_via_SSH_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160345
Install Arch Linux via SSH (简体中文)
2011-09-16T22:59:59Z
<p>Jarodlau: Install from SSH (简体中文)</p>
<hr />
<div>==简介==<br />
这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法:<br />
<br />
在以下情况安装Arch...<br />
*没有显示器的HTPC(比如,一个SDTV).<br />
*一个在另外城市,省份,国家的PC.(朋友的家,家人的家,等等)<br />
*一个你不能实地操作的PC,比如具有可以从这个Arch Wiki粘贴/复制能力的我自己的很舒服的工作站.<br />
<br />
{{Note|前2步需要直接的物理控制PC.显然,如果PC在别处,就需要另外一个人的协调}}<br />
<br />
==从安装媒体启动==<br />
<br />
使用[[Beginners'_Guide#Obtain_the_latest_installation_media|live CD/USB image]]启动PC到Arch的live环境,并且以'''root'''登陆.<br />
<br />
==为使用SSH设置live安装环境==<br />
<br />
{{Note|下面的命令必须以root账户执行.'''#'''提示是为了复制/粘贴方便而故意忽略了}}<br />
<br />
在你的脑中要有每一行前面都有'''[root@archiso~]#'''的概念.<br />
<br />
*首先,建立目标机器的网络设置:<br />
{{cli|aif -p partial-configure-network}}<br />
<br />
这个要求你至少懂点目标机器的网络接口,把你想使用的网络接口输入进去(比如,eth0作为有线以太网的接口)<br />
<br />
*第2步,使用sync把安装环境用源同步,安装openssh包,然后执行:<br />
{{cli|pacman -Syy openssh}}<br />
{{cli|rc.d start sshd}}<br />
<br />
{{Note|考虑到安装介质的年龄,pacman总要抱怨它自己要第一个被更新.考虑到只要简单的安装sshd包,推荐取消pacman的更新要求从而只安装一个包(openssh).}}<br />
<br />
*最后,为建立ssh链接设立一个root密码;默认root的arch密码是空的.<br />
<br />
{{cli|passwd}}<br />
<br />
==通过SSH连接到目标PC==<br />
<br />
使用下面的命令以链接到目标机器:<br />
{{cli|$ ssh root@ip.address.of.target}}<br />
<br />
从现在开始尽管我们在本地,也可以通过我们自己的键盘控制远程的机器显示安装画面了.<br />
<br />
<pre>ssh root@10.1.10.105<br />
root@10.1.10.105's password: <br />
Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200<br />
**************************************************************<br />
* To begin installation, run /arch/setup *<br />
* You can find documentation at *<br />
* /usr/share/aif/docs/official_installation_guide_en *<br />
* *<br />
* i18n: Use the 'km' utility to change your keyboard layout *<br />
* and console font. *<br />
* *<br />
* If you are looking to install Arch on something more *<br />
* exotic, such as your kerosene-powered cheese grater, *<br />
* please consult http://wiki.archlinux.org. *<br />
* *<br />
**************************************************************<br />
[root@archiso ~]#</pre><br />
<br />
===注意===<br />
*如果目标机器处在防火墙/路由的后面,ssh默认的22端口需要传递给目标机器在的本地LAN IP地址.这个端口的传递不在本文的讨论范围.<br />
*必须有人编辑在目标机器上的{{Filename|/etc/ssh/sshd_config}}以为了sshd已经以daemon启动.<br />
<br />
==最后一步==<br />
<br />
天空是很近的.想启动从这个安装介质启动Arch的安装程序,只需要简单的运行 {{filename|/arch/setup}}.如果安装失败了,察看[[Install from Existing Linux]]的wiki文章.<br />
<br />
想要[[grub2]]或者使用[[GPT]]硬盘?<br />
<br />
*如果想要在运行安装环境的机器上,重新通过'''pacman -S gdisk'''安装的'''gdisk'''来手工的对目标机器的HDD/SDD硬盘分区,只要简单的回答no然后返回live安装环境的root提示符.<br />
*安装grub2是很繁琐的.简单的chroot进新安装的arch环境(如果从安装环境出来了就重新挂载)然后安装grub2:<br />
<br />
<pre>cd /mnt<br />
rm console ; mknod -m 600 console c 5 1<br />
rm null ; mknod -m 666 null c 1 3<br />
rm zero ; mknod -m 666 zero c 1 5<br />
mount -t proc proc /mnt/proc<br />
mount -t sysfs sys /mnt/sys<br />
mount -o bind /dev /mnt/dev<br />
chroot /mnt /bin/bash</pre><br />
<br />
现在进入这个新的Arch的chroot:<br />
<br />
<pre><br />
pacman -S grub2<br />
grep -v rootfs /proc/mounts > /etc/mtab<br />
</pre><br />
<br />
按照你喜欢的方式编辑{{Filename|/etc/default/grub}}.<br />
安装grub并且生成一个grub.cfg<br />
<br />
<pre><br />
grub-install /dev/sdX --no-floppy<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
{{Note|上面的命令建立在用户现在GPT硬盘上启动,并且充分的理解了上述wiki文章,而且还有可供grub2使用的1Mb的ef02分区.}}<br />
<br />
当准备好重启新的Arch机器前,离开chroot环境并且卸载掉前面挂载的分区以方便重启机器.<br />
<br />
<pre><br />
exit<br />
umount /mnt/boot # if mounted this or any other separate partitions<br />
umount /mnt/{proc,sys,dev}<br />
umount /mnt<br />
</pre></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_via_SSH_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160344
Install Arch Linux via SSH (简体中文)
2011-09-16T22:58:26Z
<p>Jarodlau: </p>
<hr />
<div>==简介==<br />
这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法:<br />
<br />
在以下情况安装Arch...<br />
*没有显示器的HTPC(比如,一个SDTV).<br />
*一个在另外城市,省份,国家的PC.(朋友的家,家人的家,等等)<br />
*一个你不能实地操作的PC,比如具有可以从这个Arch Wiki粘贴/复制能力的我自己的很舒服的工作站.<br />
<br />
{{Note|前2步需要直接的物理控制PC.显然,如果PC在别处,就需要另外一个人的协调}}<br />
<br />
==从安装媒体启动==<br />
<br />
使用[[Beginners'_Guide#Obtain_the_latest_installation_media|live CD/USB image]]启动PC到Arch的live环境,并且以'''root'''登陆.<br />
<br />
==为使用SSH设置live安装环境==<br />
<br />
{{Note|下面的命令必须以root账户执行.'''#'''提示是为了复制/粘贴方便而故意忽略了}}<br />
<br />
在你的脑中要有每一行前面都有'''[root@archiso~]#'''的概念.<br />
<br />
*首先,建立目标机器的网络设置:<br />
{{cli|aif -p partial-configure-network}}<br />
<br />
这个要求你至少懂点目标机器的网络接口,把你想使用的网络接口输入进去(比如,eth0作为有线以太网的接口)<br />
<br />
*第2步,使用sync把安装环境用源同步,安装openssh包,然后执行:<br />
{{cli|pacman -Syy openssh}}<br />
{{cli|rc.d start sshd}}<br />
<br />
{{Note|考虑到安装介质的年龄,pacman总要抱怨它自己要第一个被更新.考虑到只要简单的安装sshd包,推荐取消pacman的更新要求从而只安装一个包(openssh).}}<br />
<br />
*最后,为建立ssh链接设立一个root密码;默认root的arch密码是空的.<br />
<br />
{{cli|passwd}}<br />
<br />
==通过SSH连接到目标PC==<br />
<br />
使用下面的命令以链接到目标机器:<br />
{{cli|$ ssh root@ip.address.of.target}}<br />
<br />
从现在开始尽管我们在本地,也可以通过我们自己的键盘控制远程的机器显示安装画面了.<br />
<br />
<pre>ssh root@10.1.10.105<br />
root@10.1.10.105's password: <br />
Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200<br />
**************************************************************<br />
* To begin installation, run /arch/setup *<br />
* You can find documentation at *<br />
* /usr/share/aif/docs/official_installation_guide_en *<br />
* *<br />
* i18n: Use the 'km' utility to change your keyboard layout *<br />
* and console font. *<br />
* *<br />
* If you are looking to install Arch on something more *<br />
* exotic, such as your kerosene-powered cheese grater, *<br />
* please consult http://wiki.archlinux.org. *<br />
* *<br />
**************************************************************<br />
[root@archiso ~]#</pre><br />
<br />
===注意===<br />
*如果目标机器处在防火墙/路由的后面,ssh默认的22端口需要传递给目标机器在的本地LAN IP地址.这个端口的传递不在本文的讨论范围.<br />
*必须有人编辑在目标机器上的{{Filename|/etc/ssh/sshd_config}}以为了sshd已经以daemon启动.<br />
<br />
==最后一步==<br />
<br />
天空是很近的.想启动从这个安装介质启动Arch的安装程序,只需要简单的运行 {{filename|/arch/setup}}.如果安装失败了,察看[[Install from Existing Linux]]的wiki文章.<br />
<br />
想要[[grub2]]或者使用[[GPT]]硬盘?<br />
<br />
*如果想要在运行安装环境的机器上,重新通过'''pacman -S gdisk'''安装的'''gdisk'''来手工的对目标机器的HDD/SDD硬盘分区,只要简单的回答no然后返回live安装环境的root提示符.<br />
*安装grub2是很繁琐的.简单的chroot进新安装的arch环境(如果从安装环境出来了就重新挂载)然后安装grub2:<br />
<br />
<pre>cd /mnt<br />
rm console ; mknod -m 600 console c 5 1<br />
rm null ; mknod -m 666 null c 1 3<br />
rm zero ; mknod -m 666 zero c 1 5<br />
mount -t proc proc /mnt/proc<br />
mount -t sysfs sys /mnt/sys<br />
mount -o bind /dev /mnt/dev<br />
chroot /mnt /bin/bash</pre><br />
<br />
现在进入这个新的Arch的chroot:<br />
<br />
<pre>pacman -S grub2<br />
grep -v rootfs /proc/mounts > /etc/mtab<br />
</pre><br />
<br />
按照你喜欢的方式编辑{{Filename|/etc/default/grub}}.<br />
安装grub并且生成一个grub.cfg<br />
<br />
<pre>grub-install /dev/sdX --no-floppy<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
{{Note|上面的命令建立在用户现在GPT硬盘上启动,并且充分的理解了上述wiki文章,而且还有可供grub2使用的1Mb的ef02分区.}}<br />
<br />
当准备好重启新的Arch机器前,离开chroot环境并且卸载掉前面挂载的分区以方便重启机器.<br />
<br />
<pre>exit<br />
umount /mnt/boot # if mounted this or any other separate partitions<br />
umount /mnt/{proc,sys,dev}<br />
umount /mnt<br />
</pre></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Install_Arch_Linux_via_SSH_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160343
Install Arch Linux via SSH (简体中文)
2011-09-16T22:56:25Z
<p>Jarodlau: Created page with "==简介== 这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法: 在以下情况安装Arch... *没有显..."</p>
<hr />
<div>==简介==<br />
这片文章主要是介绍在使用SSH链接的情况下安装Arch.考虑到以下几种场景下的一种标准安装方法:<br />
<br />
在以下情况安装Arch...<br />
*没有显示器的HTPC(比如,一个SDTV).<br />
*一个在另外城市,省份,国家的PC.(朋友的家,家人的家,等等)<br />
*一个你不能实地操作的PC,比如具有可以从这个Arch Wiki粘贴/复制能力的我自己的很舒服的工作站.<br />
<br />
{{Note|前2步需要直接的物理控制PC.显然,如果PC在别处,就需要另外一个人的协调}}<br />
<br />
==从安装媒体启动==<br />
<br />
使用[[Beginners'_Guide#Obtain_the_latest_installation_media|live CD/USB image]]启动PC到Arch的live环境,并且以'''root'''登陆.<br />
<br />
==为使用SSH设置live安装环境==<br />
<br />
{{Note|下面的命令必须以root账户执行.'''#'''提示是为了复制/粘贴方便而故意忽略了}}<br />
<br />
在你的脑中要有每一行前面都有'''[root@archiso~]#'''的概念.<br />
<br />
*首先,建立目标机器的网络设置:<br />
{{cli|aif -p partial-configure-network}}<br />
<br />
这个要求你至少懂点目标机器的网络接口,把你想使用的网络接口输入进去(比如,eth0作为有线以太网的接口)<br />
<br />
*第2步,使用sync把安装环境用源同步,安装openssh包,然后执行:<br />
{{cli|pacman -Syy openssh}}<br />
{{cli|rc.d start sshd}}<br />
<br />
{{Note|考虑到安装介质的年龄,pacman总要抱怨它自己要第一个被更新.考虑到只要简单的安装sshd包,推荐取消pacman的更新要求从而只安装一个包(openssh).}}<br />
<br />
*最后,为建立ssh链接设立一个root密码;默认root的arch密码是空的.<br />
<br />
{{cli|passwd}}<br />
<br />
==通过SSH连接到目标PC==<br />
<br />
使用下面的命令以链接到目标机器:<br />
{{cli|$ ssh root@ip.address.of.target}}<br />
<br />
从现在开始尽管我们在本地,也可以通过我们自己的键盘控制远程的机器显示安装画面了.<br />
<br />
<pre>ssh root@10.1.10.105<br />
root@10.1.10.105's password: <br />
Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200<br />
**************************************************************<br />
* To begin installation, run /arch/setup *<br />
* You can find documentation at *<br />
* /usr/share/aif/docs/official_installation_guide_en *<br />
* *<br />
* i18n: Use the 'km' utility to change your keyboard layout *<br />
* and console font. *<br />
* *<br />
* If you are looking to install Arch on something more *<br />
* exotic, such as your kerosene-powered cheese grater, *<br />
* please consult http://wiki.archlinux.org. *<br />
* *<br />
**************************************************************<br />
[root@archiso ~]#</pre><br />
<br />
===注意===<br />
*如果目标机器处在防火墙/路由的后面,ssh默认的22端口需要传递给目标机器在的本地LAN IP地址.这个端口的传递不在本文的讨论范围.<br />
*必须有人编辑在目标机器上的{{Filename|/etc/ssh/sshd_config}}以为了sshd已经以daemon启动.<br />
<br />
==最后一步==<br />
<br />
天空是很近的.想启动从这个安装介质启动Arch的安装程序,只需要简单的运行 {{filename|/arch/setup}}.如果安装失败了,察看[[Install from Existing Linux]]的wiki文章.<br />
<br />
想要[[grub2]]或者使用[[GPT]]硬盘?<br />
<br />
*如果想要在运行安装环境的机器上,重新通过'''pacman -S gdisk'''安装的'''gdisk'''来手工的对目标机器的HDD/SDD硬盘分区,只要简单的回答no然后返回live安装环境的root提示符.<br />
*安装grub2是很繁琐的.简单的chroot进新安装的arch环境(如果从安装环境出来了就重新挂载)然后安装grub2:<br />
<br />
<pre>cd /mnt<br />
rm console ; mknod -m 600 console c 5 1<br />
rm null ; mknod -m 666 null c 1 3<br />
rm zero ; mknod -m 666 zero c 1 5<br />
mount -t proc proc /mnt/proc<br />
mount -t sysfs sys /mnt/sys<br />
mount -o bind /dev /mnt/dev<br />
chroot /mnt /bin/bash</pre><br />
<br />
现在进入这个新的Arch的chroot:<br />
<br />
<pre><br />
pacman -S grub2<br />
grep -v rootfs /proc/mounts > /etc/mtab<br />
</pre><br />
<br />
按照你喜欢的方式编辑{{Filename|/etc/default/grub}}.<br />
安装grub并且生成一个grub.cfg<br />
<br />
<pre><br />
grub-install /dev/sdX --no-floppy<br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
{{Note|上面的命令建立在用户现在GPT硬盘上启动,并且充分的理解了上述wiki文章,而且还有可供grub2使用的1Mb的ef02分区.}}<br />
<br />
当准备好重启新的Arch机器前,离开chroot环境并且卸载掉前面挂载的分区以方便重启机器.<br />
<br />
<pre><br />
exit<br />
umount /mnt/boot # if mounted this or any other separate partitions<br />
umount /mnt/{proc,sys,dev}<br />
umount /mnt<br />
</pre></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160303
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:54:45Z
<p>Jarodlau: /* 安装字体 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$ lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$ pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|# pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|# pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|# pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|# pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$ rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$ startx}}<br />
或<br />
{{Cli|$ xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|# pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|# reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|# yaourt -S ttf-win7-fonts ttf-office-2007-fonts}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|# pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
剩下的yaourt安装请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160301
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:53:57Z
<p>Jarodlau: /* 安装字体 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$ lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$ pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|# pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|# pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|# pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|# pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$ rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$ startx}}<br />
或<br />
{{Cli|$ xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|# pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|# reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|# yaourt -S ttf-win7-fonts ttf-office-2007-fonts}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|# pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160298
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:50:53Z
<p>Jarodlau: /* 安装字体 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$ lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$ pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|# pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|# pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|# pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|# pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$ rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$ startx}}<br />
或<br />
{{Cli|$ xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|# pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|# reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|# yaourt -S ttf-ms-fonts ttf-ms-fonts-zh_cn}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|# pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160294
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:49:27Z
<p>Jarodlau: /* 启动 X */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$ lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$ pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|# pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|# pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|# pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|# pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$ rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$ startx}}<br />
或<br />
{{Cli|$ xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|# pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|# reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|#yaourt -S ttf-ms-fonts ttf-ms-fonts-zh_cn}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|#pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160291
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:48:08Z
<p>Jarodlau: /* 测试 X */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$ lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$ pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|# pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|# pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|# pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|# pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$ rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$startx}}<br />
或<br />
{{Cli|$xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|#pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|#reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|#yaourt -S ttf-ms-fonts ttf-ms-fonts-zh_cn}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|#pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160272
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:42:04Z
<p>Jarodlau: /* 安装输入设备驱动 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$ lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$ pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|# pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|# pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|# pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|#pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$startx}}<br />
或<br />
{{Cli|$xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|#pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|#reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|#yaourt -S ttf-ms-fonts ttf-ms-fonts-zh_cn}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|#pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160270
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:41:45Z
<p>Jarodlau: /* 安装显卡驱动 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$ lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$ pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|# pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|#pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|#pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|#pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$startx}}<br />
或<br />
{{Cli|$xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|#pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|#reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|#yaourt -S ttf-ms-fonts ttf-ms-fonts-zh_cn}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|#pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160229
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:27:56Z
<p>Jarodlau: /* 有线局域网 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|# dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|#pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|#pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|#pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|#pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$startx}}<br />
或<br />
{{Cli|$xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|#pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|#reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|#yaourt -S ttf-ms-fonts ttf-ms-fonts-zh_cn}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|#pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Post-Installation_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160226
Beginners' Guide/Post-Installation (简体中文)
2011-09-16T20:27:27Z
<p>Jarodlau: /* 有线局域网 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Post-Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
<br />
==安装之后==<br />
'''恭喜,欢迎来到 Arch Linux 基本系统!'''<br />
<br />
此部分包含一些安装后的必须操作,包括更新新系统和添加正常非 root 用户。<br />
<br />
===更新===<br />
新的 Arch Linux 基本系统已经是可以定制的 GNU/Linux 环境了。以此为起点,你可以将这些优雅的工具集变长期望或要求的样子。<br />
<br />
用 root 登录,我们将用 root 用户配置 pacman 并更新系统。<br />
<br />
{{注意|虚拟控制台 1-6 都是可用的,可以通过 <ALT>+F1...F6 切换}}<br />
<br />
====配置网络 (若需要)====<br />
<br />
如果正确配置了系统,网络应该正常工作,通过 <code>ping example.com</code> 验证:<br />
{{Command|ping -c 3 example.com |<nowiki>PING example.com (192.0.43.10) 56(84) bytes of data.<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms<br />
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms<br />
<br />
--- example.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2003ms<br />
rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms</nowiki>}}<br />
<br />
如果网络连接成功,继续 '''[[#用 pacman 更新、同步、升级系统|用 pacman 更新、同步、升级系统]]'''.<br />
<br />
如果 ping www.google.com 收到 "unknown host" 错误,网络可能没设置好。请检查如下文件:<br />
<br />
{{Filename|/etc/rc.conf}} - 特别是检查 HOSTNAME 和 NETWORKING 部分中的错误。<br />
<br />
{{Filename|/etc/hosts}} - 检查格式、拼写和错误。<br />
<br />
{{Filename|/etc/resolv.conf}} - 如果使用静态 IP 请检查。如果使用 DHCP,默认会动态创建和销毁文件。<br />
<br />
{{Tip|网络配置的高级选项请查阅文章 [[Network]]。}}<br />
<br />
=====有线局域网=====<br />
用下面命令检查以太网:<br />
{{Cli|$ ip addr}}<br />
将显示所有接口,应该包含 eth0 或者 eth1。例子中将使用 eth0。<br />
<br />
'''静态 IP'''<br />
<br />
如果需要,可以设置新 IP:<br />
{{Cli|# ip addr add <ip>/<netmask> dev <interface>}}<br />
默认网关:<br />
{{Cli|# ip route add default via <ip>}}<br />
验证 {{Filename|/etc/resolv.conf}} 包含 DNS 服务器,如果没有请加上。<br />
再次用 {{Codeline|ping -c 3 www.google.com}} 检查网络。如果一切正常,根据上面的静态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
'''DHCP'''<br />
<br />
如果使用 DHCP 服务器/路由,请尝试:<br />
{{Cli|#dhcpcd eth0}}<br />
如果成功,按上面所说为动态 IP 调整 {{Filename|/etc/rc.conf}}。<br />
<br />
=====无线局域网=====<br />
无线网络连接请参见 [[<noinclude>Beginners' Guide/Installation (简体中文)</noinclude>#Live 环境下无线快速设置|Live 环境下无线快速设置]] 尽管已经不是在安装运行,只要在软件包选择时安装了无线连接需要的软件包,这些命令还是一样的。记住,无线设备可能需要固件(firmware) 才能运行。 错误排查请访问 [[Wireless Setup (简体中文)|无线设置]]。<br />
<br />
=====代理服务器=====<br />
如果使用代理服务器,请在 {{Filename|/etc/wgetrc}} 中设置 http_proxy 和 ftp_proxy。<br />
<br />
=====模拟调制解调器、ISDN 和 DSL (PPPoE)=====<br />
参阅 [[Internet Access]]。<br />
<br />
===用 pacman 更新、同步、升级系统===<br />
下面将使用[[Pacman (简体中文)|pacman]]升级系统。 [[Pacman (简体中文)|Pacman]] 是 Arch Linux的软件包管理器('''pac'''kage '''man'''ager),负责管理Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。<br />
<br />
{{注意|如果通过 Netinstall,即使不是全部,大部分软件包已经是最新的了。但是仍然建议完成整个更新过程。}}<br />
<br />
=====/etc/pacman.conf=====<br />
pacman 会在每次启动时读取 {{Filename|/etc/pacman.conf}},这个配置文件分为多个部分或源,每个部分定义了一个软件包[[Official Repositories (简体中文)|源]],pacman 会用这些源查找软件包。<tt>options</tt> 部分除外,这里定义了全局选项。<br />
<br />
{{注意|默认设置应该能正常工作,这里可以不设置,但是推荐检查一下。请参阅[[Mirrors]]。}}<br />
<br />
{{Cli|# nano /etc/pacman.conf}}<br />
<br />
下面是软件源,要开启一个源,只需删除 'Include =' 和 '[repository]' 行前面的 #。<br />
<br />
{{注意|<nowiki>选择源的时候,请记得同时取消源 [brackets] 行和 'Include =' 行,否则选择的源将被忽略!这是一个常见错误。</nowiki>}}<br />
<br />
=====软件包源=====<br />
[[Wikipedia:software repository|软件包源]] 是一个可以下载安装程序软件包的存储位置。Arch Linux [[Package Maintainer|软件包维护者]] (开发者和 [[Trusted Users]]) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过[[Pacman (简体中文)|pacman]]直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 [[Official Repositories (简体中文)|官方源]]。<br />
<br />
大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在/etc/pacman.conf 中加入如下内容以启用 [multilib] 源:<br />
[multilib]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
=====AUR=====<br />
'''[[AUR]]''' 包含 '''未支持''' 分支,无法通过 pacman*直接获取。'''AUR''' [unsupported] 不包含二进制包,而是提供了两万八千多个从源码编译软件包的 PKGBUILD 脚本。只要 AUR 中的未支持软件包获得足够的投票并且有 TU 愿意采用并维护它,就会被移动到 AUR [community] 二进制源。<br />
* TU 维护<br />
* 全部为 PKGBUILD bash 编译脚本<br />
* '''无法''' 通过 pacman 直接获取<br />
<br />
<nowiki>*</nowiki> pacman 包裹程序 ('''''[[AUR Helpers]]''''') 可以用来无缝访问 AUR。<br />
<br />
====/etc/pacman.d/mirrorlist====<br />
定义 pacman 源镜像和优先级。<br />
<br />
{{注意|如果安装媒介较老,mirrorlist 可能已经过期,升级时会产生问题([https://bugs.archlinux.org/task/22510 bug 报告在此])。因此最好从 [http://www.archlinux.org/mirrorlist/ pacman 镜像列表生成页面] 获取最新镜像。将产生的列表复制到 {{Filename|/etc/pacman.d/mirrorlist}} 再继续。}}<br />
<br />
用编辑器打开 {{Filename|/etc/pacman.d/mirrorlist}} 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:<br />
{{Cli|# pacman -Syy}}<br />
传入两个 --refresh 或 -y 标记强制 pacman 刷新所有软件包,不管是否被认为是最新的。'''只要镜像有变化'''就执行 pacman -Syy 是防止出现令人头疼问题的好习惯。<br />
<br />
====={{Codeline|rankmirrors}}=====<br />
另外,你可以使用 {{Codeline|rankmirrors}}. {{Codeline|rankmirrors}}是一个在 {{Filename|/etc/pacman.d/mirrorlist}} 中取消注释一些与安装机器的软件版本最接近以及最快速的源的bash脚本.更快的源可以显著的提升pacman的性能,和arch的整体操作体验.这个脚本可以定期的执行,尤其是当你所选择的源和官方源有差异的时候.但是{{Codeline|rankmirrors}}不能测试这些源的速度.可以使用{{Codeline|wget}}或者{{Codeline|rsync}}这2个工具可以在一个新生成的{{Filename|/etc/pacman.d/mirrorlist}}}的有效的用来测试这些源的速度.<br />
<br />
执行下面的命令可以完全的刷新pacman的数据库,并且安装{{Codeline|curl}}:<br />
{{Cli|# pacman -Syyu curl}}<br />
*''当你运行命令得到了错误,你可以使用{{Codeline|nano /etc/pacman.d/mirrorlist}}来取消注释一个适合你的源地址<br />
<br />
{{Codeline|cd}}到{{Filename|/etc/pacman.d/}}目录:<br />
{{Cli|# cd /etc/pacman.d}}<br />
<br />
备份已经存在的{{Filename|/etc/pacman.d/mirrorlist}}:<br />
{{Cli|# cp mirrorlist mirrorlist.backup}}<br />
<br />
编辑mirrorlist.backup注释掉一些在一个大陆或者相邻地域的源(比如china,japan)来测试rankmirrors.<br />
{{Cli|# nano mirrorlist.backup}}<br />
<br />
让rankmirrors带上参数-n对这个备份文件mirrorlist.backup执行操作,然后把输出重定向以方便生成一个新的/etc/pacman.d/mirrorlist源列表:<br />
{{Cli|# rankmirrors -n 6 mirrorlist.backup > mirrorlist}}<br />
{{注意|'''-n 6''':将生成6个最接近的源}}<br />
<br />
然后使用pacman使用新的源列表来刷新所有的包列表:<br />
{{Cli|# pacman -Syy}}<br />
<br />
=====Mirrorcheck 以检查最新软件包=====<br />
因为{{Codeline|rankmirrors}}不考虑镜像中软件包的更新状况,选择为最快的一两个源可能已经过期了。[http://www.archlinux.org/mirrors/status/ ArchLinux 镜像状态] 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 {{Filename|/etc/pacman.d/mirrorlist}},确保文件包含了最新的镜像。<br />
<br />
此外 [http://www.archlinux.org/mirrorlist/ 镜像生成器] 可以自动根据更新状况生成离你比较近的镜像列表。<br />
<br />
=====一个使用即时的源来更新你的的源列表的脚本=====<br />
你可以根据上面的排名使用下面的shell脚本来更新你的源列表.如果你不在中国China,你可以改变下面的国家变量.<br />
<br />
{{File|updatemirrors.sh|<nowiki>#!/bin/sh<br />
<br />
[ "$UID" != 0 ] && su=sudo<br />
<br />
country='China'<br />
url="http://www.archlinux.org/mirrorlist/?country=$country&protocol=ftp&protocol=http&ip_version=4&use_mirror_status=on"<br />
<br />
tmpfile=$(mktemp --suffix=-mirrorlist)<br />
<br />
# Get latest mirror list and save to tmpfile<br />
wget -qO- "$url" | sed 's/^#Server/Server/g' > "$tmpfile"<br />
<br />
# Backup and replace current mirrorlist file<br />
{ echo "Backing up the original mirrorlist..."<br />
$su mv -i /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig; } &&<br />
{ echo "Rotating the new list into place..."<br />
$su mv -i "$tmpfile" /etc/pacman.d/mirrorlist; }</nowiki>}}<br />
<br />
{{注意|你需要拷贝上面的命令到一个新的文件,并且使用{{Codeline|chmod +x}}来让这个文件可以执行.如果你不是使用的root来执行这个文件,这个脚本将让你输入命令来更新源列表文件}}<br />
<br />
====熟悉 pacman====<br />
pacman 是 Arch 用户最好的朋友。强烈建议通过 man pacman(8) 学习并使用它:<br />
{{Cli|$man pacman}}<br />
<br />
更多信息请访问 [[Pacman (简体中文)|pacman]] 或者查看 [[pacman rosetta]] 中与其他流行软件包管理器的对比。<br />
<br />
====更新系统====<br />
现在已经做好了更新整个系统的准备。在此之前,请阅读 [http://www.archlinux.org/news/ 新闻] (或者 [http://archlinux.org/pipermail/arch-announce/ 通告邮件列表])。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。<br />
<br />
同步、刷新、升级整个系统:<br />
{{Cli|#pacman -Syu}}<br />
或者:<br />
{{Cli|#pacman --sync --refresh --sysupgrade}}<br />
<br />
pacman 会从服务器下载 {{Filename|/etc/pacman.conf}} 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 <code>pacman -Syu</code> 。<br />
<br />
如果升级了内核,请重启系统。<br />
<br />
{{注意|时不时的,升级之后需要用户执行配置修改,详情参见[[Pacnew and Pacsave Files]]。}}<br />
<br />
pacman 输出会保存到 {{Filename|/var/log/pacman.log}}。<br />
<br />
管理和更新软件包的常见问题位于 [[Package_Management_FAQs| 软件包管理 FAQs]]。<br />
<br />
=====忽略软件包=====<br />
执行 <code>pacman -Syu</code> 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 <code>pacman -S --help</code>) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。<br />
<br />
请注意有能力的用户应该用 pacman -Syu 保存系统最新而不是选择性的升级软件包。选择性的安装可能更和要求,但是事先提醒一下,这种方式更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。<br />
<br />
=====Arch 滚动发布模式=====<br />
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 <code>pacman -Syu</code> 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。<br />
<br />
===添加一个用户===<br />
{{注意|添加用户前,可以考虑将系统的密码散列算法从 md5 切换到 512(参见 [[SHA password hashes]])。}}<br />
<br />
Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户是用来做管理任务的。因此,使用 <code>adduser</code> 命令来添加一个普通的、非 root 帐号。 <br />
<br />
{{Cli|#adduser}}<br />
<br />
程序将交换方式运行,要求用户输入所需信息。下例中将创建用户''archie'':<br />
Login name for new user []: '''archie'''<br />
<br />
User ID ('UID') [ defaults to next available ]:<br />
<br />
Initial group [ users ]:<br />
<br />
Additional groups (comma separated) []: '''audio,lp,optical,storage,video,wheel,games,power,scanner'''<br />
<br />
Home directory [ /home/archie ]:<br />
<br />
Shell [ /bin/bash ]:<br />
<br />
Expiry date (YYYY-MM-DD) []:<br />
<br />
正如例子中所示,建议仅在''Login name'' 和 ''Additional groups'' 输入内容,其它都留空。<br />
<br />
''Additional groups'' 中的列表是桌面系统的典型选择,特别推荐给新手:<br />
<br />
*'''audio''' - 让任务可以调用声卡以及相关软件<br />
*'''lp''' - 管理打印任务<br />
*'''optical''' - 管理光驱相关任务<br />
*'''storage''' - 管理存储设备<br />
*'''video''' - 视频任务以及硬件加速<br />
*'''wheel''' - 使用 sudo<br />
*'''games''' - 得到那些属于游戏组的权限,比如手柄<br />
*'''power''' - 笔记本用户需要这个<br />
*'''scanner''' - 使用扫描仪<br />
<br />
接着会给出用户信息预览,可以取消或者继续。<br />
New account will be created as follows:<br />
<br />
---------------------------------------<br />
Login name.......: archie<br />
UID..............: [ Next available ]<br />
Initial group....: users<br />
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner<br />
Home directory...: /home/archie<br />
Shell............: /bin/bash<br />
Expiry date......: [ Never ]<br />
<br />
This is it... if you want to bail out, hit Control-C. Otherwise press<br />
ENTER to go ahead and make the account.<br />
<br />
按下 {{Keypress|ENTER}} 后将创建账户,并提升输入新用户的附加可选信息:<br />
<br />
Creating new account...<br />
<br />
Changing the user information for archie<br />
Enter the new value, or press ENTER for the default<br />
Full Name []:<br />
Room Number []:<br />
Work Phone []:<br />
Home Phone []:<br />
Other []:<br />
<br />
最后,提示输入新帐号的密码:<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
Account setup complete.<br />
<br />
新非 root 用户创建完成,同时还建立了用户主目录和登录密码。<br />
<br />
====删除账户====<br />
<br />
如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 <code>/usr/sbin/userdel</code> :<br />
{{Cli|# userdel -r [帐户名]}}<br />
* <tt>-r</tt> 在账户家将同时删除主目录及其中的文件,用户的 mail spool 中的文件也会被删除。<br />
<br />
更多信息位于 [[Users and Groups]],如果你想更换你的或者其他用户名,请参阅 Arch Wiki 的 [[Change username]]。也可以查看 <code>usermod(8)</code> 和 <code>gpasswd(8)</code> 的 man page 。<br />
<br />
==其他==<br />
现在应该有了一个完全可用的 Arch 系统,这是后续调整的基础。然而,大部分用户都希望有声音和图形的桌面系统。这个部分将提供添加这些附加功能的指导。<br />
<br />
===安装和设置 Sudo (可选的)===<br />
安装 Sudo:<br />
{{Cli|# pacman -S sudo}}<br />
要将一个账户加到 sudo 账户中(a &quot;sudoer&quot;),必须得用 root 身份来执行 visudo 命令。<br />
<br />
默认的, visudo 命令使用 [[vi]] 编辑器。如果你不知道如何使用 vi ,那么你可以设置 EDITOR 环境变量来选择你想要的编辑器。例如,在这个例子中,使用 "nano" 编辑器:<br />
# EDITOR=nano visudo<br />
{{注意|设置这个变量和启动 visudo 必须在同一行中完成。如果分成两行,这个变量将不起作用。}}<br />
<br />
如果你擅长使用 vi, 那就不带 EDITOR=nano 来执行 visudo 命令:<br />
{{Cli|# visudo}}<br />
这将在一个 vi 特别会话中打开 /etc/sudoers 文件。 visudo 先将其复制到一个临时文件,然后使用编辑器编辑生成的临时文件 (默认是 vi),编辑完成会执行完整性检查。如果检查通过,临时文件将会以正确的账户权限覆盖原先的文件。<br />
<br />
{{警告|不要用编辑器直接编辑 /etc/sudoers ;sudo 配置文件中的句法错误将会引起麻烦 (例如使得 root 权限不可用)。请务必使用 ''visudo'' 命令编辑 /etc/sudoers。}}<br />
<br />
在上一部分,你的账户已经加入了 "wheel" 组。要设定使用前缀 &quot;sudo&quot; 时给 wheel 组中用户完全的 root 权限,请编辑 sudo 配置文件:<br />
%wheel ALL=(ALL) ALL<br />
现在只要简单地把账户加入到 wheel 组中,就能给与任何账户执行 sudo 命令的权利。<br />
<br />
更多信息,例如 sudoer <TAB> 补全,参阅 [[Sudo]]<br />
<br />
===创建DVD和CDROM的链接===<br />
很多桌面程序很有CDROM和DVD指向{{filename|/dev/sr0}}的链接.4个有用的链接将被下面的命令创建:<br />
{{Cli|# for i in cdrom cdrw dvd dvdrw; do ln -s /dev/sr0 /dev/$i; done}}<br />
为了使这些链接在每次启动以后都可以用,把下面的命令添加到{{filename|/etc/rc.local}}. <br />
<br />
另外,你为了便于阅读可以把这些命令排列起来:<br />
<pre><br />
#!/bin/bash<br />
#<br />
# /etc/rc.local: Local multi-user startup script.<br />
#<br />
# create optical drive symlinks<br />
ln -s /dev/sr0 /dev/cdrom<br />
ln -s /dev/sr0 /dev/cdrw<br />
ln -s /dev/sr0 /dev/dvd<br />
ln -s /dev/sr0 /dev/dvdrw<br />
</pre><br />
<br />
===声音===<br />
如果需要声音,请访问[[Advanced Linux Sound Architecture (简体中文)|ALSA]]页面,或者先完成[[#图形用户界面|下一部分]],再设置声音。<br />
<br />
[[Wikipedia:Advanced Linux Sound Architecture|Linux高级声音架构]] (ALSA) (Advanced Linux Sound Architecture)是一个Linux内核组件,推荐先试着使用它。如果不能工作,可以试试[[Wikipedia:Open Sound System|OSS]]。OSSv4 已经以自由许可证发布,普遍认为要比 ALSA 替代的 OSSv3 好很多。设置请访问 [[OSS|OSS 文章]]。<br />
<br />
如果对声音有更高的要求,[[Sound]] 包含了许多有用的文章。<br />
<br />
===图形用户界面===<br />
====Install X====<br />
<br />
[[Wikipedia:X Window System|X 窗口管理系统]]('''X11'''或者'''X''') 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。<br />
<br />
{{注意|如果是从 Virtualbox 虚拟机安装,需要用另一种方式安装 X,参见 [[Arch_Linux_VirtualBox_Guest|此文]],然后跳到下面的配置部分。}}<br />
<br />
现在,用 pacman 安装基础的 '''[[Xorg]]''' 组中的包。这是构建图形用户界面的第一步。<br />
<br />
安装基础包:<br />
{{Cli|# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils}}<br />
<br />
安装 [[Wikipedia:Mesa 3D (OpenGL)|mesa]]以获得 3D 支持:<br />
{{Cli|# pacman -S mesa}}<br />
<br />
3D 工具 glxgears 和 [http://dri.freedesktop.org/wiki/glxinfo glxinfo]都包含在 '''mesa-demos''' 包里。如果需要这些工具,请安装这个包:<br />
{{Cli|# pacman -S mesa-demos}}<br />
<br />
====安装显卡驱动====<br />
接下来需要安装显卡驱动。<br />
<br />
先要确定显卡类型,使用 <code>/usr/sbin/lspci</code> 程序可以获得显卡类型:<br />
{{Cli|$lspci}}<br />
<br />
{{注意| '''vesa''' 驱动是最通用的驱动,大部分现代显卡都能使用。如果无法找到显卡芯片组的对应驱动,可以使用 vesa 但仅提供不带加速的 2D 性能。}}<br />
<br />
输入下面命令,查看所有'''开源'''驱动: <br />
{{Cli|$pacman -Ss xf86-video | less}}<br />
<br />
{{注意| NVIDIA 和 ATI 闭源驱动在后面介绍,如果有很多三维处理需求,例如游戏等,请考虑它们。}}<br />
<br />
用 pacman 安装合适的显卡驱动,例如 Savage 驱动:<br />
{{Cli|#pacman -S xf86-video-savage}}<br />
<br />
{{Tip|一些 Intel 显卡需要进行配置才能有较好的 2D、3D 性能,参见 [[Intel]]。}}<br />
<br />
====nVIDIA图形显示卡====<br />
NVIDIA 有三种驱动选择(外加 vesa 驱动):<br />
* 开源 nouveau 驱动,提供了快速的 2d 加速和实验性 3d 支持,基本混合已经够用。(注意: 还不能完全支持节能)。 [http://nouveau.freedesktop.org/wiki/FeatureMatrix 更能矩阵。]<br />
* 开源但混杂过的 nv 驱动,很慢,只支持 2d。<br />
* 闭源 nvidia 驱动,提供了很好的 3d 性能和节能支持。即使计划使用闭源驱动,还是建议先使用开源的 nouveau,在 X 能够正常工作之后再切换。Nouveau 通常能够直接使用,而 nvidia 需要配置和解决许多问题。参见 [[NVIDIA]]。<br />
<br />
开源的 nouveau 适合大部分人,所以推荐使用:<br />
{{Cli|# pacman -S xf86-video-nouveau}}<br />
<br />
实验 3D 支持:<br />
{{Cli|# pacman -S nouveau-dri}}<br />
<br />
{{Tip|高级指令请访问 [[Nouveau]]。}}<br />
<br />
=====ATI图形显示卡=====<br />
ATI 用户有两种驱动可选(外加 vesa)<br />
* '''xf86-video-ati'''软件包提供的开源'''''radeon'''''驱动,详情参见[http://wiki.x.org/wiki/RadeonFeature radeon 功能矩阵]<br />
* [http://aur.archlinux.org/packages.php?O=0&K=catalyst&do_Search=Go catalyst] 提供的闭源 '''fglrx''' 驱动,软件包位于[[AUR]],只支持较新设备(HD2xxx 及之后)。以前位于 <code>extra</code> 软件源,但官方支持于2009年3月停止,因为其质量和开发速度令人失望。参见 [[ATI Catalyst]]。<br />
<br />
推荐使用开源驱动,安装 '''radeon''' ATI 驱动:<br />
# pacman -S xf86-video-ati<br />
<br />
{{Tip|ATI配置的高级指引可以参看[[ATI | ATI wiki 文章]]。}}<br />
<br />
====安装输入设备驱动====<br />
Udev 应该能够正确检测设备;evdev (xf86-input-evdev) 是现代热插拔输入驱动,可以支持绝大部分设备。所以通常不需要安装输入驱动。此时,evdev 已经作为 Xorg 的依赖关系被安装。<br />
<br />
如果 evdev 不支持您的设备,请从xorg-input-drivers组安装需要的驱动。<br />
<br />
用 pacman 查找所有输入设备驱动:<br />
{{Cli|#pacman -Ss xf86-input | less}}<br />
{{注意|如果准备禁用热插拔,请安装 xf86-input-keyboard 或 xf86-input-mouse 否则 evdev 将会成为输入驱动。}}<br />
<br />
笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:<br />
{{Cli|#pacman -S xf86-input-synaptics}}<br />
<br />
{{Tip|触摸板优化或问题处理请访问[[Touchpad Synaptics]]。}}<br />
<br />
====配置 X(可选)====<br />
{{警告|闭源驱动安装或配置后通常需要重新启动,参见 [[NVIDIA]] 或 [[ATI Catalyst]]。}}<br />
<br />
X 服务器可以自动配置,即使没有 xorg.conf 文件也能很好地运作。如果仍然需要手动配置,请访问 [[Xorg]]。<br />
<br />
=====非 US 键盘=====<br />
如果不是使用标准 US 键盘,可以在 {{Filename|/etc/X11/xorg.conf.d/10-evdev.conf}} 中设置:<br />
<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
'''Option "XkbLayout" "be"'''<br />
EndSection<br />
<br />
{{注意|'''XkbLayout''' 的值可能与 km 或 loadkeys 命令中使用的不同,例如 uk 布局对于'''gb'''。 <!-- Where can the user find his/her key then? --Xgamer99 -->}}<br />
<br />
====测试 X====<br />
此部分将解释如何安装基本的图形环境以测试'''X'''。使用的是简单的默认'''X'''窗口管理器 twm。<br />
<br />
安装默认的测试环境:<br />
<br />
{{Cli|#pacman -S xorg-twm xorg-xclock xterm}}<br />
<br />
默认的 X 环境很简单,[[#选择并安装图形环境|下面的部分]] 将安装桌面环境或窗口管理器以支持 X。<br />
<br />
如果在创建普通用户前安装 Xorg 在 $HOME 会有一个空 .xinitrc,请删除或编辑它再启动图形环境,若删除, '''X'''会运行默认环境(twm, xclock, xterm)。<br />
<br />
{{Cli|$rm ~/.xinitrc}}<br />
<br />
=====消息总线=====<br />
{{注意|许多应用程序都需要 <tt>dbus</tt>,如果确定不需要它,请跳过这个部分。}}<br />
<br />
安装 D-BUS:<br />
{{Cli|# pacman -S dbus}}<br />
{{Daemon (简体中文)|dbus}}<br />
<br />
=====启动 X=====<br />
{{注意|曾经用来杀掉 X 的 Ctrl-Alt-Backspace 快捷键已经过时,默认不能使用。 要启用 Ctrl-Alt-Backspace 可以编辑 xorg.conf,参见 [[Xorg#Ctrl-Alt-Backspace doesn't work|这里]]。}}<br />
<br />
最后,启动 Xorg:<br />
{{Cli|$startx}}<br />
或<br />
{{Cli|$xinit -- /usr/bin/X -nolisten tcp}}<br />
<br />
这时应该能看到一些可以移动的窗口,鼠标也能够工作。完成验证之后,可以通过在终端输入 <tt>exit</tt> 退出'''X'''。<br />
<br />
如果黑屏,可能需要切换到其他控制台(例如 CTRL-Alt-F2),然后盲打 root 然后输入回车(<Enter>)接着是 root 密码和 <Enter>。<br />
<br />
可以用<code>/usr/bin/pkill</code> 命令杀死 '''X''' 服务器。(注意 '''X''' 大写):<br />
{{Cli|#pkill X}}<br />
<br />
如果 pkill 还是不行,重启系统:<br />
{{Cli|#reboot}}<br />
<br />
=====若有问题=====<br />
如出现问题,请从 {{Filename|/var/log/Xorg.0.log}} 中查看错误日志,注意所有以 {{Codeline|(EE)}} 开头的行,EE 代表有错误。同时注意 {{Codeline|(WW)}} 警告,可能预示着其他问题。<br />
{{Cli|$ grep EE /var/log/Xorg.0.log}}<br />
<br />
可以从 '''X''' 启动终端之外的虚拟控制台查看错误。<br />
<br />
更多的 Xorg 配置和问题解决请查看[[Xorg]]。<br />
<br />
=====需要帮助?=====<br />
如果访问 [[Xorg]] 后还有问题,需要在 Arch 论坛提问,请安装和使用 wgetpaste:<br />
<br />
{{Cli|#pacman -S wgetpaste}}<br />
在论坛提问的帖子中,用 wgetpaste 提供如下文件的链接:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log<br />
* /var/log/Xorg.0.log.old<br />
wgetpaste 用法:<br />
{{Cli|$wgetpaste </path/to/file>}}<br />
在帖子中提供相应的链接,请同时提供硬件和驱动的信息。<br />
{{警告|解决 X 相关问题时,详细信息很关键。在 Arch 论坛提问时,请提供上面所说的内容的详细信息。}}<br />
<br />
====安装字体====<br />
在安装桌面环境/窗口管理器'''之前''',也许你会先安装些美观的字体。Dejavu 是不错的字体集。而对于网页,你还可能需要Microsoft字体。如下安装:<br />
{{Cli|#yaourt -S ttf-ms-fonts ttf-ms-fonts-zh_cn}}<br />
英文字体优先选择dejavu字体<br />
{{Cli|#pacman -S ttf-dejavu}}<br />
对于中文字体,开源的文泉驿正黑矢量字体是不错的选择,它还内嵌了9pt-12pt的点阵宋体:<br />
{{Cli|# pacman -S wqy-zenhei}}<br />
当然现在流行的是安装2个字体:<br />
{{Cli|# pacman -S ttf-dejavu }}<br />
{{Cli|# yaourt -S ttf-microhei}}<br />
这里提到了yaourt,那么如何安装他呢?首先安装base-devel开发库<br />
{{Codeline|gcc}} 以及 {{Codeline|make}}.<br />
{{Cli|# pacman -S base-devel}}<br />
<br />
剩下的方法请看这个链接 http://archlinux.fr/yaourt-en#get_it<br />
请访问 [[Font Configuration|字体配置]] 获取配置字体渲染的详细信息,[[Fonts]] 提供了字体选择建议和安装方法。<br />
<br />
====选择并安装图形界面====<br />
<br />
X 窗口管理系统为构建''图形用户界面''(GUI)提供了基础框架。<br />
<br />
{{注意|桌面环境的选择是主观的、因人而异。请根据实际需求选择最佳的环境。}}<br />
<br />
;窗口管理器(WM) : 和 X 窗口系统协同工作,控制应用程序窗口的位置和外观。'''详细信息请访问[[Window Manager#Window managers|窗口管理器]]。'''<br />
<br />
;桌面环境(DE): 在'''X'''之上并与其共同运作,提供完整的功能和动态图形界面。桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。'''详情请访问 [[Desktop Environment (简体中文)#桌面环境|桌面环境]]。'''<br />
<br />
{{注意|可以用 WM 和选定的应用程序建立自己的桌面环境。}}<br />
<br />
安装图形界面之后,可以继续阅读[[General Recommendations|一般建议]]页面获得后续动作的指导。<br />
<br />
====启动图形环境的方法====<br />
=====手动=====<br />
有些人倾向使用命令手动启动图形界面。各桌面环境相关的命令请访问相关的 wiki。通用的'''X''' 命令请查看 [[Xorg#Methods for starting your Graphical Environment|Xorg 页面的相关部分。]].<br />
<br />
=====自动=====<br />
如果要使用图形界面自动启动,请查看 [[Display Manager|显示管理器]] 获得启动管理器的使用方法。[[Start X at Boot]] 提供了两个不依赖显示管理器的轻量方法。<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160220
Beginners' guide (简体中文)
2011-09-16T20:25:36Z
<p>Jarodlau: /* 安装启动加载器 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
'''mkinitcpio'''是下一代 '''initramfs 生成器'''。与以前的 '''mkinitrd''' 和 '''mkinitramfs''' 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' '''TuxOnIce'''从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "{{Codeline|keymap}} " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "{{Codeline|usbinput}}" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "{{Codeline|usb}}",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]]('''GR'''and '''U'''nified '''B'''ootloader),除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-linux root=/dev/sda1 ro quiet<br />
initrd /boot/initramfs-linux.img<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz-linux root=/dev/sda3 ro quiet<br />
initrd /initramfs-linux.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160213
Beginners' guide (简体中文)
2011-09-16T20:23:51Z
<p>Jarodlau: /* 安装启动加载器 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
'''mkinitcpio'''是下一代 '''initramfs 生成器'''。与以前的 '''mkinitrd''' 和 '''mkinitramfs''' 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' '''TuxOnIce'''从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "{{Codeline|keymap}} " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "{{Codeline|usbinput}}" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "{{Codeline|usb}}",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]]('''GR'''and '''U'''nified '''B'''ootloader),除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160198
Beginners' guide (简体中文)
2011-09-16T20:16:01Z
<p>Jarodlau: /* /etc/mkinitcpio.conf */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
'''mkinitcpio'''是下一代 '''initramfs 生成器'''。与以前的 '''mkinitrd''' 和 '''mkinitramfs''' 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' '''TuxOnIce'''从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "{{Codeline|keymap}} " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "{{Codeline|usbinput}}" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "{{Codeline|usb}}",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160186
Beginners' guide (简体中文)
2011-09-16T20:09:20Z
<p>Jarodlau: /* /etc/mkinitcpio.conf */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
{{Note|大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。}}<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160185
Beginners' guide (简体中文)
2011-09-16T20:07:45Z
<p>Jarodlau: /* /etc/fstab */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
tmpfs /tmp tmpfs nodev,noexec,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b none swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160181
Beginners' guide (简体中文)
2011-09-16T20:04:19Z
<p>Jarodlau: /* NETWORKING 部分 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
<br />
'''例子:'''<br />
HOSTNAME="arch"<br />
<br />
:; interface: 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; address: 如果你想使用特定的IP,在这里设定. '''如果使用DHCP就留空.'''<br />
:; netmask: 可选, 默认''255.255.255.0''. 如果你想使用特定的子网掩码,就在这里设定. '''如果使用DHCP就留空.'''<br />
:; broadcast: 可选,如果你想使用特定的广播地址,在这里设定. '''如果使用DHCP就留空.'''<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
<br />
:; NETWORK_PERSIST :如果想阻止网络关机就"yes".如果你的启动设备在NFS上这个就是必须的.<br />
:; NETWORKS: 这个是可选的设定为可用,如果你使用[[netcfg]]并且使用''dialog''. 在启动的时候就启用netcfg的配置. 当你的机器运行在很多的网络环境中时,这个很有用 (比如笔记本(laptop)用户).<br />
<br />
<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160160
Beginners' guide (简体中文)
2011-09-16T19:46:08Z
<p>Jarodlau: /* LOCALIZATION 部分 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
DAEMON_LOCALE=&quot;no&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:; DAEMON_LOCALE: 使用本地daemon("yes" or "no").如果回答"yes"将把$LOCALE使用环境变量, 否则使用C locale (如果使用默认值"no").<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160158
Beginners' guide (简体中文)
2011-09-16T19:36:16Z
<p>Jarodlau: /* 选择软件包 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如{{Codeline|make}}和 {{Codeline|automake}}。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160154
Beginners' guide (简体中文)
2011-09-16T19:32:05Z
<p>Jarodlau: /* 分区结构 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/''' (root) 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)''<br />
<br />
'''/boot''' ''此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。''<br />
<br />
'''/home''' ''为每个系统用户提供子目录,保存个人的数据和应用程序配置文件.''<br />
<br />
'''/usr''' ''根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。''<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' ''为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' ''可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。''<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''''用分散的文件系统而不是放在一个大分区里面有如下优点''''':<br />
<br />
* 安全:每个文件系统动能在 {{Filename|/etc/fstab}} 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意|{{Filename|/var}} 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160148
Beginners' guide (简体中文)
2011-09-16T19:23:30Z
<p>Jarodlau: /* 分区类型 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有'''4个主分区'''。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160142
Beginners' guide (简体中文)
2011-09-16T19:20:57Z
<p>Jarodlau: /* 准备硬盘 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用{{Filename|/sbin/fdisk}} 的 {{Codeline|-l}} (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160138
Beginners' guide (简体中文)
2011-09-16T19:18:23Z
<p>Jarodlau: /* 设置时钟 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
====双重启动====<br />
<br />
如果你是win和linux双重启动的系统,有2个方法可以使用:<br />
<br />
* 让Arch Linux使用''localtime'',然后(in [[#Configure the System|Configure the System]])在{{Filename|/etc/rc.conf}} 从{{Filename|DAEMONS}}去掉{{Codeline|hwclock}} (Windows将很好的照顾好硬件时间的矫正). 不推荐.<br />
* 让Arch Linux使用UTC, 并且也让Windows使用UTC(察看这个[https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC this page]的介绍). 并且,确定windows不要和网络时间同步,不然他将再次使用''localtime''. 如果你想使用时间同步(NTP sync),你可以在你的Arch linux上安装'''openntpd'''. 推荐.<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160119
Beginners' guide (简体中文)
2011-09-16T19:06:15Z
<p>Jarodlau: /* 设置时钟 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
{{Note|使用硬件UTC时间并不一定和软件显示的UTC时间一致.}}<br />
* '''localtime''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Warning|使用 ''localtime'' 将导致很多已知的不可修复的BUG.尽管,没有计划放弃对''localtime''的支持.}}<br />
<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160107
Beginners' guide (简体中文)
2011-09-16T18:57:50Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 {{Filename|/usr/bin/dmesg}} 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 {{Filename|/sbin/iwlist <interface> scan}} 可以搜索附近的网络<br />
{{Command|iwlist wlan0 scan|<nowiki><br />
Cell 01 - Address: 04:25:10:6B:7F:9D<br />
Channel:2<br />
Frequency:2.417 GHz (Channel 2)<br />
Quality=31/70 Signal level=-79 dBm <br />
Encryption key:off<br />
ESSID:"dlink"<br />
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s<br />
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s<br />
36 Mb/s; 48 Mb/s; 54 Mb/s<br />
</nowiki>|prompt=#}}<br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的{{Filename|wpa_supplicant.conf}}文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用{{Codeline|wpa_passphrase}},给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 ({{Filename|/etc/wpa_supplicant.conf}})通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160104
Beginners' guide (简体中文)
2011-09-16T18:49:37Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 {{Filename|/sbin/dhcpcd <interface>}}获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Command|ping -c 3 www.google.com|<nowiki><br />
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.<br />
64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms<br />
64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms<br />
64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms<br />
<br />
--- www.l.google.com ping statistics ---<br />
3 packets transmitted, 3 received, 0% packet loss, time 2002ms<br />
rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms<br />
</nowiki>|prompt=#}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160099
Beginners' guide (简体中文)
2011-09-16T18:46:29Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note|{{Filename|/etc/wpa_supplicant.conf}}是用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 {{Filename|/etc/wpa_supplicant.conf}} 的权限(比如:使用{{Codeline|chmod 0600 /etc/wpa_supplicant.conf}} 使得仅 root 可读).}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|# ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160097
Beginners' guide (简体中文)
2011-09-16T18:44:06Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note| /etc/wpa_supplicant.conf 用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 /etc/wpa_supplicant.conf 的权限(比如:使用chmod 0600 /etc/wpa_supplicant.conf使得仅 root 可读}}<br />
<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|# iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|# dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|# ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160093
Beginners' guide (简体中文)
2011-09-16T18:40:17Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ip link set wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
<br />
{{Command|ip link set wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note| /etc/wpa_supplicant.conf 用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 /etc/wpa_supplicant.conf 的权限,即变为仅 root 可读}}<br />
chmod 0600 /etc/wpa_supplicant.conf<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|#iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|#dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|#ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160090
Beginners' guide (简体中文)
2011-09-16T18:36:32Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|# ifconfig wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
{{Command|ifconfig wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note| /etc/wpa_supplicant.conf 用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 /etc/wpa_supplicant.conf 的权限,即变为仅 root 可读}}<br />
chmod 0600 /etc/wpa_supplicant.conf<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|#iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|#dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|#ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160089
Beginners' guide (简体中文)
2011-09-16T18:35:01Z
<p>Jarodlau: /* Live 环境下无线快速设置 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|# lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|#ifconfig wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
{{Command|ifconfig wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note| /etc/wpa_supplicant.conf 用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 /etc/wpa_supplicant.conf 的权限,即变为仅 root 可读}}<br />
chmod 0600 /etc/wpa_supplicant.conf<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|#iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|#dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|#ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160087
Beginners' guide (简体中文)
2011-09-16T18:30:17Z
<p>Jarodlau: /* 配置网络 (Netinstall) */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
{{Tip|为了实现最佳的下载速度,你最好选择你国家内的源,以及那些你可以信任的源(eg. universities大学)}}<br />
{{注意|archlinux.org 官方源是限速的50KB/s}}<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|#lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|#ifconfig wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
{{Command|ifconfig wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note| /etc/wpa_supplicant.conf 用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 /etc/wpa_supplicant.conf 的权限,即变为仅 root 可读}}<br />
chmod 0600 /etc/wpa_supplicant.conf<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|#iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|#dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|#ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160086
Beginners' guide (简体中文)
2011-09-16T18:23:45Z
<p>Jarodlau: /* 配置网络 (Netinstall) */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 '''ip addr'''。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
<br />
<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|#lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|#ifconfig wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
{{Command|ifconfig wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note| /etc/wpa_supplicant.conf 用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 /etc/wpa_supplicant.conf 的权限,即变为仅 root 可读}}<br />
chmod 0600 /etc/wpa_supplicant.conf<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|#iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|#dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|#ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=160085
Beginners' guide (简体中文)
2011-09-16T18:21:03Z
<p>Jarodlau: /* 安装基本系统 */</p>
<hr />
<div><noinclude><br />
[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]] [[Category:About Arch (简体中文)]]<br />
[[Category:HOWTOs (简体中文)]] [[Category:Website Resources (简体中文)]]<br />
{{i18n|Beginners' Guide/Installation}}<br />
{{Tip|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}<br />
</noinclude><br />
==安装基本系统==<br />
<br />
{{注意|如果你使用的联网方式是通过HTTP和/或者FTP代理的方式并且想使用DHCP来配置你的网络,你需要在shell中执行{{Codeline|/arch/setup}}之前设定环境变量{{Codeline|http_proxy}} 和/或者 {{Codeline|ftp_proxy}}:<br />
<pre>export http_proxy=<nowiki>http://<http_proxy_address>:<proxy_port></nowiki><br />
export ftp_proxy=<nowiki>ftp://<ftp_proxy_address>:<proxy_port></nowiki></pre><br />
}}<br />
<br />
在 tty1 下以 root 身份执行安装脚本<br />
{{Cli|# /arch/setup}}<br />
<br />
然后你就会看到 ArchLinux 安装框架的屏幕。<br />
<br />
===选择安装源===<br />
出现欢迎界面之后,会提示选择安装来源。请选择一个合适的源(这里可以看到相关源的速度信息 [https://www.archlinux.de/?page=MirrorStatus 源状态])。如果使用 Netinstall 镜像,相当速度和更新状态可以在 [https://www.archlinux.de/?page=MirrorStatus 这里] 查询。<br />
<br />
* 如果选择 CORE installer,并且选择使用 CD 上的软件包,请选择来 CD-ROM 作为源。<br />
* 如果使用 Netinstall 安装,选择 NET 并查看下面的 ([[#配置网络 (Netinstall)|配置网络]])。<br />
<br />
====配置网络 (Netinstall)====<br />
如果需要,安装程序会提示手动加载网卡驱动。Udev 可以非常有效的载入需要的模块,所以网卡模块应该已被载入。在下一个屏幕,选择 '''设置'''。要验证这个过程,可以按下 <Alt>+F3 并执行 ifconfig -a。完成后,按 <Alt>+F1 返回 tty1 。<br />
<br />
如果正确列出接口和 HWaddr ('''H'''ard'''W'''are '''addr'''ess),那么所需的模块就是已经被加载好了。如果没有列出接口,那么请通过安装程序侦测,或者从另一个虚拟控制台手动进行,选择接口并继续。<br />
<br />
接下在的屏幕会提示你 ''Select the interface, Probe,'' 或 ''Cancel'' 。选择适当的界面然后继续。<br />
<br />
随后安装程序会询问是否使用 DHCP 。选择 Yes 后将执行 '''dhcpcd''' 查找可用的网关和 IP 地址。选择 No 会提示设置 static IP, netmask, broadcast, gateway DNS IP, HTTP proxy 和 FTP proxy。最后,将返回 '''网络安装菜单'''<br />
<br />
<br />
选定 '''选择镜像''' 并选择一个 FTP/HTTP 镜像,完成后,返回到主菜单。<br />
<br />
=====Live 环境下 (A)DSL 快速设置=====<br />
(用猫或者桥接模式的路由器连接 ISP)<br />
<br />
切换到另一个虚拟终端 (<Alt> + F2), 以 root 登录,然后调用<br />
{{Cli|# pppoe-setup}}<br />
如果配置正确,用以下命令就可以连接到 ISP:<br />
{{Cli|# pppoe-start}}<br />
<br />
<ALT>+F1 回到第一个虚拟终端, 跳到 [[#设置时钟|设置时钟]]。<br />
<br />
=====Live 环境下无线快速设置=====<br />
(如果安装时需要无线连接)<br />
<br />
现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的快速设置过程'''在安装时执行''',下初始化 '''live环境'''的无线网络硬件。安装好系统以后,需要再次执行一遍的无线网络设置。<br />
<br />
并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。<br />
<br />
{{Note|下面的示例中使用 wlan0 作为接口,'linksys' 作为 ESSID。请根据实际情况修改。}}<br />
<br />
基本过程为:<br />
* 切换到虚拟控制台: <ALT>+F3<br />
* root 登录<br />
* (可选) 确定网络接口:<br />
{{Cli|#lspci | grep -i net}}<br />
* 用 <code>/usr/sbin/iwconfig</code> 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:<br />
<br />
{{Command|iwconfig|<nowiki> lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated<br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0<br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
</nowiki>|prompt=#}}<br />
本例中 <code>wlan0</code> 为可用接口。<br />
<br />
{{Note|输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 [[Wireless Setup|无线设置]]。}}<br />
<br />
* 用 <code>/sbin/ifconfig <interface> up</code> 启用接口:<br />
{{Cli|#ifconfig wlan0 up}}<br />
<br />
除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:<br />
{{Command|ifconfig wlan0 up|SIOCSIFFLAGS: No such file or directory|prompt=#}}<br />
<br />
若不确定,可以用 <code>/usr/bin/dmesg</code> 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:<br />
<br />
{{Command|<nowiki>dmesg | grep firmware</nowiki>|firmware: requesting iwlwifi-5000-1.ucode}}<br />
<br />
如果没有输出,表示不需要固件。<br />
<br />
{{Note | 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware '''但是必须特别安装到实际的系统才能在重启后提供无线功能!''' 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件! 如有任何疑问,请查看 [[Wireless Setup|无线设置]],这是常见错误。}}<br />
<br />
* 如果 ESSID 忘记了或未知,使用 <code>/sbin/iwlist <interface> scan</code> 可以搜索附近的网络<br />
{{Cli|#iwlist wlan0 scan}}<br />
<nowiki></nowiki> <br />
<br />
* 如果使用 WPA 加密:<br />
<br />
使用 WPA 加密需要将密钥加密与 ESSID 一起保存在文件中,以供 <code>wpa_supplicant</code> 使用。因此需要几个额外的步骤:<br />
<br />
作为简化和备份,重命名默认的 wpa_supplicant.conf 文件:<br />
{{Cli|# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original}}<br />
<br />
使用 <code>wpa_passphrase</code>,给出无线网络名称和 WPA 密钥并写入 /etc/wpa_supplicant.conf<br />
<br />
如下命令为密码 'my_secret_passkey' 的无线网络 'linksys' 生成配置文件 (<file>/etc/wpa_supplicant.conf</file>)通过重定向输入文件:<br />
{{Cli|# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf}}<br />
<br />
更多信息和问题处理请查看 [[WPA Supplicant]]。<br />
<br />
{{Note| /etc/wpa_supplicant.conf 用纯文本格式保存,在安装环境中没有问题,但是重启到新系统后,记得改变 /etc/wpa_supplicant.conf 的权限,即变为仅 root 可读}}<br />
chmod 0600 /etc/wpa_supplicant.conf<br />
<br />
* 关联无线设备和访问点,加密方式(无, WEP 或者 WPA)不同,执行内容也有区别,先确定网络名(ESSID),然后:<br />
<br />
{| border="1"<br />
! 加密方式|| 命令<br />
|-<br />
| 无加密 || <code>iwconfig wlan0 essid "linksys"</code><br />
|-<br />
| WEP w/ Hex Key || <code>iwconfig wlan0 essid "linksys" key "0241baf34c"</code><br />
|-<br />
| WEP w/ ASCII passphrase || <code>iwconfig wlan0 essid "linksys" key "s:pass1"</code><br />
|-<br />
| WPA || <code>wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf</code><br />
|}<br />
<br />
{{Note | 可以通过 Arch 默认的网络守护进程、[[netcfg]]、[[wicd]] 或其它网络管理器自动连接网络。}}<br />
<br />
* 使用上面的方法后,等待一段时间,确认已经成功连接到访问点再继续:<br />
{{Cli|#iwconfig wlan0}}<br />
输出应该显示网络接口已经连接访问点。<br />
* 用 <code>/sbin/dhcpcd <interface> </code> 获取 IP 地址:<br />
{{Cli|#dhcpcd wlan0}}<br />
* 最后,用 <code>/bin/ping</code> 确认连接正常: <br />
{{Cli|#ping -c 3 www.google.com}}<br />
<br />
到此,无线网络应该已经可用,如遇问题,请查看[[Wireless Setup|无线设置]]。<br />
<br />
<ALT>+F1 回到 tty1, 继续 [[#设置时钟|设置时钟]]<br />
<br />
===设置时钟===<br />
设置硬件时钟,如果设置得与其它操作系统不同,将覆盖时间并导致时钟偏移(时间调整出错)。<br />
* [[Wikipedia:Coordinated Universal Time|UTC]] (推荐)<br />
* '''本地时间''' (不推荐) - 微软 Windows 系统默认使用,但还是可以设置为 UTC,如果设置为本地时间, linux 不会进行夏令时调整。<br />
{{Note|选择其它值将不会更改时钟(虚拟机的时候比较有用)。}}<br />
<br />
===准备硬盘===<br />
<br />
{{Warning|磁盘分区会毁掉原分区内的数据。强烈建议先备份重要的数据}}<br />
<br />
{{Note|磁盘分区也可以在执行 Arch 安装程序之前通过 [http://gparted.sourceforge.net/download.php GParted] 或者其他工具进行。如果磁盘上已经按要求做好了分区,那么跳到 [[#设置文件系统挂载点|设置文件系统挂载点]]继续安装。}}<br />
<br />
用 <code>/sbin/fdisk</code> 的 <code>-l</code> (小写 L) 参数检查当前磁盘的分区参数和布局<br />
<br />
切换到另一个虚拟控制台 (<ALT>+F3),然后:<br />
{{Cli|# fdisk -l}}<br />
记下将要安装上 Arch 的磁盘/分区。<br />
<br />
按 <ALT>+F1 切换回安装脚本。<br />
<br />
选择第一个菜单项 &quot;Prepare Hard Drive&quot;.<br />
* 选项 1: Auto-Prepare (删除整个磁盘分区表然后再自动设置分区)<br />
自动准备将磁盘设置成如下结构:<br />
<br />
* ext2 /boot 分区,默认大小 32MB. '''会提示设置此分区的大小'''<br />
* swap partition 分区,默认大小 256MB. '''会提示设置此分区的大小'''<br />
* 一个独立的 / 和 /home 分区,(同样能指定大小)。可选的文件系统包括 ext2, ext3, ext4, reiserfs, xfs and jfs,但是要注意的是,如果选择自动配置, ''' / 和 /home 将使用同样类型的文件系统'''。<br />
<br />
需要特别小心的是,Auto-Prepare 将完全地删除所选磁盘上的数据。请非常仔细地阅读安装程序给出的 <font color="red">warning</font> ,确认分区的磁盘名是正确的。<br />
<br />
* 选项 2: 手动准备分区(使用 cfdisk)- 推荐。<br />
<br />
这个选项可以根据个人需要定制健壮的分区结构。<br />
<br />
* 选项 3: 手动配置块设备、文件系统和挂载点<br />
如果选择这个,安装程序将列出已有的文件系统和挂载点,然后询问是否使用它们。如果选择 "Yes",安装程序会提示选择识别方式,即 dev, label 还是 uuid。<br />
<br />
* 选项 4: 回滚最后的文件系统设置<br />
<br />
至此,熟悉分区,能够进行手动分区的 GNU/Linux 高级用户可以直接跳到 '''[[选择软件包|选择软件包]]''' 继续。<br />
<br />
{{Note|如果是将 Arch 安装到闪存上,可参阅 "[[Installing Arch Linux on a USB key|安装 Arch Linux 到 U 盘]]".}}<br />
<br />
====磁盘分区====<br />
<br />
=====分区类型=====<br />
<br />
磁盘分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建一个文件系统(格式化)。 <br />
<br />
分区的类型有三种:<br />
*主分区<br />
*扩展分区<br />
**逻辑分区<br />
<br />
'''主分区''' 可以被启动,一个物理磁盘或raid 卷最多能有4个主分区。如果需要三个以上分区,需要使用包含'''逻辑分区'''的'''扩展分区''' 。<br />
<br />
扩展分区不能直接使用,它是逻辑分区的&quot;容器&quot。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。<br />
<br />
进行磁盘分区时,可以观察到命名规则为:主分区为 sda1-3,跟着是扩展分区sda4(在/dev和fdisk -l里是看不到的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。<br />
<br />
=====交换分区=====<br />
交换分区(Swap)是在硬盘上划出的一段虚拟内存区域,当物理内存已经放不下数据时,用来临时应急充当内存。<br />
<br />
以前,一般规则是交换分区为物理内存的两倍,在内存越来越大的今天,这个规则已经逐步过时。如果你的内存较小,只有512M,那么作为日常应用,需要 2 倍就足够了。如果系统有大量内存(超过 1024M),则可以完全不用交换分区,因为可以在以后使用 [[HOW TO: Create swap file|交换文件]] 替代。本例中使用 1G 交换分区。<br />
{{Note|如果使用休眠到磁盘,必须要'''等于'''物理内存的交换分区。一些 Arch 用户甚至推荐超过物理内存容量的15%。}}<br />
<br />
=====分区结构=====<br />
如何对磁盘进行分区全靠个人喜好。每位用户都会根据计算机的情况和需求选择不同结构。如果想双启动 Arch 和微软视窗系统,请查看 [[Windows and Arch Dual Boot|这里]]。<br />
<br />
不同分区的可选文件系统:<br />
<br />
'''/ (root)''' 根文件系统是目录等级的最顶部,所有其它文件系统都通过它访问,即使位于不同的物理设备,所有目录和文件也都显示在 &quot;/&quot;下面。根文件系统必须能够启动、恢复、还原或者修复系统。所以 / 下面的一些目录不应该位于不同分区。(参见下面的警告)<br />
<br />
'''/boot''' 此目录包含内核、ramdisk 镜像和启动加载程序的配置文件和不同阶段使用的文件。/boot 还可以保存内核开始执行用户空间程序前使用的数据,包括保存的主启动扇区和扇区映射文件。/boot 是启动必须的,但是特别的地方是它可以位于单独分区。<br />
<br />
'''/home''' 为每个系统用户提供子目录,保存个人的数据和应用程序配置文件。<br />
<br />
'''/usr''' 根目录是最开始的文件系统,而 /usr 则是所有系统用户数据的第二层,包含主要的多用户工具和应用程序。/usr 可共享的只读数据,这意味着 /usr 应该能在不同主机间共享,并且除系统升级之外都应该保持只读。主机特有或不断变化的数据应该放在其它地方。<br />
<br />
{{警告|单独的 /usr 分区将导致 udev 在一些情况下运行错误,还会导致 [[systemd]] 无法正常运行 [http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken source]}}<br />
<br />
'''/tmp''' 为需要 '.lck' 等临时文件的程序准备,这些文件可以阻止程序运行多个实例。程序结束后会删除 '.lck' 文件。程序员不能假定 /tmp 在程序运行过程中不会更改,而且 /tmp 下的目录和文件会在启动时删除。''<br />
<br />
'''/var''' 可变数据、管理和登录数据、pacman 缓存、 ABS 目录树等。使用 /var 就是为了让 /usr 只读。所有原来放在 /usr 下、正常运行时(系统升级和更新除外)的可变文件都应该放在 /var。<br />
{{警告| 除了 /boot 外,如下目录也是启动必须的: ''''/bin', '/etc', '/lib' 和 '/sbin'。 这些目录必须位于 / 分区'''}}<br />
'''用分散的文件系统而不是放在一个大分区里面有如下优点''':<br />
<br />
* 安全:每个文件系统动能在 /etc/fstab 单独配置为 'nosuid', 'nodev', 'noexec', 'readonly' 等。<br />
* 稳定:只要有写权限,一个用户或恶意程序可能在文件系统里写满垃圾。位于其它文件系统上的重要程序将免受影响。<br />
* 速度:经常写入的文件系统会有碎片(避免碎片的方式是不将文件系统写满),单独的文件系统不受其它分区的影响而且可以单独进行碎片整理。 <br />
* 完整:一个文件系统崩溃了,其它文件系统不受影响。<br />
* 通用:使用独立文件系统更有利于在多个系统间共享文件。每个文件系统都能够根据数据和使用状况单独选择合适的格式。本例中,将分为 /, /var, /home 和 swap.<br />
<br />
{{注意| /var 包含许多小文件,单独分区时应该考虑这点。}}<br />
<br />
=====我的分区应该设多大?=====<br />
这个问题最好根据个人需要回答。<br />
可能你只需创建 '''root + swap 或者仅 root 没 swap''' 或者参考本例和这些原则:<br />
* 本例中根文件系统(/)将包含 /usr 目录,这样如果安装文件很多,会变得很大。15-20 GB 应该能够满足大部分人的要求。<br />
<br />
* /var 文件系统除包含其它数据,还有 [[ABS]] 树和 pacman 缓存。缓存软件包快捷方便;可以按照要求降级软件包。/var 的大小会逐步增长;pacman 缓存在运行中逐步增大,但是可以很方便的清空。如果使用 SSD 应该将 /var 放到 HDD 将 / 和 /home 分区放到 SSD 以减少 SSD 的读写。 8-12 G 对桌面系统来说应该足够了,服务器需要更大的 /var 文件系统。<br />
<br />
* /home 文件系统一般存放用户数据、下载和多媒体文件。在桌面中,/home 一般是远超过其它的最大的文件系统。记住如果重装 Arch, /home 中的数据不会改变(只要 /home 是独立分区)。<br />
<br />
* 预留 25% 空间可以应对以后的变化和扩展,还可以避免碎片。<br />
'''根据以上原则,示例中采用 ~15GB root (/),~10GB /var, 1GB swap,其余都给 /home。'''<br />
<br />
=====用 cfdisk 创建分区=====<br />
先创建一个包含'''root'''(/)文件系统的主分区。 <br />
<br />
选择'''N'''ew -> Primary 并输入根分区的大小,将分区放到磁盘开始。<br />
<br />
选择'''T'''ype ,设置为 '83 Linux',本例中新建的/ 分区显示为。<br />
<br />
为 /var 创建主分区,设置为 '''T'''ype 为 83 Linux。/var 将显示为 sda2。<br />
<br />
接着创建 swap,选择合适的大小并指定'''T'''ype 为 82 (Linux swap / Solaris)。交换分区将显示为 sda3。<br />
<br />
最后创建 /home 目录,选择新主分区并设置需要的大小,'''T'''ype 为 83 Linux,创建的 /home 显示为 sda4。<br />
<br />
示例:<br />
<br />
名称 标志 类型 文件系统类型 [Label] 大小(MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 10256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
选择'''W'''rite并输入''''yes''''。记住操作会破坏磁盘上的数据。选择'''Q'''uit退出分区程序。<br />
选择Done离开此菜单,继续&quot;Set Filesystem Mountpoints&quot;。<br />
<br />
{{注意| 因为最新的 Linux 内核加入了 libata 和 PATA 模块,所有的 IDE, SATA 和 SCSI 磁盘都会使用 sd''x'' 命名,这很正常,不必担心。}}<br />
<br />
====设置文件系统挂载点====<br />
为每个分区设置文件系统挂载点。(请记得分区以数字结束,所以 sda 不是分区,而是整个磁盘。<br />
Specify each partition and corresponding mountpoint to your requirements. (Recall that partitions end in a number. Therefore, sda is not itself a partition, but rather, signifies an entire drive) <br />
<br />
=====文件系统类型=====<br />
{{:文件系统}}<br />
<br />
=====继续...=====<br />
<br />
选择 '''yes''' 为 / 选择并创建文件系统(格式化分区)。将提示添加分区,本例中,sda2 和 sda4 保留。 为 sda2 选择文件系统类型并挂载为 /var。最后为 sda4 选择文件系统并挂载为 /home。<br />
{{Box Note |如果不需要创建 /boot 分区,可以安全的忽略 /boot 分区不存在的警告。}} 返回到主菜单。<br />
<br />
===选择软件包===<br />
安装时的软件都来自 [core] 软件源,它们被分为 '''Base''' 和 '''Base-devel'''。[http://www.archlinux.org/packages/?repo=Core&arch=i686&limit=all&sort=pkgname 这里]有软件包信息和简介。<br />
<br />
首先,选择软件包类别:<br />
{{注意| 为方便,默认选中了 '''base''' 中的所有软件包,请用空格键切换选择状态。}}<br />
; Base : 来自 [core] 软件源的最小基本系统,总是选中它并删除不用的软件包。<br />
; Base-devel : 来自 [core] 的附加工具例如 <code>make</code> 和 <code>automake</code>。大部分新手都应该安装它,后续会用到。<br />
<br />
选中类别后,将给出软件包的完整列表以细化选择,用空格键切换选择状态。 <br />
<br />
{{注意| 如果需要连接无线网络,请选中 '''wireless_tools''' 软件包。一些无线接口还需要 [[Wireless_Setup#ndiswrapper|'''ndiswrapper''']] 和特定 [[Wireless_Setup#Drivers_and_firmware|'''firmware''']]。如果使用 WPA 加密,需要 [[WPA_Supplicant|'''wpa_supplicant''']]。 [[Wireless_Setup|无线设置]] 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 [[Netcfg|'''netcfg''']],将帮助你在重启后设置网络连接。}}<br />
<br />
选择好需要的软件包后,离开选择屏幕并继续到下一步,'''安装软件包'''。<br />
<br />
===安装软件包===<br />
安装选中的软件包到新系统,如果用 CD/USB 作为源,将安装 CD/USB 中的软件包。如果选择网络安装,将从互联网下载最新的软件包。<br />
<br />
{{注意|一些安装程序会询问是否希望保留 pacman 缓冲里的软件包。如果你选'yes',日后可以[[Downgrade packages|降级]]某些软件包,因此推荐保留(今后还可以清除这些缓存)。}}<br />
<br />
下载软件包后,安装程序会做完整性检查,接着从下载的软件包中创建内核。<br />
<br />
===配置系统===<br />
{{Tip|理解并完全安装步骤设置是保证系统配置成功的关键。}}<br />
<br />
本步骤将配置 Arch Linux 系统的主要配置文件,之前的安装版本用 [[Hwdetect|hwdetect]] 收集配置所需信息。现在已经过时,改用可以自动装入所需模块的 '''[[Udev|udev]]'''。<br />
<br />
现在系统会询问你使用哪个文本编辑器;选择 [[Nano|nano]]、[http://joe-editor.sourceforge.net/ joe] 或 [[Vim|vi]],三者之中 <tt>nano</tt> 最简单,请查看相应的帮助文件以获得使用方法。然后就会出现一个包含系统主要配置文件的菜单。<br />
<br />
{{注意|此时,编辑/验证所有配置文件很重要。安装程序根据输入的信息创建这些文件。跳过这些关键配置步骤是个常见错误。}}<br />
<br />
'''安装程序不能自动处理吗?'''<br />
<br />
隐藏系统配置过程直接违背'''[[The Arch Way (简体中文)]]'''。确实,最近的内核和硬件检测工具可以提供绝好的硬件支持和自动配置,Arch 依然在安装过程中将配置文件展现给用户以维护'''透明化和有利于系统资源控制'''。在你完成这些配置文件的修改之后,就学会了简单的 Arch Linux 系统的配置,熟悉了基本结构,为更好的使用和维护新系统做好准备。<br />
<br />
====/etc/rc.conf====<br />
ArchLinux 使用{{Filename|/etc/rc.conf}} 作为系统的主要配置文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所说,其中还包含了供 /etc/rc* 使用的配置信息。<br />
<br />
----<br />
<br />
=====LOCALIZATION 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''LOCALIZATION 示例:'''''</div><br />
LOCALE=&quot;zh_CN.UTF-8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;Asia/Shanghai&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
</div><br />
<br />
:;LOCALE :系统本地化设置,所有国际化的应用程序都会使用这个设置。从命令行运行 {{Codeline|locale -a}} 将显示可用的设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处本地化设置必须与/etc/locale.gen一致,'''[[#/etc/locale.gen|详见下文]]'''。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。<br />
:;HARDWARECLOCK :设置开关机时进行时间同步的硬件时钟,可用选项为'''UTC'''时间[通用协调时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示]还是'''localtime'''(本地硬件时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如视窗进行双启动,就必须使用本地硬件时间。<br />
:; USEDIRECTISA :为 hwclock 使用直接 I/O 请求而不是 {{Filename|/dev/rtc}} <br />
:;TIMEZONE :指定时区。(所有可用的时区可在{{Filename|/usr/share/zoneinfo/}}中找到。)<br />
:;KEYMAP : 可用的键盘映射表位于{{Filename|/usr/share/kbd/keymaps}}。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置。<br />
:;CONSOLEFONT : 如果你一定要修改此设置,可在{{Filename|/usr/share/kbd/consolefonts/}}中找到可用的字体(比如终端中文显示,就需要设定)。<br />
:;CONSOLEMAP : 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在{{Filename|/usr/share/kbd/consoletrans}}找到可用的映射表。<br />
:;USECOLOR : 如果你使用彩色显示器的话请选&quot;yes&quot;。<br />
<br />
=====HARDWARE 部分=====<br />
<div style='float:right;margin: 0 0 0 0.5em'><br />
<div style='text-align:center;'>'''''HARDWARE 示例:'''''</div><br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !pcspkr loop)<br />
</div><br />
:; MOD_AUTOLOAD :设置为&quot;yes&quot;将在启动时使用'''udev'''探测硬件并加载相应模块。(适合缺省模块化的内核)。设置为&quot;no&quot;就得靠用户自己指定所需的有关信息或自己编译内核和模块。<br />
:; MOD_BLACKLIST : 此选项已经过时,请直接在下面的 '''MODULES=''' 中屏蔽模块。<br />
:; MODULES : 如果知道缺少哪个重要的模块,可以在这里面具体指定。如果系统使用软驱,请添加 "floppy"。如果使用 loopback 文件系统,添加 "loop"。同时可以通过在模块前加感叹号(!)屏蔽模块,将强制 Udev 不载入屏蔽的模块。在示例中, IPV6 和讨厌的pcspeaker 被屏蔽。<br />
<br />
----<br />
<br />
=====NETWORKING 部分=====<br />
:; HOSTNAME :设置为你喜欢的主机名(HOSTNAME)。这也是计算机的名字,设置后请在 {{filename|/etc/hosts}}设置相同的名字<br />
:; eth0 : 如果使用'''静态IP'''请调整网络接口的IP地址、掩码和广播地址。如果使用'''DHCP'''的话则设为eth0=&quot;dhcp&quot;。<br />
:; INTERFACES : 指定所有网络接口。多个接口请用空格隔开:(eth0 wlan0)<br />
:; gateway : 如果使用'''静态IP''',将网关(gateway)地址设为路由器的IP。如果使用'''DHCP''',可以忽略此选项,但有些用户报告说同样需要设置。<br />
:; ROUTES : 如果使用'''静态IP''',去掉'gateway'前面的'!'。如果使用'''DHCP'''的话则不需要修改此行。同样,一些用户需要设置 gateway 和 ROUTES。如果 pacman 遇到网络问题,请检查这些变量。<br />
<br />
'''示例 静态 IP:'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=192.168.1.100<br />
netmask=255.255.255.0<br />
broadcast=192.168.1.255<br />
gateway=192.168.1.1<br />
#NETWORKS=(main)<br />
<br />
'''示例 动态 IP (''DHCP''):'''<br />
HOSTNAME=arch<br />
interface=eth0<br />
address=<br />
netmask=<br />
broadcast=<br />
gateway=<br />
#NETWORKS=(main)<br />
<br />
使用静态 IP 时,请修改 {{Filename|/etc/resolv.conf}} 以指定 DNS ,详情参见[[#/etc/resolv.conf|下面的部分]]。<br />
<br />
{{注意|自动连接到无线网络需要更多的工具([[netcfg]]、[[wicd]])和步骤。 详情请查看 [[Wireless Setup#Part II: Wireless management|无线设置]]页面。}}<br />
{{Tip|如果需要使用非标准 MTU 大小(即jumbo frames) 而且硬件支持,请查看[[Jumbo Frames]] 获得配置方法。}}<br />
<br />
----<br />
<br />
=====DAEMONS 部分=====<br />
这个序列罗列了需要在开机启动脚本的名字,这些脚本位于/etc/rc.d/,安装列表里面的顺序启动。同时还支持异步启动以提高开机速度<br />
<br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
<br />
*如果脚本名字前有惊叹号(!),表示它不被执行。<br />
*如果脚本名字前有&quot;at&quot;符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。<br />
*安装新服务后如果需要开启启动,请编辑此序列。<br />
<br />
{{注意| 这种'BSD风格'的初始化正是Arch的行为方式,其它发行版则是在init.d目录里使用一大堆符号链接。}}<br />
<br />
'''关于 DAEMONS'''<br />
<br />
虽然此时不需修改[[daemons]]行,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。<br />
<br />
待命进程(daemon)是一个运行于后台的程序,会自动根据发生的事件提供服务。一个明显的例子是网页服务器等待请求,将需要的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些待命进程工作起来并不是那么明显。例如写系统日志的待命进程(如syslog、metalog)和提高图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。本指南会对一些较有用的待命进程进行介绍。<br />
<br />
一点历史:''daemon'' 由 MIT 的 MAC 项目的工程师最早使用,这个名字来自麦克斯韦妖(Maxwell's demon)。在这个著名的理想实验中,demon 在后台不间断的工作,分类分子。*nix 系统继承了这个名字命名 '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor。<br />
<br />
{{Tip| Arch daemons 位于 /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
'''fstab''' ('''f'''ile '''s'''ystems '''tab'''le的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。'''/etc/fstab'''文件一般被'''mount'''命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/rc.sysinit 会调用 '''mount -a''',mount 读取 /etc/fstab 以确定挂载时使用的选项。如果 '''noauto''' 位于 /etc/fstab 中的文件系统之后,'''mount -a''' 不会在启动时挂载它。<br />
<br />
这是一个 {{Filename|/etc/fstab}} 示例:<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
devpts /dev/pts devpts defaults 0 0<br />
shm /dev/shm tmpfs nodev,nosuid 0 0<br />
UUID=0ddfbb25-9b00-4143-b458-bc0c45de47a0 / ext4 defaults 0 1<br />
UUID=da6e64c6-f524-4978-971e-a3f5bd3c2c7b /var ext4 defaults 0 2<br />
UUID=440b5c2d-9926-49ae-80fd-8d4b129f330b swap swap defaults 0 0<br />
UUID=95783956-c4c6-4fe7-9de6-1883a92c2cc8 /home ext4 defaults 0 2<br />
<br />
{{注意|[[Fstab]] 提供了更多的信息和性能调整选项,例如'noatime'/'relatime'。}}<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
大部分用户都不需要在安装时修改此文件,但请阅读下面的解释信息。<br />
<br />
此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initrramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。<br />
<br />
<code>mkinitcpio</code> 是下一代 '''initramfs 生成器'''。与以前的 <code>mkinitrd</code> 和 <code>mkinitramfs</code> 脚本相比具有许多优势。<br />
<br />
* 使用 '''glibc''' 和 '''busybox''' 提供小巧轻量的早期用户运行环境。<br />
* 可以利用 '''udev''' 在运行时进行自动侦测,可以避免装入大量不需要的模块。<br />
* 基于钩子的初始脚本可以通过自定义钩子扩展,通过 pacman 软件包提供而不需要修改 mkinitcpio 本身。<br />
* 已经支持 '''lvm2''','''dm-crypt''',包括 legacy 和 luks volumes。 '''raid''','''swsusp''' 和 '''suspend2''' 从'''usb mass storage''' 设备唤醒和启动。<br />
* 许多功能可以通过内核命令行配置,无需重新编译。<br />
* '''mkinitcpio''' 脚本可以在内核中包含镜像,所以能够实现自我包含的内核。<br />
* 十分灵活,许多时候都不需要重新编译内核。<br />
<br />
如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看[[Installing with Software RAID or LVM| RAID]] 和[[Configuring mkinitcpio | /etc/mkinitcpio]]。如果使用非 US 键盘,请添加 "<code>keymap</code>" 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "<code>usbinput</code>" 。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "<code>usb</code>",示例:<br />
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"<br />
(否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。)<br />
<br />
如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。<br />
<br />
====/etc/resolv.conf====<br />
{{注意|如果使用 DHCP,可以直接忽略此文件,dhcpd 默认会动态创建和销毁此文件。可以通过配置改变默认行为,更多信息请查看[[Network#For DHCP IP|Network]] 和 [[Resolv.conf]]。}}<br />
<br />
''resolver'' 是 C 库中的一系列访问DNS(Domain Name System)的函数。DNS 的主要功能是将域名转化为 IP 地址。解析配置文件 /etc/resolv.conf 包含了解析器初始化时读取的信息。<br />
<br />
如果使用静态 IP,需要在 {{Filename|/etc/resolv.conf}} 中设置域名服务器 (nameserver <ip-address>),数量不限。 <br />
例如,使用 OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
如果使用路由器,需要在路由器中指定 DNS 服务器,并在 {{Filename|/etc/resolv.conf}} 中将域名服务器指定成路由器的 IP(同时也是 {{Filename|/etc/rc.conf}} 中的网关)。 例如:<br />
nameserver 192.168.1.1<br />
<br />
如果使用 '''DHCP''',也可以在路由器中指定域名服务器,或者允许 ISP 自动指定。<br />
<br />
====/etc/hosts====<br />
此文件将 IP 地址与主机名和别名对应。 每行一个 IP 地址,每个主机应该用单行表示为:<br />
<IP-address> <hostname> [aliases...]<br />
将 /etc/rc.conf 指定的''hostname''设置为别名:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
<br />
{{警告|为了程序的兼容性,必须严格遵照这个格式,'''包括'localhost' 这项'''!所以如果主机名为 "arch",那么上面的内容应该变为:<br />
127.0.0.1 localhost.localdomain localhost arch<br />
<br />
错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。''}}<br />
<br />
{{注意| Arch Linux 安装程序的最近版本会在你修改 {{Filename|/etc/rc.conf}} 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。}}<br />
<br />
如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。}}<br />
<br />
====/etc/hosts.deny和/etc/hosts.allow====<br />
{{out of date}}<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 />
<code>/usr/sbin/locale-gen</code> 命令从 '''/etc/locale.gen'''读取系统的locales 信息。这些设置稍后会被'''glibc''' 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。<br />
<br />
默认情况下 {{Filename|/etc/locale.gen}} 是一个仅包含注释文档的空文件。编辑后,这个文件将不会更改。每次'''glibc'''更新之后就会运行 <code>locale-gen</code> 一次, 重新生成 {{Filename|/etc/locale.gen}} 指定的本地化文件。<br />
<br />
选定你需要的本地化类型(移除前面的#即可), 比如:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件 /etc/locale.gen 变更locale, 然后使用根用户(root)运行'locale-gen' 脚本。<br />
<br />
{{注意|如果没有设置 locale, 将提示 "The current locale is invalid..." 错误。而这可能是 Arch 新手犯的最多的错误。}}<br />
<br />
====Pacman-镜像====<br />
为'''<code>pacman</code>''' 选择一个软件仓库镜像站。主站 archlinux.org 是有流量限制的,下载速度限于50KB/s。访问 [[Mirrors]] 获取更多关于 pacman 镜像的信息。<br />
<br />
====Root密码====<br />
最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。<br />
<br />
====完成====<br />
选择 "Done",之后,系统会重建镜像并返回到主菜单,这个步骤会花费一些时间。<br />
<br />
===安装启动加载器===<br />
示例中仅有一个操作系统,所以需要启动加载器。推荐使用 [[GRUB]],除此之外可以使用 [[LILO]] 或 [[Syslinux]]。如果使用其他启动加载器,请参考相关的 wiki 和文档。<br />
<br />
提供的 '''GRUB''' 配置文件 ({{Filename|/boot/grub/menu.lst}}) 应该足够了,但请仔细检查文件内容以确保准确性(特别是要确定在第三行 UUID 指定的根分区)。如果要修改控制台的分辨率,可以用 vga=<number> 内核选项。(分辨率和数值对应表位于{{Filename|menu.lst}}。)<br />
<br />
示例:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img}}<br />
<br />
从单独 /boot 分区启动:<br />
title Arch Linux (Main)<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
将 '''GRUB''' 启动加载器安装到主启动记录 (本例中为 /dev/sda)。<br />
<br />
{{警告|请确定安装到 '''/dev/sdX''' 而 '''不是 /dev/sdX''#'''''! 这是常见错误。}}<br />
<br />
{{tip|详情参见 [[GRUB]]。}}<br />
<br />
===重启系统===<br />
好了,Arch Linux 基本系统已经安装配置完毕。退出安装并重启:<br />
{{Cli|# reboot}}<br />
{{Tip|确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!}}<noinclude><br />
<br />
{{Beginners' Guide navigation (简体中文)}}<br />
</noinclude></div>
Jarodlau