Gentoo源码安装
一、前期准备
(1)下载以下三个文件
二、配置安装环境
(1)用光盘引导到LiveCD环境
(2)配置当前LiveCD环境的网络
安装Gentoo时,服务器引导的LiveCD环境必须能够连接外网。因为在安装过程中需要在线下载内核和其它相关软件。而我们又想用ssh远程进行安装操作,所以服务器引导的当前LiveCD环境还要开启sshd服务,使服务器可以用Linux下的ssh或Windows下的PuTTY远程连接。所以这里的网络设置主要实现两个目的:一是使当前服务器引导的LiveCD环境能够连接外网,二是开启sshd服务,使服务器可以用ssh远程连接。
服务器的网络规划:
服务器有三个网卡:eth0、eth1、eth2。这里只使用eth0和eth2两块网卡。
eth0 IP地址:192。168.10.200,用于远程连接。
eth2 IP地址:用dhcpcd命令自动获取IP,通过NAT联接外网。
设置IP地址:
检查服务器是否可以连接外网,这里ping一下百度的网站。
可以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。
点击下方的“open”按钮,根据提示输入用户名:root,密码:123456;第一次登录,会提示保存密钥,点击“是”即可。
三、建立分区
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创建分区:
分区完成后,输入w写入分区。
注意:
在创建时,由于 /dev/sda3是作交换分区的,所以要修改 /dev/sda3 的分区类型为82,/dev/sda1作为boot分区,所以要标记为可启动分区。
(2)重新读取sda分区表
(3)创建ext4文件系统
(3)创建swap分区
(4)激活swap分区
四、创建相关挂载目录并挂载文件系统
根据分区规划,建立相关挂载目录,并挂载文件系统。
/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中,所有的目录都挂载在根目录“/”下。所以先挂载原先规划好作为根分区的文件系统到根“/”目录这个挂载点下,再在这个根分区文件系统上建立其它相关挂载点。
五、设定系统时间和日期
修改为当前时间和日期:2012年7月24日22时17分。
六、上传相关文件
上传下面两个文件到 /mnt/gentoo目录下,即/dev/sda2这个规划为根分区的文件系统上。
这是事先下载好的,你也可以用links或wget命令在terminal中在线下载这两个文件。
打开Windwos下FTP客户端工具FileZilla Client,选择“文件”à“站点管理器”,如下图设置好sftp;
点击连接,并上传本地的两个文件到服务器上的根分区文件系统上。
上传完成后,查看/dev/sda2根分区文件系统上的内容,可以看到刚上传完成的两个文件。
七、解压stage3和portage两个文件
(1)stage3-amd64-20120621.tar.bz2文件是Gentoo的目录结构,所以要解压到/dev/sda2这个规划的根分区文件系统上,即/mnt/gentoo,这里的根目录不是livecd上的根目录,而是/mnt/gentoo/,即挂载的是/dev/sda2这个分区。
(2)portage-20120723.tar.bz2是系统软件维护树。解压到规划的系统根目录/usr目录下(即挂载在livecd /mnt/gentoo下的/dev/sda2分区的文件系统,usr/目录即建立在这个文件系统上。),这个目录在livecd上的目录是/mnt/gentoo/usr。这个/usr目录不是livecd中的/usr下,切记。
八、用chroot命令切换系统到/dev/sda2根分区上
九、设置时区
设置时区信息:根据具体情况使用/usr/share/zoneinfo中的正确条目。我们这里使用上海。
设置好时区后,时间会根据你所设的时区重新计算,我们所设置的上海在东八区,所以会在原来时间的基础上再加上八小时。这里我们需要重新校正当前时间。
十、设置主机名为gentoo
十一、内核配置
(1)下载内核及其它相关依赖包并解压配置
注意:
gentoo-sources:为一般用途,只打了一般的安全补丁。
hardened-sources:服务器用途, 安全性和稳定性有所提高。
(2)根据具体情况配置内核相关功能模块
接着会出现以下画面,根据情况选择定制内核模块。
(3)定制EXT4文件系统
之前的硬盘分区在规划时,采用EXT4文件系统。这里以定制EXT4文件系统为例。其它根据个人具体情况而定。
按上下方向键,向下移动,找到“File systems”菜单。
选择进入“File systems”菜单后,找到EXT4文件系统并选择编译到内核中。
按“Tab”键切换到“Exit”按钮并回车,此动作进行两次。会出现以下画面询问你是否希望保存新的配置,这里选择“Yes”。
(4)编译内核
我的服务器是4核的,所以在make的时候加上参数-j4,可以加快编译的速度。
(5)安装内核
在编译完成后,会生成bzImage这个二进制内核文件。根据编译完成时的最后一行,可以知道这个文件保存的位置。
十二、修改fstab文件
修改内容如下:
十三、配置网络
设置IP地址:192.168.10.240,默认网关为:192.168.10.1
将网卡eth0设为开机启动。
如果在/etc/init.d/下不存在net.eth0,则需要用ln命令先建立这个文件。
将sshd服务也设为开机启动。
十四、设置新安装Gentoo系统用户root密码
十五、编辑设置一些配置文件
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文件
(3)安装Grub到sda
livecd conf.d # grub
十八、重启系统
退出chroot环境,卸载所有文件系统并重启。
livecd / # reboot
最后取出光盘。到此完成Gentoo 64bit系统的安装。如下图: