Chinaunix首页 | 论坛 | 博客
  • 博客访问: 349023
  • 博文数量: 120
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1810
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-11 17:50
文章分类

全部博文(120)

文章存档

2008年(120)

我的朋友

分类:

2008-04-03 15:27:14

8. 配置系统

8.a. 文件系统信息

fstab是什么?

       在Linux下,系统所要用的分区都必须列表于文件/etc/fstab中。这个文件包含了这些分区的挂载点(在系统目录树结构中的位置),挂载方法(特殊的选项)和挂载的时间(是否自动挂载,是否可以用户挂载等)。 etc.).

创建/etc/fstab

       /etc/fstab使用一种特殊的语法格式。每行都包含七个由空白键(whitespace键、tab键或者两者的混合)分开的字段,每一个字段都有它自己的意思:

  • 第一个字段给出分区的描述(设备文件的路径)
  • 第二个字段给出挂载点,这是分区应该挂载的地方
  • 第三个字段给出分区所用的文件系统
  • 第四个字段给出挂载这个分区时命令mount挂载选项。因为每个文件系统都有自己的挂载选项,我们建议你阅读一下mount的手册(man mount)给出一个全面的列表。多个挂载选项用逗号隔开。
  • 第五个字段是给dump使用,用来决定这个分区是否需要废弃。一般情况下,你可以设定其为0(零)。
  • 第六个字段是给fsck使用,用来决定在系统非法关机后分区的检查顺序。根目录的文件系统应该设定值为1,而其他的设定为2(或者在不需要自检的情况下设为0

       就这样用nano(或者你喜欢的编辑器)来创建你的/etc/fstab

代码 1: 打开/etc/fstab

# nano -w /etc/fstab

       让我们来看看我们给/boot分区怎样写挂载选项。这只是一个例子,因此如果你的机器的架构不需要一个/boot分区(如PPC),不要复制过去。

       在我们默认的x86架构的分区例子中,/boot/dev/hda1分区,使用ext2文件系统。这个分区不应自动挂载(noauto),但是必须自检。因此我们这样写:

代码 2: /etc/fstab中/boot行的一个例子

/dev/hda1   /boot     ext2    noauto        1 2

       现在,为了改进性能,大部分用户会添加一个noatime挂载选项,这个由于不更新分区的存取时间(一般来说你并不需要它)而致使系统更快: Now, to improve performance, most users would want to add the noatime option as mountoption, which results in a faster system since access times aren't registered (you don't need those generally anyway):

代码 3: /etc/fstab中/boot行改进的一个例子

/dev/hda1   /boot     ext2    noauto,noatime    1 2

       如果我们继续,我们将添加下面三行来结束(给/boot/和交换分区):

代码 4: /etc/fstab中的三行

/dev/hda1   /boot     ext2    noauto,noatime    1 2
/dev/hda2   none      swap    sw                0 0
/dev/hda3   /         ext3    noatime           0 1

       为完成这个,你还应该给/proctmpfs(必须)和你的光驱(当然,如果你有其他的分区或驱动器,也可加上)添加一些挂载选项:

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

/dev/hda1   /boot     ext2    noauto,noatime    1 2
/dev/hda2   none      swap    sw                0 0
/dev/hda3   /         ext3    noatime           0 1

none        /proc     proc    defaults          0 0
none        /dev/shm  tmpfs   defaults          0 0

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

       auto使得mount自动检测文件系统(对于可卸载的设备推荐使用,因为它们可以有不同的文件系统),user使得非超级用户可以使用CD驱动器。

       现在就用上面的这个例子创建你的/etc/fstab。如果你是一个SPARC用户,你还应该添加下面一行当你的/etc/fstab

代码 6: 添加openprom文件系统到/etc/fstab

none        /proc/openprom  openpromfs    defaults      0 0

       如果你需要usbfs,添加下面一行到/etc/fstab

代码 7: 添加usbfs文件系统到/etc/fstab

none        /proc/bus/usb   usbfs         defaults      0 0

       重新看一下你的/etc/fstab,保存并退出,继续我们的安装。

8.b. 网络信息

主机名、域名等

       用户的一个选择就是给他(她)的机器命名。这看起来很简单,但是很多的用户却有困难为它们的Linux机器找到一个很好的名字。为加快这个进度,你应该知道不管什么名字到以后都可以重新修改的。一般来说,你可以称你的机器为tux,域名为homenetwork

       我们在下一个例子中将会用到这些值。首先我们设定主机名:

代码 8: 设定主机名

# echo tux > /etc/hostname

       接着我们来设定域名:

代码 9: 设定域名

# echo homenetwork > /etc/dnsdomainname

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

代码 10: 设定NIS域名

# echo nis.homenetwork > /etc/nisdomainname

       现在添加domainname脚本到默认运行级别:

代码 11: 添加domainname到默认运行级别

# rc-update add domainname default

配置你的网络

       在准备说“嘿,我们已经有了”之前,你应该记住在gentoo安装初期设置好网络也是为了安装。现在你将准备为你的Gentoo系统永久的配置好网络。

       所有的网络信息可以在/etc/conf.d/net里收集到。这个文件使用直接但并对不知怎么手动配置网络的用户并不直观的语法。但是不用怕,我们将一一解释:)

       首先用你喜欢的编辑器(这里以nano为例)打开文件/etc/conf.d/net

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

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

       你找到的第一个变量是iface_eth0,它使用如下语法:

代码 13: iface_eth0语法

iface_eth0=" broadcast  netmask "

       如果你使用DHCP(自动获取IP),你应该设定iface_eth0dhcp。如果你使用rp-pppoe(如用作ADSL拨号),设定其为up。如果你需要手动设置网络,而又对上述名词不熟悉,在没有完成这些之前请先阅读。

       这样我们给出三个例子;第一个例子使用DHCP,第二个使用静态IP(192.168.0.2)和网络掩码为255.255.255.0,broadcast为192.168.0.255和网关为192.168.0.1,第三个只是激活给rp-pppoe使用的接口:

代码 14: /etc/conf.d/net的例子

(对于DHCP)
iface_eth0="dhcp"

(对于静态IP)
iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"
gateway="eth0/192.168.0.1"

(对于rp-pppoe)
iface_eth0="up"

       如果你有几个网络接口,创建额外的iface_eth变量,就像iface_eth1iface_eth2等。变量gateway不需要重新设定,因为每台电脑只能使用一个网关。

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

在启动时自动启用网络

       为在启动时激活网络接口,你必须添加这些到默认的运行级别。如果你有PCMCIA接口,你应该跳过这块儿,因为PCMCIA接口是由PCMCIA启动脚本启动。

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

# rc-update add net.eth0 default

       如果你有几个网络接口,你需要为它们准确的创建net.eth1net.eth2等启动脚本。你可以使用ln来做这个:

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

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

写下网络信息

       现在你需要告诉Linux有关你的网络。这个在/etc/hosts里定义并帮助将无法被你的域名解析服务器解析的主机名解析出IP地址。打比方说,如果你的内网由三台PC机组成:jenny(192.168.0.5)、benny(192.168.0.6)和tux(192.168.0.7,你的机器),你可以打开文件/etc/hosts并填入下列值:

代码 17: 打开/etc/hosts

# nano -w /etc/hosts

代码 18: 填入网络信息

127.0.0.1     localhost
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny
192.168.0.7   tux.homenetwork tux

       如果你的机器是单独的(或者域名解析服务器可以处理所有的域名解析),一行就足够了:

代码 19: 单机或者全解析的机器的/etc/hosts

127.0.0.1     localhost

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

       如果你没有PCMCIA,你可以从继续。对于PCMCIA用户,应该读读下面有关PCMCIA的信息。

可选:启用PCMCIA

注释: pcmcia-cs之存在于x86、amd64和ppc平台。

       PCMCIA用户首先应该安装pcmcia-cs软件包。为避免这个时候装上XFree86,参数USE="-X"是必须的:

代码 20: 安装pcmcia-cs

# USE="-X" emerge pcmcia-cs

       当pcmcia-cs装上后,添加pcmcia默认的运行级别:

代码 21: 添加pcmcia到默认的运行级别

# rc-update add pcmcia default

8.c. 系统信息

       Gentoo使用/etc/rc.conf作为通用的系统范围的配置。打开/etc/rc.conf,然后好好看看这个文件里的注解:)

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

# nano -w /etc/rc.conf

       就同你看到的,这个文件注解很丰富,可以帮助你设定必须的配置变量。对KEYMAP设定要特别注意:如果你选择错误的KEYMAP,你将会对你的键盘输入得到的结果很奇怪。

注释: 基于USB的SPARC系统和SPARC克隆机的用户可能需要选择一个i386的键盘布局(如“us”)来代替“sunkeymap”。

       PPC在大部分系统上使用x86的键盘布局。需要在启动时使用ADB键盘布局的用户必须在内核中启用ADB keycode sendings,并在rc.conf设定一个mac/ppc键盘布局。

       我们完成配置/etc/rc.conf后,保存并退出,然后从继续。

阅读(707) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~