博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

龙兄虎弟

datou1301.cublog.cn


新手gentoo安装手册
对于新手,gentoo的安装往往令人却步。如果是第一次安装gentoo的话,应该选择从stage3或installcd安装,下面是我的硬盘安装安装过程。
一、选择正确的安装介质
(1)、三个stage
从stage1开始安装,你能够完全自定义和控制编译过程的优化设置来初始你的系统。这使得高级用户可以知道自己在做什么。这也是一个让你更多了解Gentoo Linux核心的方法。
从stage2开始安装,你可以跳过bootstrap,这样你可以应用到我们特别为stage2做的各种优化设置。
从stage3开始安装,你将可以快速地安装 Gentoo Llinux,这意味着你的系统将是我们为你所编译的(主要指比较完善的设置,较高的效率和稳定性)。Gentoo Linux的重要发布版本都有特别为stage3做的最佳优化,所以从stage3开始安装你将可以获得一个快速优化过的系统。
我是新手,所以选择用stage3(stage3-i686-2006.0.tar.bz2)。
(2)、Gentoo的小型LiveCD
这是一个小而实用的启动CD,只用来启动系统、准备网络和让Gentoo的安装可以继续。它不包含任何stage(或者有时候只包含一个stage1文件)、源代码或者预编译软件包。比如,对于x86架构的LiveCD名为install-x86-minimal-2006.0.iso。
(3)、portage快照
下载最新的portgae-20060403.tar.bz2。
二、准备工作
(1)、下载grub for dos到win的C盘。
(2)、用虚拟光驱工具打开install-x86-minimal-2006.0.iso,复制所有文件到win的C盘根目录。
(3)、复制stage3、portage文件到C盘。
三、启动一个LiveCD
由于我没有安装其他的linux系统,硬盘启动用gentoo的livecd分区出错(可能是只有一个硬盘的原因),因此选择lfs-livecd来分区和创建文件系统。
启动lfs-livecd....
1、分区
默认的分区策略
/dev/hda7   ext2    128M                    启动分区
/dev/hda8   (swap)  512M                    交换分区
/dev/hda9   reiserfs    Rest of the disk    根分区
注:/dev/hda1为win的C盘,fat32格式;/dev/hda5、/dev/hda6为D、E盘。
2、使用分区工具fdisk
(1)、启用fdisk
 # fdisk /dev/hda
Command (m for help):     代码:m     帮助
                               p     列出当前磁碟分区情况
                               n     新建分区
                               d     删除分区
                               t     选择分区类型
                               w     写入储存
                               q     退出
(2)、创建分区
我们首先来创建一个小的启动分区接着是swap、根分区。输入n来创建一个新的分区,然后输入l选择一个拓展分区。当提示第一个扇区时,点击enter。当提示最后的扇区时,输入+128M来创建一个大小为128Mbyte的分区。swap、根分区类推。创建交换分区时输入t来设定分区类型,8来选择你刚才创建的分区,然后输入82将分区类型设置为“Linux Swap”。
(3)、保存分区表
输入w保存分区表和退出fdisk
3、 创建文件系统
(1)、要对一个分区或者卷创建文件系统,对于每一个文件系统来说都有一些工具:
文件系统            创建命令
ext2                 mke2fs
ext3                 mke2fs -j
reiserfs             mkreiserfs
xfs                  mkfs.xfs
jfs                  mkfs.jfs
(2)、给分区创建文件系统
# mke2fs  /dev/hda7
# mkreiserfs    /dev/hda9
 (3)、激活交换分区
# mkswap  /dev/hda8      创建交换分区标识
# swapon  /dev/hda8      经创建并激活交换空间
四、安装gentoo安装文件
1、从硬盘启动gentoo的install livecd.....
进入DOS,启动GRUB,在grub命令符下输入:
grub > kernel (hd0,0)/isolinux/gentoo root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/image.squashfs cdroot=/dev/hda1
grub > initrd (hd0,0)/isolinux/gentoo.igz
grub > boot
2、ADSL用户的网络配置
假设你需要使用PPPoE连接到因特网上,LiveCD(任何版本)里包含了方便设置的rp-pppoe。使用它提供的adsl-setup脚本可以配置网络连接。程序将会提示你输入连接到adsl调制解调器的以太网设备、用户名、密码、DNS服务器的IP地址和是否需要设置基本的防火墙,使用rp-pppoe。
# adsl-setup
# adsl-star
如果出现什么问题的话,查看/etc/ppp/pap-secrets或者/etc/ppp/chap-secrets来检查确认已经正确的输入用户名和密码,并要确认你使用的是正确的以太网设备。如果以太网设备不存在,你将必须加载准备的网络模块。那种情况下你应该从手动配置网络继续,那里我们解释了怎样加载正确的网络模块。
3、挂载分区
现在你的分区已经初始化并都使用了一个文件系统,该到挂在这些分区的时候了。使用mount命令来做这个。当然不要忘了给每个你创建的分区创建必要的挂载文件夹。作为一个例子,我们来挂载根分区和启动分区:
# mount /dev/hda9 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda7 /mnt/gentoo/boot
我们也需要挂载proc文件系统(一个和内核的虚拟接口)到/proc。我们首先创建挂载点/mnt/gentoo/proc,然后挂载上这个文件系统:
# mkdir /mnt/gentoo/proc
# mount -t proc none /mnt/gentoo/proc
注释: 如果你要你的/tmp为一个单独的分区,确认在挂载后修改它的权限:chmod 1777 /mnt/gentoo/tmp。对于/var/tmp也应该如此。
可用df -h 命令查看分区使用情况,发现win的C盘(/dev/hda1)已挂载到/mnt/cdrom。
4、设置时间
(1)、正确的设置日期/时间
在继续之前,你需要检查和更新一下你的系统日期/时间。一个配置错误的时钟可能在将来导致很奇怪的结果。
A、运行date确认一下当前时间:
# date
Wed Apr 5 16:21:18 CEST 2006
如果日期/时间显示错误,使用date MMDDhhmmYYYY语句(M是月份,D是日期,m是分钟,Y是年份)更新它。比如说,设定时间为2004年4月25日16时21分:
B、设定日期/时间
# date 042516212004
5、安装stage3包
(1)、进入文件夹/mnt/gentoo
# cd /mnt/gentoo
(2)、解开stage包
# tar -xvjpf /mnt/cdrom/stage3-i686-2006.0.tar.bz2
stage安装完成。
6、安装portage快照
# tar -xvfj /mnt/cdrom/portage-20060403.tar.bz2 -C /mnt/gentoo/usr
注:如果win的C盘没有自动挂载,需先把分区挂载到/mnt/cdrom目录。
五、安装gentoo基本系统
1、复制DNS信息
在我们进入新的环境之前还有一件事清要做,那就是复制/etc/resolv.conf里的DNS信息。你需要做这一步以确保进入新的环境后网络仍然可以工作。/etc/resolve.conf里包含了你的网络所需的域名解析服务器(参数"-L"是必须的,确保不是复制一个符号链接过去)。
# 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环境里了。
3、更新Portage快照
从因特网上下载一个最近的Portage树
(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
# 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
(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
# rc-update add coldplug boot
# 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
(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
七、配置系统
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
(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"
我是adsl用户(对于rp-pppoe),所以是:
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

保存并退
3、系统信息
Gentoo使用/etc/rc.conf作为通用的系统范围的配置。打开/etc/rc.conf,然后好好看看这个文件里的注解:)
# nano -w /etc/rc.conf
我们完成配置/etc/rc.conf后,保存并退出编辑器,继续下面的过程。
八、配置启动
1、安装GRUB
# emerge grub
2、输入grub开始配置GRUB。你将会到一个grub>命令提示符下。现在,你需要输入正确的命令来安装GRUB启动记录到硬盘上。
# grub
(1)、把grub安装到硬盘的MBR
grub> root (hd0,6)          (指出你的/boot分区的位置)
grub> setup (hd0)           (安装GRUB到MBR)
grub> quit                  (退出GRUB shell)
注释: 如果你要安装GRUB到一个特定的分区,而不是MBR,你需要相对应的改变setup命令,使其指向正确的分区。比如说,如果你要安装GRUB到/dev/hda7,那么这个命令就变成setup (hd0,6),不过很少有用户需要这样做。
(2)、虽然GRUB现在已经装上了,我们仍然需要给它写一份配置文件,这样GRUB会自动启动你最新建的内核。用nano(如果可以,也可用其他的编辑器)创建文件/boot/grub/grub.conf:
# nano -w /boot/grub/grub.conf
适用于genkernel用户的grub.conf
 default 0
timeout 10
splashimage=(hd0,6)/grub/splash.xpm.gz
title=Gentoo Linux 2.6.16
root (hd0,8)
kernel /kernel-2.6.16-gentoo root=/dev/ram0 init=/linuxrc real_root=/dev/hda9
initrd /initrd-2.6.16-gentoo
# 用于双启动
title=Windows 2003
root (hd0,0)
chainloader +1
genkernel用户应该只到他们的内核使用同LiveCD一样的启动选项。比如说,如果你有SCSI设备,你应该添加doscsi内核选项。
现在保存grub.conf文件并退出。到目前为止,GRUB已经全面的配置完毕。
3、从windows启动
(1)、把grub装到启动分区
grub> root (hd0,6)
grub> setup (hd0,6)
grub> quit
(2)、把boot分区的第一扇区写到文件bootsect.lnx
# dd if=/dev/hda7 of=bootsect.lnx bs=512 count=1
(3)、拷贝bootsect.lnx到windows启动分区根目录
# mount -t vfat /dev/hda1 /mnt
# cp bootsect.lnx /mnt/bootsect.lnx
(4)、进入windows,编辑C盘根目录下的文件boot.ini添加一项
C:\bootsect.lnx="Gentoo linux"
九、安装必须的系统工具
1、系统日志工具
Gentoo提供了几个系统日志工具供你选择。这里有sysklogd(传统的系统日志伺服器)、syslog-ng(一个高级的系统日志工具)、metalog(一个可以高度配置的系统日志工具)。其他的也可能通过Portage得到,我们的软件包几乎每天都会有所增加,如果你不知道选哪个,就使用syslog-ng,因为这个很强大,并且自带非常好的默认设置。
# emerge syslog-ng
# rc-update add syslog-ng default
2、 文件系统工具
根据你使用的文件系统,你需要安装一个必须的文件系统工具(检测文件系统的完整性,创建额外的文件系统等)。
文件系统     工具                  安装命令
ReiserFS     reiserfsprogs         emerge reiserfsprogs
3、网络工具
如果你要使用rp-pppoe连接到因特网,你需要安装它。
安装rp-pppoe
# USE="-X" emerge rp-pppoe
使用USE="-x"将会阻止因为依赖性(rp-pppoe有一个可视化工具;如果你需要这些,你可以稍后在XFree安装后重新编译rp-pppoe,而安装和编译XFree将会花掉很长的时间)而安装XFree。
安装dhcpcd
# emerge -av dhcpcd
4、安装文件检索工具
# emerge -av slocate
十、完成Gentoo的安装
1、用户管理
(1)、设定超级用户的密码
在你忘记之前,输入以下命令设定超级用户密码:
# passwd
如果你需要超级用户能够通过串行终端登录,添加tts/0到文件/etc/securetty:
添加tts/0到/etc/securetty
# echo "tts/0" >> /etc/securetty
(2)、给日常使用添加一个普通用户
在一个Unix/Linux系统上以超级用户身份工作是危险的和应该尽量避免的。因此,强烈推荐给日常使用添加一个用户。
比如,创建一个属于wheel组(可以通过命令su切换到超级用户)、users组(所有用户的默认组)和audio组(可以使用音频设备)的名为john的用户:
# useradd john -m -G users,wheel,audio -s /bin/bash
# passwd john
Password: (给john设定密码)
Re-enter password: (重新输入密码以确认)
如果一个用户需要以超级用户身份做某项工作,他们可以通过使用su -来暂时获得超级用户权限。另一个方法是使用sudo软件包,如果配置准确,也是很安全的一种方法。
2、重启和享受你的新系统
祝贺你!你的Gentoo系统已经可以使用。退出chroot的环境,并卸载所有已挂载的分区。然后输入一条你期盼已久的神奇的命令:reboot。 
# exit
# cd /
# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
# reboot
 
祝贺你,你的系统已经完全装备好了。
 

发表于: 2006-04-07 ,修改于: 2006-04-12 01:08,已浏览1495次,有评论1条 推荐 投诉


网友评论
内容:
寫得不錯。

美女也不錯。
易變蟲评论于:2006-05-26 18:04:12 (219.131.199.★)

发表评论