Handbook:Parts/Installation/Base/zh-cn

分发文件
为了能更快的下载源代码，这里推荐选择一个快的镜像. Portage将会在文件中查找 GENTOO_MIRRORS 变量，并使用其中所列的镜像. 可以通过浏览Gentoo镜像列表搜索一个（或一组）最接近系统物理位置（往往那是最快的）的镜像. 另外，我们提供一个叫作的好工具，它为用户选择所需镜像提供了一个很好的交换. 只需要移动光标选择镜像并按选择一个或多个镜像.

Gentoo ebuild 仓库
选择镜像的第二个重要步骤是通过文件来配置Gentoo的 ebuild 仓库. 这个文件包含了更新Portage数据库（包含Portage需要下载和安装软件包所需要的信息的一个ebuild和相关文件的集合）所需要的同步信息.

通过几个简单的步骤就可以完成仓库的配置. 首先，如果它不存在，则创建目录：

接下来，复制Portage提供的Gentoo仓库配置文件到这个（新创建的）目录：

使用一个文件编辑器或通过使用命令来看一眼. 文件里的内容应该是格式并且看起来像是这样：

[gentoo] location = /usr/portage sync-type = rsync sync-uri = rsync://rsync.gentoo.org/gentoo-portage auto-sync = yes sync-rsync-verify-jobs = 1 sync-rsync-verify-metamanifest = yes sync-rsync-verify-max-age = 24 sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc sync-openpgp-key-refresh-retry-count = 40 sync-openpgp-key-refresh-retry-overall-timeout = 1200 sync-openpgp-key-refresh-retry-delay-exp-base = 2 sync-openpgp-key-refresh-retry-delay-max = 60 sync-openpgp-key-refresh-retry-delay-mult = 4

}}
 * 1) for daily squashfs snapshots
 * 2) sync-type = squashdelta
 * 3) sync-uri = mirror://gentoo/../snapshots/squashfs

上面列出的默认的 sync-uri 变量值将决定一个基于轮询的镜像位置. 这将缓解Gentoo基础设施上带宽的压力并能提供一个由于特定镜像离线的故障安全. 除非使用本地私有Portage镜像，否则建议保留默认URI，.

复制DNS信息
在进行新环境之前，还有一件要做的事情就是复制中的DNS信息. 需要完成这个来确保即使进入到新环境后网络仍然可以使用. 包含着当前网络中的DNS服务器.

要复制这个信息，建议通过命令的 选项. 这可以保障如果是一个符号链接的话，复制的是那个目标文件而不是这个符号文件自己. 否则在新环境中，符号文件将指向一个不存在的文件（因为链接目标非常可能不会在新环境中）.

挂载必要的文件系统
稍等片刻，Linux的根将变更到新的位置. 为了确保新环境正常工作，需要确保一些文件系统可以正常使用.

需要提供的文件系统是：


 * 一个pseudo文件系统（看起来像是常规文件，事实上却是实时生成的），由Linux内核暴露的一些环境信息
 * 一个pseudo文件系统，像要被取代的一样，比更加有结构
 * 是一个包含全部设备文件的常规文件系统，一部分由Linux设备管理器（通常是）管理

位置将要挂载到，而其它的两个都是绑定挂载. 字面上的意思是，例如事实上就是（它只是同一个文件系统的第二个条目点），而是（可以说是）文件系统的一个新的挂载.

Also ensure that mode 1777 is set:

}}

进入新环境
现在所有的分区已经初始化，并且基础环境已经安装，是时候进入到新的安装环境了. 这意思着会话将把根（所能访问到的最顶层位置）从当前的安装环境（安装CD或其他安装媒介）变为安装系统（叫做初始化分区）. 因此叫作change root或chroot.

完成chroot有三个步骤：


 * 1) 使用chroot将根位置从（在安装媒介里）更改成（在分区里）
 * 2) 使用命令将一些设置（那些在中的）重新载入到内存中
 * 3) 更改主提示符来帮助我们记住当前会话在一个chroot环境里面.

从现在开始，所有的动作将立即在新Gentoo Linux环境里生效. 当然这离完成还很远，因为安装还剩下很多章节 ！

从网站安装ebuild 数据库快照
接下来，是安装主 ebuild 版本库 (repository) 快照.这个快照包含一组文件，包括通知Portage中有关可用软件的标题（用于安装），系统管理员可以选择哪些配置文件，软件包或 profile 特定新闻 (news) 项目等.

建议那些使用限制性防火墙的用户使用 命令（因为它使用HTTP / FTP协议下载快照）节省网络带宽. 没有网络或带宽限制的读者可以愉快地跳到下一节.

这将从Gentoo的一个镜像中获取最新的快照（每天发布）并将其安装到系统上：

从现在开始，Portage可能会提示建议运行某些更新. 这是因为在安装了一个新的repository快照后，Portage发现了stage文件中已经安装的某些包有了更新的版本. 现在可以安全的忽略包的更新；当Gentoo安装完成后可以延迟更新.

可选：更新Portage ebuild 数据库
Gentoo 数据库可以更新到最新版本. 前面的命令将安装一个最近的快照（通常是24小时以内），所以这一步是可选的.

假设需要最新更新的包（1小时以内），可以使用. 这个命令将使用rsync协议来更新 Gentoo ebuild 数据库（之前通过获得的）到最新状态.

在慢速的终端上，比如一些framebuffer或者串口控制台，建议使用 选项来加速这个进程：

阅读新闻条目
当同步Portage ebuild 数据库到系统时，Portage 可能警告用户类似于下面的信息：

新闻条目的创建是为了提供一个通信媒介，通过rsycn树来推送重要的消息给用户. 要管理它们，使用. 应用程序是一个Gentoo应用程序，它允许一个通用的管理界面完成对系统的变更和操作. 在这里，要用到的 模块.

对于 模块，最常用的有三个操作：


 * 使用 显示一个可用新闻条目的预览.
 * 使用 来阅读新闻条目.
 * 使用 将在新闻条目阅读后删除，并且不能再次阅读.

更多关于新闻阅读器的信息可以通过其手册页查看:

选择正确的配置文件
配置文件是任何一个Gentoo系统的积木. 它不仅指定 USE 、 CFLAGS 和其它重要变量的默认值，还会锁定系统的包版本范围. 这些设定全是由Gentoo的Portage开发者们来维护.

使用，你能看到当前系统正在使用什么配置文件，现在来使用 模块：

可以看到，一些架构还会有桌面的子配置文件.

在看完框架的可用配置文件之后，用户可以键入以下命令为系统选择一个不同的配置文件：

更新@world集合
在这一点上，如果选择了新的系统profile，则更新系统的 @world set 是明智的，以便可以为新profile构建系统.

对于那些在标题中选择了 的配置文件的人来说，下面的步骤是'必要的'（因为Gentoo的官方阶段的tarball使用OpenRC作为默认的init系统），但是对于其他的profile是' 可选的''：

配置USE变量
USE 是Gentoo为用户提供的最具威力的变量之一. 很多程序通过它可以选择编译或者不编译某些可选的支持. 例如，一些程序可以在编译时加入对 GTK+或是对Qt的支持. 其它的程序可以在编译时加入或不加入对于SLL的支持. 有些程序甚至可以在编译时加入对framebuffer的支持（svgalib）以取代X11（X服务器）.

大多数的发行版会使用尽可能多的支持特性编译它们的软件包，这既增加了软件的大小也减慢了启动时间，而这些还没有算上可能会涉及到的大量依赖性问题. Gentoo可以让你自己定义软件编译的选项，而这正是 USE 要做的事.

在 USE 变量里你可以定义关键字，它被用来对应相应的编译选项. 例如， 将会把SSL支持编译到程序中以支持它. 会移除其对于X服务器的支持（注意前面的减号）. 将会以支持GNOME（和GTK+）但不支持KDE（和Qt）的方式编译软件，使系统为GNOME做完全调整（如果架构支持）.

默认的USE设置全放在了系统所使用的Gentoo配置文件的文件中. Gentoo对它的配置文件们使用了一个（复杂的）继承系统，在这个阶段我们不去深入. 最简单的检查当前活动的 USE 标记的办法是运行并选择以USE开头的那一行：

可以在系统的中找到可用的USE标记的完整描述.

在命令中，可以通过使用和键来滚动，并且可以按退出.

作为示例，我们展示一个支持DVD、ALSA,以及CD录制的基于KDE系统的USE设置：

当 USE 在中定义，会从那个默认列表中添加（或者移除，如果USE标记以号开头的话）. 用户想忽略所有默认的USE设置并完全由自己管理的话，应该在中定义 USE 以 开头：

时区
为系统选择时区. 在中查找可用的时区，然后写进文件.

假设要选择的时区是Asia/Shanghai：

请避免使用时区，它们的名字并不意味着想要的时区. 例如，实际上是.

接下来，重新配置包，将会为我们基于条目更新文件. 文件用于让系统的C类库知道系统在什么时区.

配置地区
大多数用户只想在他们的系统上使用一或两个地区.

Locales 不只是指定用户应该使用与系统进行交互的语言，同时也指定了字符串排序，日期和时间的显示等规则.

系统应该支持的地区应该在中提到.

下面的地区是一个示例，展示了同时使用英语（美国）和中文（中国）及附加字符格式（如UTF-8）.

下一步是运行. 它将生成文件中指定的所有地区.

要验证所选择的地区当前可用，运行.

等完成后，我们就来设定系统级别的区域设置. 我们又一次使用来做这件事，现在使用 模块.

通过可显示可用的目标：

通过可以设定正确的地区：

这个还可以通过人工编辑文件来完成：

确保设定了一个地区，不然系统会在后面安装中的内核编译和部署其他软件时显示警告和错误.

现在重新加载环境：

为了帮助指导用户完成此过程. 我们制作了完整的本地化指南. 另一个有意思的文章是为系统启用UTF-8的具体信息的UTF-8指南.