[ << ] [ < ] [ 手册主页 ] [ > ] [ >> ]
5.a. 安装一个Stage包
正确的设置日期/时间
在继续之前,你需要检查和更新一下你的系统日期/时间。一个配置错误的时钟可能在将来导致很奇怪的结果。
运行date确认一下当前时间:
代码 1: 确认日期/时间 |
# date
Sun Apr 25 16:21:18 CEST 2004
|
如果日期/时间显示错误,使用date MMDDhhmmYYYY语句(M是月份,D是日期,m是分钟,Y是年份)更新它。比如说,设定时间为2004年4月25日16时21分:
代码 2: 设定日期/时间 |
# date 042516212004
|
做出你的选择
下一步你需要做的是在你的系统上安装一个你所选择的stage包。你可以从因特网上下载一个需要的包,或者如果你从Gentoo的通用LiveCD启动的话就从LiveCD里复制过去一个。
5.b. 默认:使用从因特网上下载的Stage
下载Stage包
进入你将文件系统所挂载的Gentoo的挂载点(很可能是/mnt/gentoo):
代码 3: 进入Gentoo挂载点 |
# cd /mnt/gentoo
|
根据你的安装介质不同,你可以用已有的几种工具去下载一个stage。如果你有lynx,这样你可以马上浏览网页Gentoo镜像列表选择一个离你最近的镜像。然后选择文件夹releases/,根据你的架构(如x86)和Gentoo版本(如2004.1)选择,只到进入stages文件夹。那里你将看到你的架构的所有已有的stage文件。选择一个,并输入D来下载。完成下载后,输入Q退出浏览器。
注释: Gentoo Hardened stage包(用于x86架构上)是2004.0发行版的一部分。 |
代码 4: 使用lynx浏览镜像列表 |
# lynx http://www.gentoo.org/main/en/mirrors.xml
|
如果你没有lynx,那你应该使用links2来处理。links2并lynx更强大,但却有些小问题。其中的一个就是它不能使用我们前面声明的proxy变量。如果你许要设置一个代理服务器,使用links2 -http-proxy proxy.server.com:8080代替。然后,既然links2和lynx是相似的,你可以按照使用lynx一样的步骤完成这个过程。
代码 5: 使用links2浏览镜像列表 |
(Without proxy) # links2 http://www.gentoo.org/main/en/mirrors.xml (With proxy) # links2 -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml |
如果你要检查下载的stage包的完整性,你可以使用md5sum,然后将其输出和镜像提供的MD5码对比。
代码 6: 检查一个stage包的完整性 |
# md5sum -c stage1-x86-20040412.tar.bz2.md5
stage1-x86-20040412.tar.bz2: OK
|
解开Stage包
下载解开下载到你系统的stage包。我们使用GNU的tar命令来完成,这是最简单的方法:
代码 7: 解开stage |
# tar -xvjpf stage?-*.tar.bz2
|
注释: 你可以忽略任何有关./proc的警告"No such file for directory"。还有,"Error exit delayed from previous errors"这样的信息也可以忽略。 |
确保你使用和我们一样的命令参数(-xvjpf)。x表示解开(Extract),v表示详细信息(Verbose)(这个是可选的),j表示用bzip2解压缩,p表示保留权限还有f表示我们要解开一个文件,而不是一个标准输入。
stage安装完后,从安装Portage继续。
5.c. 替代办法:使用LiveCD里的一个stage
解开Stage包
CD里的stage都放在/mnt/cdrom/stages文件夹里。使用ls查看里面存在的stage列表:
代码 8: 列出已有的stage |
# ls /mnt/cdrom/stages
|
如果系统回应表示错误,你可能需要先把CD-ROM挂载上:
代码 9: 挂载CD-ROM |
# ls /mnt/cdrom/stages ls: /mnt/cdrom/stages: No such file or directory # mount /dev/cdroms/cdrom0 /mnt/cdrom # ls /mnt/cdrom/stages |
然后进入你的Gentoo挂载点(一般情况下是/mnt/gentoo):
代码 10: 进入文件夹/mnt/gentoo |
# cd /mnt/gentoo
|
现在我们解开你选择的stage包。我们将使用GNU tar工具做这个。确认你使用了相同的命令参数(-xvjpf)!在下面的例子中,我们解开stage包stage3-<subarch>-20040412.tar.bz2。记住将包的名字换成你的stage的名字。
代码 11: 解开stage包 |
# tar -xvjpf /mnt/cdrom/stages/stage3-<subarch>-20040412.tar.bz2
|
注释: 你可以忽略任何有关./proc的警告"No such file for directory"。还有,"Error exit delayed from previous errors"这样的信息也可以忽略。 |
stage安装完后,从安装Portage继续。
5.d. 安装Portage
有无网络?
如果你没有一个可以使用的网络连接,你必须使用我们的LiveCD提供的一个portage快照。如果后面你要使用预编译的软件包和加快安装速度,你必须使用LiveCD提供的portage快照。其他的用户则可以等会使用emerge下载一个完全新的Portage树。
从下面一个正确的地方继续:
从LiveCD中安装一个Portage快照和源代码
在通用LiveCD里有一个Portage的快照。你读到这些,我们可以假设你正在使用这种LiveCD。要安装这个快照,可以看看/mnt/cdrom/snapshots里有什么快照:
代码 12: 查看文件夹/mnt/cdrom/snapshots的内容 |
# ls /mnt/cdrom/snapshots
|
现在按照下面的方法解开这个快照。再一次提起,确认你使用了正确的tar的命令参数。还有,参数-C是大写的C,而不是c。在下面这个例子中,我们使用portage-20040413.tar.bz2作为快照的名字。确认你已经换成你的快照的名字。
代码 13: 解开一个Portage快照 |
# tar -xvjf /mnt/cdrom/snapshots/portage-20040413.tar.bz2 -C /mnt/gentoo/usr
|
你还需要从CD里复制所有的源代码:
代码 14: 复制源代码 |
# mkdir /mnt/gentoo/usr/portage/distfiles # cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/ |
现在你的Portage快照已经安装了,从配置编译参数继续。
5.e. 配置编译参数
介绍
你可以设定一些可以影响Portage行为的变量来优化Gento。这些变量都可以作为环境变量设置(使用export),但是不能保持不变。为保存你的设定,Portage给你提供了一个给Portage的配置文件/etc/make.conf。这就是我们现在要编辑的文件。
注释: 所有可以使用的变量的带注释的列表可以在/mnt/gentoo/etc/make.conf.example里找到。你只需要设定里面提到的这些变量,就可以成功完成Gentoo的安装。 |
打开你最喜欢的编辑器(这个指南中我们使用nano),这样我们可以替换我们将要讨论的优化变量。
代码 15: 打开/etc/make.conf |
# nano -w /mnt/gentoo/etc/make.conf
|
你很可能已经注意到了,文件make.conf.example的结构就同平常文家一样:注释行都以"#"开头,其他行使用VARIABLE="content"语法定义变量。我们将要讨论一下其中的一些。
CHOST
警告: 虽然这个对非stage1用户很吸引人,但是他们不不应该改变make.conf里的CHOST设定。做这个会让系统变得不可用。再一次提醒:只有你在使用一个stage1安装时才能改变这个变量。 |
变量CHOST定义了gcc编译软件时要使用的架构。可能有如下这些:
| 架构 | 子架构 | CHOST设置 |
| x86 | i386 | i386-pc-linux-gnu |
| x86 | i486 | i486-pc-linux-gnu |
| x86 | i586 | i586-pc-linux-gnu |
| x86 | i686和上面所有的(包括athlon) | i686-pc-linux-gnu |
| alpha | alpha-unknown-linux-gnu | |
| ppc | powerpc-unknown-linux-gnu | |
| sparc | sparc-unknown-linux-gnu | |
| hppa | (generic) | hppa-unknown-linux-gnu |
| hppa | pa7000 | hppa1.1-unknown-linux-gnu |
| hppa | pa8000 and above | hppa2.0-unknown-linux-gnu |
| mips | mips-unknown-linux-gnu | |
| amd64 | x86_64-pc-linux-gnu |
CFLAGS和CXXFLAGS
变量CFLAGS和CXXFLAGS分别定义了gcc的C编译器和C++编译器的优化参数。虽然我们在这里进行了一般性的定义这些变量,如果你在编译每个软件时分别优化这些参数,你将获得最大的性能。这里的原因就是每个程序都是不一样的。
在make.conf里,你应该定义你认为是可以使你系统一般情况下最能有反应的优化参数。不要在这个变量山放一些测试性的设置;太多的优化也可能导致程序不正常(失败,或者更糟,不起作用)。
我们不会解释所有的这些优化选项。如果你想知道所有的,阅读GNU在线手册或者gccinfo页面(info gcc只能在一个可以工作的Linux系统起作用)。文件make.conf.example里也包含了不少的例子和信息;不要忘了也阅读它。
第一个设置就是参数-march=,这个指定了目标架构的名字。文件make.conf.example描述了可能的选项(以注释出现)。比如,对于x86的Athlon Xp架构来说:
代码 16: GCC的march设定 |
# AMD64用户不要使用athlon-xp
-march=athlon-xp
|
第二个设置是参数-O(是大写O,不是零),这个指定了gcc的分类优化选项。可选的分类有s(用于优化大小)、0(零,不优化)、1、2或者3以获得更多的速度优化参数(每类都包含前面的相同参数,并加上一些额外的)。比如说,对于分类2优化选项来说:
代码 17: GCC的O设定 |
-O2 |
其他的常用优化参数有-pipe(使用管道而不是临时文件来在不同stage的完成之间联系)和-fomit-frame-pointer(这个不会保存注册函数时不需要的frame指针)。
你定义CFLAGS和CXXFLAGS时,你应该是将不同的优化参数组合在一起,就同下面这个例子一样:
代码 18: 定义变量CFLAGS和CXXFLAGS |
CFLAGS="-march=athlon-xp -pipe -O2" # AMD64用户不应该使用athlon-xp CXXFLAGS="${CFLAGS}" # 给两个变量使用相同的设置 |
MAKEOPTS
你可以通过使用MAKEOPTS来定义安装一个软件时可以允许发生的并行编译数。建议是你系统的CPU数加上1。
代码 19: 给一个通用单CPU系统的MAKEOPTS |
MAKEOPTS="-j2" |
准备,设置,继续!
根据你的医院更新/mnt/gentoo/etc/make.conf并保存。你现在可以从安装Gentoo基本系统继续。
[ << ] [ < ] [ 手册主页 ] [ > ] [ >> ]