操作系统的结构大体上分为两部分:
- kernel也就是内核 ,负责为计算机的硬件底层提供接口
- Shell也就是外壳程序,负责为操作系统层上的应用程序层提供接口
而现在流行的操作系统中也分为两类:
- 以windows为代表的内核与外壳一体化的操作系统,也就是整个操作系统是一个整体,无法分割
- 以Linux为代表的内核与外壳分离的操作系统。一个内核可以对应多个外壳,同样一个外壳可以对应多个内核。这样一来,操作系统的灵活 性大大提高。又由于是开源的,你可以为自己定制完全符合你自己需求的操作系统,而不要带上那些对于你来说没有任何作用,但占用宝贵的系统资源的鸡肋功能。
有了以上的认识,再开始安装Linux就很容易理解了。大体上来说,Gentoo的安装分为如下几个大步骤:
- 给硬盘至少分3个区:一个启动区,一个交换分区(也就是 Windows下的虚拟内存),一个操作系统所在的分区。当然你也可以分更多的区。
- 配置并编译一个kernel内核,放在启动分区
- 把外壳程序解压到操作系统分区,并修改好相应的配置文件
- 安装设置启动的软件,比如 GRUB,配置好对应系统启动时用哪个内核启动哪个系统
然后你就可以用了
下面就来说说详细的过程。
硬盘分区
用gentoo的liveCD由光驱启动,然后使用“fdisk”降硬盘至少分为3个区:
- 第一个区为启动分区,用来存放kernel内核和系统启动软件,一般设定为100M
- 第二个区为交换分区,用来存放程序运行时的页面文件(也就是虚拟内存)。根据你的内存大小与硬盘大小决定。在本例中,握设定的为1G
- 第三个区是操作系统的安装分区,用来放外壳程序的。
- 第四个或者第n个都随你分了,不过Linux最多只能存在4个主分区,如果你的分区大于4个,那么你就要把第四个分区设定为扩展分区,然后在其下面继续分其他的区。
PS:这里提一下Linux的文件管理与Windows不同的地方。在Windows 里面,人们通常看见的都是C:/ D:/ ....., 文件的都是按照不同的分区进行存放。但是在Linux里面,只有“/"这一个根目录,所有的文件都在这一个根目录或者其附属的子目录中存放。硬盘的分区都 被挂载(mount)到某一个目录下。也就是说对于用户来说,只需要关注文件系统的层,而不用关心磁盘的底层。
分完区以后记得给交换分区标记上SWAP的标签,并且把启动分区激活
外壳安装
- 把第三个和第一个分区分别挂载(mount)到liveCD的/mnt/gentoo 和/mnt/gentoo/boot目录下
- 下载Gentoo Stage 包并解压到/gentoo目录下
- 下载Portage包并解压到/gentoo/usr目录下
- 修改硬盘系统上的相应的配置,比如,clock等
内核安装
- chroot把操作范围设定到硬盘上,也就是/gentoo 目录下
- 编译一个内核,放到启动分区下,也就是/gentoo/boot目录下
启动引导工具安装于配置
- 用emerge安装一个GRUB,配置启动选项,也就是用什么内核启动什么外壳
- 把GRUB的启动分区设定为第一个分区
- 修改相应的配置文件fstab,net,passwd等,并安装一些软件,比如syslog等
重新起动系统,然后你就可以使用最基本的Gentoo了。
当然,如果你要使用xWindows的图形操作界面,那就要安装并配置Xserver, 至于图形界面可以根据你的需求考虑使用功能强大的KDE,或者是轻量级的Gnome。
关于Xserver和KDE的安装与配置,我会另外写一篇。
下面贴一个Gentoo 安装的全部命令:
磁盘划分
-----命令行输入:
# fdisk /dev/hda
/dev/hda1 linux
/dev/hda2 linux swap
/dev/hda3 linux
-----给分区创建文件系统
# mke2fs /dev/hda1
# mke2fs –j /dev/hda3
# mkswap /dev/hda2
# swapon /dev/hda2
----挂载分区以及创建挂载点
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot
# mkdir /mnt/gentoo/proc
# mount -t proc none /mnt/gentoo/proc
----- 配置网络
# net-setup
----安装gentoo安装文件
1 设置时间日期
# date MMDDhhmmYYYY
2 解开stage包
# tar –xvjpf /mnt/cdrom/stages/stage3-i686.2006.1.tar.bz2 –C /mnt/gentoo
3 解开portage包
# tar –xvjpf /mnt/cdrom/snapshot/portage.2006.1.tar.bz2 –C /mnt/gentoo/usr
4 复制源代码
# mkdir /mnt/gentoo/usr/portage/distfiles
# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles
------安装gentoo基本系统
1 选择镜像
# mirrorselect -a -s4 -o | grep -ve '^Netselect' >;>; /mnt/gentoo/etc/make.conf
2 复制DNS信息
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
3 进入新的环境
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
----配置内核
1选择时区
# ln -sf /usr/share/zoneinfo/RPC /etc/localtime
2 安装内核源码
# emerge gentoo-sources
3 改变内核源码的符号链接
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.4.25-gentoo linux
4编译内核
#make menuconfig
#make && make modules_install
#cp arch/i386/boot/bzImage /boot/
-----配置系统
1 配置文件系统
# nano –w /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
2 配置网络信息
# nano –w /etc/conf.d/hostname
HOSTNAME=”Squall”
# nano –w /etc/conf.d/domainname
DNSDOMAIN=”squall.com”
# nano –w /etc/conf.d/net
Config-eth0=( “192.168.0.110 netmask 255.255.255.0” )
Routes-eth0=( “default gw 192.168.0.1” )
# rc-update add net.eth0 default
-----配置grub
# emerge grub
# grub
grub>; root (hd0,0)
grub>; setup (hd0)
grub>; quit
# nano -w /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title Gentoo Linux
root (hd0,0)
kernel /bzImage root=/dev/hda3
----安装必须的系统工具
# emerge syslog-ng
# rc-update add syslog-ng default
----- 完成安装
1 修改root密码
# passwd
2 重启系统
# exit
# cd /
# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
# reboot