声明: 本手册已经被新版本代替了,不再被维护。

8. 配置你的系统

内容:

8.a. 文件系统信息

fstab是什么?

在Linux系统下,系统所用到的所有分区都必须在/etc/fstab文件中指明。这个文件包含了这些分区的挂载点(在系统目录树中的位置)、挂载方法和特殊挂载选项(是否自动挂载,是否可以用户挂载等)。

创建/etc/fstab

/etc/fstab使用一种特殊语法格式。每行都包含六个字段。这些字段之间由空白键(空格键,tab键,或者两者混合使用)分隔。每个字段都有自己的含意:

重要: Gentoo系统默认的/etc/fstab文件不是有效的fstab文件。你必须创建自己的/etc/fstab

代码 1.1: 打开/etc/fstab

# nano -w /etc/fstab

增加符合你分区方案的规则,为你的光驱(当然,如果你有其他分区或者驱动器,也为它们)添加挂载规则。

现在就参考以下例子创建你的/etc/fstab

代码 1.2: /etc/fstab的一个完整例子

/dev/sda4   /            ext3    noatime              0 1
/dev/sda3   none         swap    sw                   0 0

/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0

auto选项可以使mount猜测文件系统(推荐对于可移动设备采用这个选项,因为它们可能采用很多不同的文件系统),而user选项使得非root用户可以挂载光驱。

为了提高性能,大部分用户会添加noatime挂载选项。由于不记录该分区中文件的访问时间(一般来说你并不需要知道它),这个选项能够提高系统速度。

请再次确认你的/etc/fstab文件是正确的,保存并退出,继续下面的内容。

8.b. 网络信息

主机名、域名等

用户必须要做的事情之一就是命名自己的机器。尽管这看上去很容易,但是很多用户觉得为他们的Linux机器起一个合适的名字是很难的。为了加快事情的进度,你应该知道你所命名的所有名字都是可以在今后重新修改的。因此,你可以简单命名你的系统为tux,域名为homenetwork

在下面的例子中,我们使用前面提到的名字。我们先来设置主机名:

代码 2.1: 设定主机名

# nano -w /etc/conf.d/hostname

(将HOSTNAME的变量值设定为主机名)
HOSTNAME="tux"

第二,如果你需要一个域名,在/etc/conf.d/net中设定。只有你的ISP或者网络管理员说你需要一个域名,或者你有一个DNS服务器但是没有DHCP服务器的时候,你才需要域名。如果你的网络是DHCP分配IP,那么你不需要理会DNS和域名的问题。

代码 2.2: 设定域名

# nano -w /etc/conf.d/net

(设定dns_domain的变量值为你的域名)
dns_domain_lo="homenetwork"

注意: 如果你选择不设定域名,你可以去掉登录界面上的这条信息“This is hostname.(none)”。你只需要修改/etc/issue,把字符串.\O从该文件里删掉即可。

如果你有一个NIS域(如果你不知道这是什么,就说明你没有),你也需要定义一个:

代码 2.3: 设定NIS域名

# nano -w /etc/conf.d/net

(设定nis_domain的变量值为你的NIS域名)
nis_domain_lo="my-nisdomain"

注意: 如果想知道更多关于DNS和NIS配置的信息,可以看/etc/conf.d/net.example当中的例子。当然,你也可以安装openresolv来帮助设置DNS、NIS。

配置你的网络

在准备说“嘿,我们已经配置过网络”之前,你应该记得在开始安装Gentoo之初所设置的网络配置是仅仅为了安装而设置的。现在你所要设置的是Gentoo系统的永久网络配置。

注意: 更多关于网络配置的详细信息,包括网卡绑定、网桥、802.1Q VLANs和无线网络在内的高级配置会在Gentoo网络配置这一部分介绍.

/etc/conf.d/net当中收集了所有的网络信息。尽管这个文件采用直接易懂的语法,如果你还是因为觉得不够直观而完全不知道如何手动进行网络配置的话,请不用担心,我们将一一解释。在/etc/conf.d/net.example中有一个详细注释过的例子,它涵盖了许多种类不同的配置。

系统默认使用DHCP而且不需要任何进一步的配置。

如果你需要配置你的网络连接,不管是因为你是需要指定DHCP选项还是你根本不想采用DHCP,请使用你喜欢的编辑器(在这个例子中用的是nano)打开/etc/conf.d/net

代码 2.4: 打开/etc/conf.d/net准备编辑

# nano -w /etc/conf.d/net

你会看到以下的文件:

代码 2.5: 默认的/etc/conf.d/net

# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d.  To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).

为了输入你自己的IP地址,子网掩码和网关,你需要设置config_eth0routes_eth0

代码 2.6: 手动为eth0设置IP信息

config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default via 192.168.0.1" )

如果你使用DHCP,请定义一下config_eth0

代码 2.7: 让eth0自动获得IP地址

config_eth0=( "dhcp" )

请阅读/etc/conf.d/net.example以得到所有选项的列表。如果你需要设定特殊的DHCP选项,请参考你的DHCP客户端的手册页。

如果你有多个网络接口,那么重复之前对于config_eth1config_eth2等的操作步骤。

现在可以保存配置并且退出,继续下面的安装和配置。

在启动时自动启用网络

为了在启动时自动激活网络接口,你必须添加这些到default运行级别。

代码 2.8: 添加net.eth0到默认的运行级别

# rc-update add net.eth0 default

如果你有多个网络接口,你需要为他们创建合适的net.eth1net.eth2等启动脚本。你可以用ln来做这个。

代码 2.9: 创建额外的启动脚本

# cd /etc/init.d
# ln -s net.lo net.eth1
# rc-update add net.eth1 default

记下网络信息

现在你需要告诉Linux有关你的网络的信息。这需要在/etc/hosts文件中定义,它将帮助你将那些无法被域名解析器解析的主机名解析成IP地址。你需要定义你自己的系统。如果你不想启用内部DNS系统的话,你也需要定义内部网络上的其它系统。

代码 2.10: 打开/etc/hosts

# nano -w /etc/hosts

代码 2.11: 填入网络信息

(这里定义的是现在的系统)
127.0.0.1     tux.homenetwork tux localhost

(定义你网络上的其它系统。如果你要用这种方式进行定义的话,它们必须有静
态IP。)
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny

保存并且退出编辑器,继续下面的过程。

如果你没有PCMCIA,你可以跳过以下内容进入系统信息了。 PCMCIA用户应该读一下以下关于PCMCIA的内容。

可选:启用PCMCIA

PCMCIA用户首先应该安装pcmciautils软件包。

代码 2.12: 安装pcmciautils

# emerge pcmciautils

8.c. 系统信息

Root密码

首先我们键入以设置root密码:

代码 3.1: 设置root密码

# passwd

如果你希望root能够通过串口终端登录,把tts/0添加到/etc/securetty文件里:

代码 3.2: 添加tts/0到/etc/securetty

# echo "tts/0" >> /etc/securetty

系统信息

Gentoo使用/etc/rc.conf来做通用的、系统级的配置。打开/etc/rc.conf并好好读读这个文件中的注解:)

代码 3.3: 打开/etc/rc.conf

# nano -w /etc/rc.conf

当你完成对/etc/rc.conf的配置后,保存并退出。

正如你所看到的,为了帮助你完成必要变量的配置,这个文件有丰富的注释信息。你可以让你的系统使用unicode并定义你的默认编辑器和你的显示管理器(比如gdm或者kdm)。

Gentoo用/etc/conf.d/keymaps来处理键盘设置。编辑它就可以设置你的键盘。

代码 3.4: 打开/etc/conf.d/keymaps

# nano -w /etc/conf.d/keymaps

KEYMAP这个变量要特别注意。如果你选择了错误的KEYMAP,在你敲击键盘的时候会有奇怪的结果。

注意: 大部分PPC系统都采用x86键映射。

完成/etc/conf.d/keymaps的配置之后,保存并退出。

Gentoo使用/etc/conf.d/clock来设置时钟选项。根据你的需要来编辑它。

代码 3.5: 打开/etc/conf.d/clock

# nano -w /etc/conf.d/clock

如果你机器上的钟不用UTC,你需要在文件钟加上CLOCK="local"。否则,你的时钟就有可能出现偏差。

完成对/etc/conf.d/clock的配置后,保存并且退出。

配置控制台

如果你使用虚拟控制台,就必须将/etc/inittab中的对应内容解除注释,以使得虚拟控制台生成登陆提示。

代码 3.6: 开通/etc/inittab中的hvc和hvsi支持

hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0

你需要确认是否需要的控制台都已经列在/etc/securetty当中了。

你应该把timezone定义为你之前复制成/etc/localtime的时区,这样sys-libs/timezone-data的升级将会自动升级/etc/localtime。比如,如果你使用GMT时区,你应该加上TIMEZONE="GMT"

你现在可以继续进行安装必要的系统工具这部分了。