新手gentoo安装手册
来源:
作者:
时间:2008-06-15
Tag:
点击:
五、安装gentoo基本系统
1、复制DNS信息
在我们进入新的环境之前还有一件事清要做,那就是复制/etc/resolv.conf里的DNS信息。你需要做这一步以确保进入新的环境后网络仍然可以工作。/etc/resolve.conf里包含了你的网络所需的域名解析服务器(参数"-L"是必须的,确保不是复制一个符号链接过去)。
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
2、进入新的环境
现在,所有的分区已经初始化过了,基本的环境也已经安装了,该到使用chrooting进入我们新安装的环境里了。这意味着我们从当前的安装环境(LiveCD的安装介质)转移到你的安装系统(也就是初始后的分区)。
这个chrooting过程三步可以完成。首先,我们使用chroot将根目录从/(在安装介质上的)转移到/mnt/gentoo(你的分区上)。然后我们将使用env-update来创建一个新的环境,主要是创建环境变量。最后我们使用source将这些变量载入内存中。
# chroot /mnt/gentoo /bin/bash
# env-update
* Caching service dependencies...
# source /etc/profile
恭喜!你现在已经进入你自己的Gentoo Linux环境里了。
这个chrooting过程三步可以完成。首先,我们使用chroot将根目录从/(在安装介质上的)转移到/mnt/gentoo(你的分区上)。然后我们将使用env-update来创建一个新的环境,主要是创建环境变量。最后我们使用source将这些变量载入内存中。
# chroot /mnt/gentoo /bin/bash
# env-update
* Caching service dependencies...
# source /etc/profile
恭喜!你现在已经进入你自己的Gentoo Linux环境里了。
3、更新Portage快照
从因特网上下载一个最近的Portage树
(1)、安装Portage
# emerge sync
(2)、通过一个普通的HTTP协议下载和安装一个portage快照。
# emerge-webrsync
(1)、安装Portage
# emerge sync
(2)、通过一个普通的HTTP协议下载和安装一个portage快照。
# emerge-webrsync
4、让emerge使用最快的gentoo镜像
# emerge -av mirrorselect
# mirrorselect -s3
六、配置内核
1、时区
你首先需要选择你的时区,这样你的系统知道起所在位置。在/usr/share/zoneinfo里查看你的时区,然后使用ln做一个符号链接到/etc/localtime:
# ls /usr/share/zoneinfo
(假设你要使用Asia/shanghai)
# ln -sf /usr/share/zoneinfo/Asia/shanghai /etc/localtime
你首先需要选择你的时区,这样你的系统知道起所在位置。在/usr/share/zoneinfo里查看你的时区,然后使用ln做一个符号链接到/etc/localtime:
# ls /usr/share/zoneinfo
(假设你要使用Asia/shanghai)
# ln -sf /usr/share/zoneinfo/Asia/shanghai /etc/localtime
# nano -w /etc/conf.d/clock
将clock设置为local
2、安装源码
(1)、选择一个内核
各个发行版的核心部分就是linux内核。这是处于用户程序和系统硬件之间的一层。Gentoo给其用户提供了几个可能的内核源码。你可以在Gentoo内核指南中得到一个全面的有关列表和描述。对于我们已有的x86架构的系统,在其他内核当中,vanilla-sources(linux内核开发者用作开发的默认内核源码)、gentoo-sources(带很多增强性能补丁的内核源码)、gentoo-dev-sources(带增强性能补丁和改进的2.6版本的内核源码)、xfs-sources(带最新XFS支持的内核源码)、gs-sources(用作服务器的内核源码)、gaming-sources(优化改进游戏性能的内核源码)、development-sources(2.6版本的vanlla内核源码),……
如果你使用的是对网络依赖很小的安装,你不可以选择所有的上述版本,因为我们只提供其中的一部分。如果是这种情况,你被限制而只能使用gentoo-sources、vanilla-sources、development-sources或gentoo-dev-sources。
(2)、用emerge安装一个内核源码
# emerge gentoo-dev-sources
当你到/usr/src里看一下,你应该可以看到一个叫做linux/的符号链接指向你的内核源码:
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.4.25-gentoo
如果不是这样(比如,符号链接指向一个不同的内核源码),在继续之前改变这个符号链接:
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.4.25-gentoo linux
(1)、选择一个内核
各个发行版的核心部分就是linux内核。这是处于用户程序和系统硬件之间的一层。Gentoo给其用户提供了几个可能的内核源码。你可以在Gentoo内核指南中得到一个全面的有关列表和描述。对于我们已有的x86架构的系统,在其他内核当中,vanilla-sources(linux内核开发者用作开发的默认内核源码)、gentoo-sources(带很多增强性能补丁的内核源码)、gentoo-dev-sources(带增强性能补丁和改进的2.6版本的内核源码)、xfs-sources(带最新XFS支持的内核源码)、gs-sources(用作服务器的内核源码)、gaming-sources(优化改进游戏性能的内核源码)、development-sources(2.6版本的vanlla内核源码),……
如果你使用的是对网络依赖很小的安装,你不可以选择所有的上述版本,因为我们只提供其中的一部分。如果是这种情况,你被限制而只能使用gentoo-sources、vanilla-sources、development-sources或gentoo-dev-sources。
(2)、用emerge安装一个内核源码
# emerge gentoo-dev-sources
当你到/usr/src里看一下,你应该可以看到一个叫做linux/的符号链接指向你的内核源码:
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.4.25-gentoo
如果不是这样(比如,符号链接指向一个不同的内核源码),在继续之前改变这个符号链接:
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.4.25-gentoo linux
(3)、使用genkernel来配置和编译你的内核源码
既然你的内核源码树已经安装,可以用我们的genkernel脚本来为你自动编译一个内核。genkernel配置内核就同我们的LiveCD内核的配置几乎一样。这意味着你使用genkernel来编译你的内核,你的系统将会在启动时检测出你所有的硬件,这就同LiveCD一样。因为genkernel不需要任何内核手动配置,这对于一些不大适应编译自己内核的用户来说,是一个绝好的处理办法。
A、安装genkernel:
# emerge genkernel
B、运行genkernel all来编译你的内核。这里我们要注意到,因为genkernel编译一个支持几乎所有硬件的内核,编译的完成将会占用很长的时间。
注意:如果你的boot分区没有使用ext2或者ext3作为文件系统,你需要用genkernel --menuconfig all来手动配置你的内核,并在内核中加上你的文件系统的支持(不要编译为模块)。
# genkernel all
C、一旦genkernel完成,一个模块很全的内核和一个initial root disk(initrd)将会被创建。我们将在文档后面的配置启动程序时使用这个内核和initrd。在写启动程序的配置文件时,就直接写下这个内核和initrd的名字。initrd将会在机器启动后和“真实”系统启动前运行,执行硬件的自动检测(就同LiveCD一样)。
# ls /boot/kernel* /boot/initrd*
D、我们再来执行一个步骤--安装hotplug,使得我们的系统更像LiveCD。当initrd自动检测到系统启动需要的硬件时,hotplug会自动检测到其他所有的东西。安装和启用hotplug,输入以下命令:
# emerge coldplug
# emerge genkernel
B、运行genkernel all来编译你的内核。这里我们要注意到,因为genkernel编译一个支持几乎所有硬件的内核,编译的完成将会占用很长的时间。
注意:如果你的boot分区没有使用ext2或者ext3作为文件系统,你需要用genkernel --menuconfig all来手动配置你的内核,并在内核中加上你的文件系统的支持(不要编译为模块)。
# genkernel all
C、一旦genkernel完成,一个模块很全的内核和一个initial root disk(initrd)将会被创建。我们将在文档后面的配置启动程序时使用这个内核和initrd。在写启动程序的配置文件时,就直接写下这个内核和initrd的名字。initrd将会在机器启动后和“真实”系统启动前运行,执行硬件的自动检测(就同LiveCD一样)。
# ls /boot/kernel* /boot/initrd*
D、我们再来执行一个步骤--安装hotplug,使得我们的系统更像LiveCD。当initrd自动检测到系统启动需要的硬件时,hotplug会自动检测到其他所有的东西。安装和启用hotplug,输入以下命令:
# emerge coldplug
# rc-update add coldplug boot
# rc-update add hotplug default
# rc-update add hotplug default
(4)、 安装不同的内核模块
配置模块。你应该在/etc/modules.autoload.d/kernel-2.6中列出你要自动加载的模块。如果你需要,也可以给这些模块添加额外的选项。
A、查看所有已有的模块,可以运行下面的find命令。不要忘了将"<kernel version>"换成你刚编译的内核的版本:
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
B、比如,为自动加载3c59x.o模块,编辑kernel-2.4或者kernel-2.6文件,并输入模块的名字。
编辑/etc/modules.autoload.d/kernel-2.6
A、查看所有已有的模块,可以运行下面的find命令。不要忘了将"<kernel version>"换成你刚编译的内核的版本:
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
B、比如,为自动加载3c59x.o模块,编辑kernel-2.4或者kernel-2.6文件,并输入模块的名字。
编辑/etc/modules.autoload.d/kernel-2.6
(2.6内核的例子)
# nano -w /etc/modules.autoload.d/kernel-2.6
代码: /etc/modules.autoload.d/ kernel-2.6
3c59x
C、现在运行modules-update来提交对/etc/modules.conf文件的修改:
# modules-update
# nano -w /etc/modules.autoload.d/kernel-2.6
代码: /etc/modules.autoload.d/ kernel-2.6
3c59x
C、现在运行modules-update来提交对/etc/modules.conf文件的修改:
# modules-update
七、配置系统
1、文件系统信息fstab
在Linux下,系统所要用的分区都必须列表于文件/etc/fstab中。这个文件包含了这些分区的挂载点(在系统目录树结构中的位置),挂载方法(特殊的选项)和挂载的时间(是否自动挂载,是否可以用户挂载等)。 etc.).
(1)、创建/etc/fstab
# nano -w /etc/fstab
(2)、/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
none /proc/bus/usb usbfs defaults 0 0
1、文件系统信息fstab
在Linux下,系统所要用的分区都必须列表于文件/etc/fstab中。这个文件包含了这些分区的挂载点(在系统目录树结构中的位置),挂载方法(特殊的选项)和挂载的时间(是否自动挂载,是否可以用户挂载等)。 etc.).
(1)、创建/etc/fstab
# nano -w /etc/fstab
(2)、/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
none /proc/bus/usb usbfs defaults 0 0
重新看一下你的/etc/fstab,保存并退出,继续我们的安装。
2、网络信息
(1)、主机名、域名等
用户的一个选择就是给他(她)的机器命名。这看起来很简单,但是很多的用户却有困难为它们的Linux机器找到一个很好的名字。为加快这个进度,你应该知道不管什么名字到以后都可以重新修改的。一般来说,你可以称你的机器为tux,域名为homenetwork。
A、设定主机名:
# echo tux > /etc/hostname
B、设定域名:
# echo homenetwork > /etc/dnsdomainname
C、如果你有一个NIS域(如果你不知道这是什么,那你就没有),你也需要定义一个:
# echo nis.homenetwork > /etc/nisdomainname
D、现在添加domainname脚本到默认运行级别:
# rc-update add domainname default
(1)、主机名、域名等
用户的一个选择就是给他(她)的机器命名。这看起来很简单,但是很多的用户却有困难为它们的Linux机器找到一个很好的名字。为加快这个进度,你应该知道不管什么名字到以后都可以重新修改的。一般来说,你可以称你的机器为tux,域名为homenetwork。
A、设定主机名:
# echo tux > /etc/hostname
B、设定域名:
# echo homenetwork > /etc/dnsdomainname
C、如果你有一个NIS域(如果你不知道这是什么,那你就没有),你也需要定义一个:
# echo nis.homenetwork > /etc/nisdomainname
D、现在添加domainname脚本到默认运行级别:
# rc-update add domainname default
(2)、配置你的网络
现在你将准备为你的Gentoo系统永久的配置好网络。
所有的网络信息可以在/etc/conf.d/net里收集到。
A、首先打开文件/etc/conf.d/net:
# nano -w /etc/conf.d/net
B、你找到的第一个变量是iface_eth0,它使用如下语法:
iface_eth0="<your ip address> broadcast <your broadcast address> netmask <your netmask>"
如果你使用DHCP(自动获取IP),你应该设定iface_eth0为dhcp。如果你使用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使用的接口:
对于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"
现在你将准备为你的Gentoo系统永久的配置好网络。
所有的网络信息可以在/etc/conf.d/net里收集到。
A、首先打开文件/etc/conf.d/net:
# nano -w /etc/conf.d/net
B、你找到的第一个变量是iface_eth0,它使用如下语法:
iface_eth0="<your ip address> broadcast <your broadcast address> netmask <your netmask>"
如果你使用DHCP(自动获取IP),你应该设定iface_eth0为dhcp。如果你使用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使用的接口:
对于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"
我是adsl用户(对于rp-pppoe),所以是:
iface_eth0="up"
现在可以保存配置并退出,以继续下面的安装和配置。
iface_eth0="up"
现在可以保存配置并退出,以继续下面的安装和配置。
(3)、在启动时自动启用网络
为在启动时激活网络接口,你必须添加这些到默认的运行级别。如果你有PCMCIA接口,你应该跳过这块儿,因为PCMCIA接口是由PCMCIA启动脚本启动。
A、添加net.eth0到默认的运行级别
# rc-update add net.eth0 default
(4)、写下网络信息
现在你需要告诉Linux有关你的网络。这个在/etc/hosts里定义并帮助将无法被你的域名解析服务器解析的主机名解析出IP地址。打比方说,如果你的内网由三台PC机组成:jenny(192.168.0.5)、benny(192.168.0.6)和tux(192.168.0.7,你的机器),你可以打开文件/etc/hosts并填入下列值:
A、打开/etc/hosts
# nano -w /etc/hosts
B、填入网络信息
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
如果你的机器是单独的(或者域名解析服务器可以处理所有的域名解析),一行就足够了:
单机或者全解析的机器的/etc/hosts
127.0.0.1 localhost
保存并退
为在启动时激活网络接口,你必须添加这些到默认的运行级别。如果你有PCMCIA接口,你应该跳过这块儿,因为PCMCIA接口是由PCMCIA启动脚本启动。
A、添加net.eth0到默认的运行级别
# rc-update add net.eth0 default
(4)、写下网络信息
现在你需要告诉Linux有关你的网络。这个在/etc/hosts里定义并帮助将无法被你的域名解析服务器解析的主机名解析出IP地址。打比方说,如果你的内网由三台PC机组成:jenny(192.168.0.5)、benny(192.168.0.6)和tux(192.168.0.7,你的机器),你可以打开文件/etc/hosts并填入下列值:
A、打开/etc/hosts
# nano -w /etc/hosts
B、填入网络信息
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
如果你的机器是单独的(或者域名解析服务器可以处理所有的域名解析),一行就足够了:
单机或者全解析的机器的/etc/hosts
127.0.0.1 localhost
保存并退
3、系统信息
Gentoo使用/etc/rc.conf作为通用的系统范围的配置。打开/etc/rc.conf,然后好好看看这个文件里的注解:)
# nano -w /etc/rc.conf
我们完成配置/etc/rc.conf后,保存并退出编辑器,继续下面的过程。
Gentoo使用/etc/rc.conf作为通用的系统范围的配置。打开/etc/rc.conf,然后好好看看这个文件里的注解:)
# nano -w /etc/rc.conf
我们完成配置/etc/rc.conf后,保存并退出编辑器,继续下面的过程。
0
上一篇:没有了
下一篇:详解在VMWare中安装与配置Gentoo
下一篇:详解在VMWare中安装与配置Gentoo
最新评论共有 0 位网友发表了评论
查看所有评论
发表评论
热点关注
