操作系統的結構大體上分爲兩部分:
- 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