修订 1.2
2006年08月24日
| 修订历史 | ||
|---|---|---|
| 修订 1.2 | 2007年11月15日 | 廖佳亮 |
| 基于Gentoo 2007.0版本,删除了安装步骤的内容; | ||
| 修订 1.1 | 2007年04月04日 | 廖佳亮 |
| 基于Gentoo 2006.1版本,修改了安装步骤; | ||
| 修订 1.0 | 2006年08月24日 | 廖佳亮 |
| 初稿,基于Gentoo 2005.1编写,图形支持主要以KDE为主; | ||
与其它Linux发行版相比,Gentoo的安装方式比较特别,安装前要有一个可以启动的基本操作系统。Gentoo提供三种不同类型的光盘:
Gentoo Minimal CD/InstallCD
Gentoo Universal install CD
Gentoo LiveCD
Gentoo Live CD可以直接启动使用的系统,也可以用于安装。不过为了获得最新升级,建议用Minimal CD安装。
完全安装Gentoo分为三个步骤,一般从第三步(Stage3)开始安装,详细安装过程可以参考:Gentoo Linux x86 Quick Install Guide
如果网卡并没有自动设置(DHCP),可以通过向导来配置网卡。
net-setup eth0
也手工来配置网卡,包括地址、网关和域名服务器。
ifconfig eth0 192.168.1.10/24 route add default gw 192.168.1.1 echo nameserver 192.168.1.1 > /etc/resolv.conf
通过代理方式上网时,通过指定两个环境变量来配置代理服务器地址。
export http_proxy="http://192.168.1.1:3128" export ftp_proxy="http://192.168.1.1:3128"
系统默认编译参数配置文件为/etc/make.conf,建议添加一下参数:
# Host Setting.
CHOST="i686-pc-linux-gnu"
# Host and optimization settings.
CFLAGS=" -O2 -march=pentium4 -pipe"
CXXFLAGS="${CFLAGS}"
# The suggested number for parallel makes is CPUs+1.
MAKEOPTS="-j3"
# The USE variable is used to enable optional build-time functionality.
USE="nptl nptlonly -ipv6 -fortran unicode"
# Gentoo mirrors.
GENTOO_MIRRORS="http://gentoo.abc.com/gentoo/"
为了提高gcc的编译速度,建议安装ccache来缓存提高性能。
Emerge ccache:emerge -av dev-util/ccache;
执行 emerge --info | grep CHOST 查看当前CHOST值;
配置ccache:ccache-config --install-links YOUR-CHOST-HERE;
为了编译时默认启用ccache功能,在make.conf文件中添加:
FEATURES="parallel-fetch ccache"
系统默认缓存目录在/var/tmp/ccache,编译时也将缓存文件放在该目录。而用户的缓存目录在/root/.ccache,虽然root用户从来不会使用这个目录,这会导致混乱。查看缓存命中率等统计信息时,必须加上CCACHE_DIR参数。
CCACHE_DIR="/var/tmp/ccache" ccache -s
为了避免混乱,最好
echo "CCACHE_DIR=\"/var/tmp/ccache\"" >> /etc/env.d/99local env-update && source /etc/profile
通过distcc工具,可以让网络中的多台机器一起编译,这样可以大大提高编译速度。
在安装distcc之前,添加distcc系统用户:
echo "distcc:x:240:2:distccd:/dev/null:/bin/false" >> /etc/passwd
安装软件包,如下所示:
USE='-*' emerge --nodeps sys-devel/distcc
修改编译参数,加入distcc支持,同时也支持ccache和confcache,编辑/etc/make.conf:
FEATURES="distcc ccache confcache"
将distcc路径加到gcc之前,ccache之后。可以修改用户的~/.bashrc或者/etc/bash/bashrc来添加路径,如下:
export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"
编辑/etc/conf.d/distccd文件,允许局域网内计算机连接,如下:
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 10.62.0.0/16"
启动服务端:
/etc/init.d/distccd start
设置本机编译时,连接那些主机一起编译,如下:
distcc-config --set-hosts "localhost u01 10.62.0.200"
每次执行emerge system更新整个系统后,一定要重新执行emerge distcc。
内核源代码安装在/usr/src目录下,为了方便建立一个符号链接到 linux。编译内核时需要加载分区的文件系统、硬件设备驱动、网络支持等直接编译进内核。如果对某个模块不是很熟悉,按 ? 键查看帮助信息。
光盘自带的的 Kerenl 版本会比较旧一点,因此编译内核前需要升级内核版本。先升级到最新的portage,然后安装最新的内核源代码。
未成熟代码支持
通常不需要支持未成熟的代码:
Code maturity level options ---> [ ] Prompt for development and/or incomplete code/drivers
通用设置
启用 .config 文件支持:
General setup ---> [*] Kernel .config support
如果不需要启用 SELinux:
[] Auditing support
CPU 配置
如果需要超线程或多 CPU 支持:
Processor type and features ---> [*] Symmetric multi-processing support (8) Maximum number of CPUs (2-255)
电源管理
总线支持
Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> [*] PCI support [*] Legacy /proc/pci interface [*] PCI device name database [*] ISA support
文件系统
File systems ---> <*> Second extended fs support <*> Ext3 journalling file system support [*] Ext3 extended attributes [*] Inotify file change notification support <*> Kernel automounter version 4 support (also supports v3)
显卡支持
Graphics support --->
<*> VESA VGA graphics support
VESA driver type (vesafb-tng) --->
(1024x768@75) VESA default mode
USB 输入设备,例如 USB 鼠标或者键盘:
Device Drivers ---> USB Support ---> <*> USB Human Interface Device (full HID) support [*] HID input layer support
Gentoo 中加载模块的方式有点特别,模块名称写在 /etc/modules.autoload.d/kernel-2.6 文件中。
在编译内核时,添加LVM支持或者以模块方式加载dm-mod模块。通过fdisk分一个Linux LVM类型的分区,例如/dev/sda4。然后,安装lvm2和ext2resize两个软件包。
通过修改/etc/lvm/lvm.conf,定义过滤条件,避免LVM启动时扫描所有设备。如下:
filter = [ "a|/dev/sda|", "r/.*/" ]
激活LVM,如下:
vgscan && vgchange -a y
接下来就可以用lvm命令创建PV->VG->LV,如下:
pvcreate /dev/sda4 vgcreate vg /dev/sda4 lvcreate -L10G -nhome vg
编辑/etc/conf.d/net,配置网络接口信息,如下:
静态地址:
config_eth0=( "192.168.0.2 netmask 255.255.255.0" ) routes_eth0=( "default gw 192.168.0.1" )
DHCP方式:
config_eth0=( "dhcp" ) dhcp_eth0="nodns nontp nonis"
执行/etc/init.d/net.eth0 restart重启网卡。
使用命令 date 可以设置系统时间日期:
date -s 12/20/2003 date -s 12:30:00
系统重新启动后,将会读取硬件时间为系统时间。因此,通常你还需要使用命令 hwclock --systohc 将系统时间写到硬件时间。
安装软件包前,最好先用参数-pv查看会更新那些包。结果中第二列比较重要, N表示新安装,R表示替换当前系统已经安装的包。
emerge mysql -pv
然后,开始编译安装软件包和依赖的包,如下:
emerge mysql
只下载源代码包,但是不安装。
emerge openoffice -f
下载以下字体文件,并复制到 /usr/local/share/fonts 目录。
mingliu.ttc simsun.ttc tahomabd.ttf timesbd.ttf timesi.ttf verdanab.ttf simhei.ttf tahoma.ttf times.ttf timesbi.ttf verdana.ttf
查看当前系统运行服务设置;
# rc-update show
添加系统启动服务;
# rc-update -a vixie-cron default
删除系统启动服务;
# rc-update -d vixie-cron default