写入网络信息
您需要告诉 Linux 关于您的网络的信息。这在 /etc/hosts 中定义帮助您将名称服务器上查不到的主机名称反解为 IP。例如您的网络中有三台计算机,分别叫做 jenny (192.168.0.5),benny (192.168.0.6) 和 tux (192.168.0.7 - 这台计算机),您要开启 /etc/hosts 然后填入这些设定:
Code Listing 17: 开启 /etc/hosts
# nano -w /etc/hosts
Code Listing 18: 填入网络信息
127.0.0.1 localhost192.168.0.5 jenny.homenetwork jenny192.168.0.6 benny.homenetwork benny192.168.0.7 tux.homenetwork tux
如果您的计算机是唯一的一部,或是名称服务器有全部的反解,底下这一行已经足够了,例如说,你想要你的计算机叫做 tux.homenetwork:
Code Listing 19: 适合单一计算机或是有完整反解的计算机的 /etc/hosts
127.0.0.1 tux.homenetwork tux localhost
储存设定然后离开,继续下面的步骤。
如果您没有 PCMCIA,您可以继续进行 系统信息。 PCMCIA 使用者继续下面的主题。
非必要:让 PCMCIA 工作
Note: pcmcia-cs 只可以在 x86, amd64 和 ppc 平台上使用。
PCMCIA 使用者首先要安装 pcmcia-cs 套件。然后使用 USE="-X" 来避免现阶段的 XFree86 安装:
Code Listing 20: 安装 pcmcia-cs
# USE="-X" emerge pcmcia-cs
当 pcmcia-cs 安奘好以后,新增 pcmcia 到预设 runlevel:
Code Listing 21: 新增 pcmcia 到预设 runlevel
# rc-update add pcmcia default
8.c. 系统信息
Root密码
我们藉由输入以下指令来更改Root密码
Code Listing 22: 设定Root密码
# passwd
如果您希望让Root能够从文字接口登入,请增加tts/0到/etc/securetty:
Code Listing 23: 增加 tts/0 to /etc/securetty
# echo "tts/0" >> /etc/securetty
系统信息
Gentoo 使用 /etc/rc.conf 来设定整个系统的一般设定。开启 /etc/rc.conf 然后享受里面完善的注解
Code Listing 24: 开启 /etc/rc.conf
# nano -w /etc/rc.conf
就如同您所看到的,这个档案有完善的注解让您设定必要的参数。特别要注意 KEYMAP 变量,如果您设定错误的 KEYMAP 当您再用键盘输入时会得到错误的结果。
Note: 以 USB 为主的 SPARC 系统或兼容的系统可能要选择 i386 keymap (例如 "us") 而不是 "sunkeymap"。
PPC 在大部份的系统上使用 x86 的 keymaps。想要使用 ADB keymaps 的使用者将需要在开机时启用核心内的 ADB keycode sendings 然后在 rc.conf 内设定一个 mac/ppc keymap。
设定好 /etc/rc.conf 以后,存盘然后离开。接下来继续 安装必要的系统工具。
9. 安装必要的系统工具
9.a. 系统记录器
在我们提到什么是 stage3 时,我们曾说它包含着所有我们不能提供给我们的使用者的系统工具。我们也曾提到过之后将会安装其它的工具。我们便从这里开始解说这些工具吧
第一个您需要做决定的工具是用来提供给系统记录的功能。Unix 和 Linux 拥有一个很好的记录功能的历史 -- 若是您想要的话,您可以记录所有发生在您系统上的事情至 logfiles。这将会需要用到 系统记录器。
Gentoo 提供许多个系统记录器的选择。分别为 sysklogd,它是一个传统的系统记录服务器,syslog-ng ,是一个进阶的系统记录器,而 metalog 则是一个高度配置的系统记录器。Portage 内或许有其它的记录器 -- 我们提供的套件每天都在增加当中。
如果您无法决定要使用那一个系统记录器,您可以考虑使用 metalog,它除了非常强大外,它也内含了非常好的预设配置。
请用 emerge 指令来安装您想使用的系统记录器,并使用 rc-update 将之加入至预设 runlevel。下面是一个安装 metalog 的例子。当然,它也适用于安装您要用的系统记录器:
Warning: 2004.2 的 stage3 压缩文件错误的包含 sysklogd 纪录器。您需要再安装新的之前先移除他。
Code Listing 1: 安装系统记录器
(如果您使用 stage3 压缩档的话先移除 sysklogd 纪录器)# emerge unmerge sysklogd(现在安装您选择的系统记录器)# emerge metalog# rc-update add metalog default
9.b. 非必要: Cron 服务器
接下来的则是 cron 服务器。虽然您的系统并不一定需要安装这个服务器,但我们还是建议您安装一个。然而,什么是 cron 服务器呢?cron 服务器执行排定的指令。若您需要时常执行一些指令 (每天、每星期、或是每个月),则它将会是一个得力的助手。
Gentoo 提供三种可能的 cron 服务器:dcron、fcron、以及 vixie-cron。安装它们的方式跟安装系统记录器的方式一样。但是, dcron 和 fcron 需要一个额外的设定指令,即 crontab /etc/crontab。如果您无法决定使用那个 cron 服务器,您可以考虑使用 vixie-cron。
针对无网络的安装,我们只提供 vixie-cron。如果您想要安装其它 cron ,您将需要等到之后再自行安装。
Code Listing 2: 安装 cron 服务器
# emerge vixie-cron# rc-update add vixie-cron default(只有在安装 dcron 或 fcron) # crontab /etc/crontab
9.c. 档案系统工具
依照您使用的档案系统,您应该安装必要的档案系统工具 (用来检查档案系统的正确性、建立额外的档案系统等等)。
下面的表格列出各档案系统所需要安装的工具:
档案系统 工具 安装指令
XFS xfsprogs emerge xfsprogs
ReiserFS reiserfsprogs emerge reiserfsprogs
JFS jfsutils emerge jfsutils
如果您不需要使用 rp-pppoe 联机至网际网络,请阅读 最终化您的 Gentoo 安装。不然请继续阅读 非必要:网络工具.
9.d. 非必要:网络工具
如果您需要 rp-pppoe 来联机至网际网络,您需要安装它。
Code Listing 3: 安装 rp-pppoe
# USE="-X" emerge rp-pppoe
USE="-X" 将会禁止 xorg-x11 因为依存性而被安装至系统 (rp-pppoe 有图型接口工具;如果您想要激活它们,您可以晚点再重新编译 rp-pppoe ,但您也可以现在就安装 xorg-x11 -- 这将会需要更长的编译时间)。
现在请接着阅读 最终化您的 Gentoo 安装。
10. 设定开机管理程序
10.a. 决定您的选择
介绍
现在您的核心已经设定和已经编译好相关的系统设定文件了,是时候该安装一个程序来驱动开机时所需要的核心。这个程序叫做 开机程序。适用于 x86, Gentoo Linux 提供 GRUB 和 LILO。在我们继续安装其中一个开机程序之前,我们将会告诉您如何设定 framebuffer (如果您想要的话)。使用 framebuffer,您可以在文字接口下执行有限度的图标功能(如 Gentoo 提供的漂亮 bootsplash)。
选择性: Framebuffer
如果 您的核心有设定 framebuffer 的支持(或是您使用 genkernel 的预设核心设定),您可以在您的开机程序设定文件内加入 vga 相关的设定。以下的列表将会是一些可用的 vga 参数。范例的设定文件将使用 800x600 @ 16bpp ,所以是 768。
640x480 800x600 1024x768 1280x1024
8 bpp 769 771 773 775
16 bpp 785 788 791 794
32 bpp 786 789 792 795
请记得(或是写下)您适用的数值;您稍后将需要到它。
现在开始安装 GRUB 或是 LILO。
10.b. 预设: 使用 GRUB
了解 GRUB 的意义
了解 GRUB 的关键就是必须了解 GRUB 如何看待相关的硬盘和分区。您的 Linux 分区 /dev/hda1 将会被 GRUB 解释为 (hd0,0)。请注意 hd0,0 外面的括号 - 它们是不可或缺的。
硬盘的计算是从 0 而不是 "a" 开始。请特别注意硬盘,GRUB 将不会计算 atapi-ide 光驱和刻录机等装置。(在正常的情况来说,除非特别从 bios 设定 SCSI 磁盘开机,不然它们将取得比 ide 磁盘更高的号码。
假如您有一个在 /dev/hda 的硬盘,在 /dev/hdb 的光驱,在 /dev/hdc 的刻录机,第二棵硬盘在 /dev/hdd 和没有任何 SCSI 装置。 /dev/hdd7 将会被翻译成 (hd1,6)。这或许听起来有点诡异,但是我们将可以利用 GRUB 提供的 tab 完成结构(tab complete mechanism)让您设定许多硬盘和分区时方便许多。
差点忘记了,我们现在该安装 GRUB 了。
安装 GRUB
要安装 GRUB,我们先需要安装它:
Code Listing 1: 安装 GRUB
# emerge grub
要开始设定 GRUB,您将要输入 grub。您将会被带领到 grub> 的文字接口。现在您需要输入正确的指令将 GRUB 的开机纪录安装到您的硬盘上。
Code Listing 2: 开始 GRUB 接口
# grub
Note: 如果您的系统上没有任何软盘,将 --no-floppy 的选项加到以上指令的后面,如此一来 grub 就不会在开始时寻找软盘机了。
在范例的设定文件内,我们要安装 GRUB,所以它才能从开机分区 /dev/hda1 内读 GRUB 的取相关资料,然后将 GRUB 开机纪律安装到硬盘的 MBR (master boot record),如此一来我们一开机就会碰到 GRUB 的画面。当然,如果您没有按照范例设定,请依照您的设定做更改。
GRUB 的 tab 完成架构 (tab completion mecanism)适用于 GRUB内。举例来说,如果您输入 "root(" 然后按下 TAB 键,您将会看到 GRUB 显示出所有可用的装置(如 hd0)。如果您输入 "root (hd0," 然后按下 TAB 键,您将会看到 GRUB 显示出所有可选的分区清单(如 hd0,0)。
GRUB 的 tab 键完成架构应该可以在 GRUB 的设定上简单一点。现在我们将要开始设定 GRUB。
Code Listing 3: 将 GRUB 安装到 MBR
grub> root (hd0,0) (义您的开机分区所在的地方)grub> setup (hd0) (将 GRUB 安装到 MBR)grub> quit (离开 GRUB)
Note: 如果您不打算将 GRUB 安装到 MBR 而是其它分区上,您将要小心的将 setup 指令指向正确的分区。举例来说,如果您要把 GRUB 安装到 /dev/hda3 , 那么您将需要用的的指令就会试 setup (hd0,2)。只有少数的使用者会这么做。
虽然 GRUB 已安装完成,我们还需要为它编写一个设定档,如此一来 GRUB 将自动的开启到您新建立的系统核心。使用 nano (或是其它的编辑器)建立一个 /boot/grub/grub.conf档案:
Code Listing 4: 建立 /boot/grub/grub.conf
# nano -w /boot/grub/grub.conf
现在我们将要开始编写grub.conf。您将会在下面找到两个按照我们的范例所使用的 grub.conf 设定档,使用的是核心 kernel-2.4.26-gentoo-r6。我们只会在第一个 grub.conf 内进行批注。请确认您的核心映像文件名称,如果需要,也请确认您的 initrd 映像档。
? 第一个 grub.conf 适用于没有使用 genkernel 编译核心的使 用者
? 第二个 grub.conf 适用于使用 genkernel 的使用者
Code Listing 5: 未使用 genkernel 的 grub.conf
# 将为开机预设。0为第一,1为第二,以此类推。default 0# 使用预设前等待的开机秒数。timeout 30# 将漂亮又肥大的 splash-image 启用:)# 如果您没有安装显示卡,请批注这行splashimage=(hd0,0)/grub/splash.xpm.gztitle=Gentoo Linux 2.4.26-r6# 储存核心文件的分区(或是操作系统)root (hd0,0)kernel /kernel-2.4.26-gentoo-r6 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3# 以下三行为 Windows 系统适合的双重开机。# 在我们的例子,Windows是放在 /dev/hda6title=Windows XProotnoverify (hd0,5)makeactivechainloader +1
Code Listing 6: genkernel 使用者适用的 grub.conf
default 0timeout 30splashimage=(hd0,0)/grub/splash.xpm.gztitle=Gentoo Linux 2.4.26-r6root (hd0,0)kernel /kernel-2.4.26-gentoo-r6 root=/dev/ram0 init=/linuxrc real_root=/dev/hda3initrd /initrd-2.4.26-gentoo-r6# 如果您想要双重系统开机的话title=Windows XProot (hd0,5)makeactivechainloader +1
Note: 如果您使用不同的分割设定或是核心档案,请依个人的设定更改。但是请确认所有 GRUB 相关的装置(如(hd0,0))和挂载点有相连的,而非 root。换句话说, (hd0,0)/grub/splash.xpm.gz 实际上是放在 /boot/grub/splash.xpm.gz 因为 (hd0,0) 是 /boot。
如果您需要自行输入任何参数给核心,只要将他们放在 kernel 的指令后面。我们已经传送了一个(root=/dev/hda3 或是 real_root=/dev/hda3),但是您也可以传送其它的指令。举例来说,我们使用 vga 来设定之前提过的 framebuffer:
Code Listing 7: 将 vga 加入为核心参数
title=Gentoo Linux 2.4.26-r6 root (hd0,0) kernel /kernel-2.4.26-gentoo-r6 root=/dev/hda3 vga=788
如果你使用 2.6.7 或更新的核心,而且你因为 BIOS 不能处理大容量的硬盘而调整了跳脚,你需要加入 hdx=stroke.
genkernel 使用者应该要知道他们的新使用的和 LiveCD 一样。举例来说,如果您有 SCSI 装置,您应该在核心选项后面加入 doscsi。
现在储存 grub.conf 档案然后离开。目前为止, GURB 已经被完善的设定,您将可以继续到 安装系统所需工具。
如果您有更多关于 GRUB 的问题,请参考 GRUB FAQ 或是 GRUB 说明。