Gentoo源码安装

一、前期准备

1)下载以下三个文件

image

 

二、配置安装环境

1)用光盘引导到LiveCD环境

image

2)配置当前LiveCD环境的网络

安装Gentoo时,服务器引导的LiveCD环境必须能够连接外网。因为在安装过程中需要在线下载内核和其它相关软件。而我们又想用ssh远程进行安装操作,所以服务器引导的当前LiveCD环境还要开启sshd服务,使服务器可以用Linux下的sshWindows下的PuTTY远程连接。所以这里的网络设置主要实现两个目的:一是使当前服务器引导的LiveCD环境能够连接外网,二是开启sshd服务,使服务器可以用ssh远程连接。

服务器的网络规划:

服务器有三个网卡:eth0eth1eth2。这里只使用eth0eth2两块网卡。

eth0 IP地址:192168.10.200,用于远程连接。

eth2 IP地址:用dhcpcd命令自动获取IP,通过NAT联接外网。

设置IP地址:

image

 

检查服务器是否可以连接外网,这里ping一下百度的网站。

image

可以ping通百度,连接外网OK

开启sshd服务并设置root密码:

livecd ~# /etc/init.d/sshd start

livecd ~# password root

注意:

这里的root是当前LiveCD环境的root用户。之所以设置密码,是因为sshd服务默认远程连接登录的用户必须设置密码。这里root用户密码设置为:123456

3)从另一台主机通过LiveCD环境下开启的sshd服务远程连接到该服务器

Linux下可以用ssh命令远程连接到开启了sshd服务的服务器,Windows下可以用PuTTY工具。我这里使用PuTTY

image

点击下方的“open”按钮,根据提示输入用户名:root,密码:123456;第一次登录,会提示保存密钥,点击“是”即可。

image

三、建立分区

500GB硬盘分区规划:

/dev/sda1     /boot         200M

/dev/sda2     /             20GB

/dev/sda3     swap          20GB

/dev/sda5     /home         20GB

/dev/sda6     /usr/local 20GB

/dev/sda7     /var          20GB

/dev/sda8     100GB  预留空间100GB

/dev/sda9     100GB  预留空间100GB

/dev/sda10 200GB  乘余所有空间

1)通过fdisk创建分区:

image

分区完成后,输入w写入分区。

注意:

在创建时,由于 /dev/sda3是作交换分区的,所以要修改 /dev/sda3 的分区类型为82/dev/sda1作为boot分区,所以要标记为可启动分区。

2)重新读取sda分区表

image

 

3)创建ext4文件系统

image

 

3)创建swap分区

image

 

4)激活swap分区

image

四、创建相关挂载目录并挂载文件系统

根据分区规划,建立相关挂载目录,并挂载文件系统。

/dev/sda1     /boot         200M

/dev/sda2     /             20GB

/dev/sda3     swap          20GB

/dev/sda5     /home         20GB

/dev/sda6     /usr/local 20GB

/dev/sda7     /var          20GB

注意:

Linux中,所有的目录都挂载在根目录“/”下。所以先挂载原先规划好作为根分区的文件系统到根“/”目录这个挂载点下,再在这个根分区文件系统上建立其它相关挂载点。

image

五、设定系统时间和日期

修改为当前时间和日期:20127242217分。

image

六、上传相关文件

上传下面两个文件到 /mnt/gentoo目录下,即/dev/sda2这个规划为根分区的文件系统上。

image

这是事先下载好的,你也可以用linkswget命令在terminal中在线下载这两个文件。

打开WindwosFTP客户端工具FileZilla Client,选择“文件”à“站点管理器”,如下图设置好sftp;

image

点击连接,并上传本地的两个文件到服务器上的根分区文件系统上。

image

上传完成后,查看/dev/sda2根分区文件系统上的内容,可以看到刚上传完成的两个文件。

image

七、解压stage3portage两个文件

1stage3-amd64-20120621.tar.bz2文件是Gentoo的目录结构,所以要解压到/dev/sda2这个规划的根分区文件系统上,即/mnt/gentoo,这里的根目录不是livecd上的根目录,而是/mnt/gentoo/,即挂载的是/dev/sda2这个分区。

image

 

2portage-20120723.tar.bz2是系统软件维护树。解压到规划的系统根目录/usr目录下(即挂载在livecd /mnt/gentoo下的/dev/sda2分区的文件系统,usr/目录即建立在这个文件系统上。),这个目录在livecd上的目录是/mnt/gentoo/usr。这个/usr目录不是livecd中的/usr下,切记。

image

八、用chroot命令切换系统到/dev/sda2根分区上

image

 

九、设置时区

设置时区信息:根据具体情况使用/usr/share/zoneinfo中的正确条目。我们这里使用上海。

image

设置好时区后,时间会根据你所设的时区重新计算,我们所设置的上海在东八区,所以会在原来时间的基础上再加上八小时。这里我们需要重新校正当前时间。

image

十、设置主机名为gentoo

image

十一、内核配置

1)下载内核及其它相关依赖包并解压配置

image

 

注意:

gentoo-sources:为一般用途,只打了一般的安全补丁。

hardened-sources
:服务器用途,
安全性和稳定性有所提高。

2)根据具体情况配置内核相关功能模块

image

接着会出现以下画面,根据情况选择定制内核模块。

image

3)定制EXT4文件系统

之前的硬盘分区在规划时,采用EXT4文件系统。这里以定制EXT4文件系统为例。其它根据个人具体情况而定。

按上下方向键,向下移动,找到“File systems”菜单。

image

选择进入“File systems”菜单后,找到EXT4文件系统并选择编译到内核中。

image

按“Tab”键切换到“Exit”按钮并回车,此动作进行两次。会出现以下画面询问你是否希望保存新的配置,这里选择“Yes

image

4)编译内核

我的服务器是4核的,所以在make的时候加上参数-j4,可以加快编译的速度。

image

 

5)安装内核

在编译完成后,会生成bzImage这个二进制内核文件。根据编译完成时的最后一行,可以知道这个文件保存的位置。

image

十二、修改fstab文件

image

修改内容如下:

image

 

十三、配置网络

设置IP地址:192.168.10.240,默认网关为:192.168.10.1

image

将网卡eth0设为开机启动。

如果在/etc/init.d/下不存在net.eth0,则需要用ln命令先建立这个文件。

image

sshd服务也设为开机启动。

image

十四、设置新安装Gentoo系统用户root密码

image

十五、编辑设置一些配置文件

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

TIMEZONE="Asia/Shanghai"

livecd conf.d # nano -w /etc/rc.conf

livecd conf.d # nano -w /etc/conf.d/rc

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

十六、安装系统工具

livecd conf.d # emerge syslog-ng

livecd conf.d # emerge logrotate

livecd conf.d # emerge vixie-cron

livecd conf.d # emerge dhcpcd

livecd conf.d # emerge vim

livecd conf.d # rc-update add syslog-ng default

livecd conf.d # rc-update add vixie-cron default

 

十七、安装引导程序Grub

1)在线下载grub并编译安装

livecd conf.d # emerge grub

2)配置grub.conf文件

image

 

3)安装Grubsda

livecd conf.d # grub

image

十八、重启系统

退出chroot环境,卸载所有文件系统并重启。

image

livecd / # reboot

最后取出光盘。到此完成Gentoo 64bit系统的安装。如下图:

image