Linux的重要性毋庸置疑,而之前也玩過不少發行版,最開始玩的是Fedora,後來為了尋找伺服器版本又裝過RHEL5,聽說CentOS後,在RHEL5的基礎上,替換掉了RedHat的Logo,通過yum更新成了CentOS5,至於案頭發行版的光刻盤就N張,用LiveCD也玩過不少Linux,有Ubuntu、openSuse、gOS、jolicloud、Mono。這一次打算遷移到Gentoo上,並且不打算改了。於是這一篇就是安裝手記。
先惡補一下背景知識~
高手直接跳過(很多都是來自官方文檔,Gentoo的文檔是出了名的詳細,以至於沒多少人認真的看完,惡補的是我不熟悉的知識。。。)
1.Gentoo的發音
Gentoo讀音為"gen-too"("Gentoo"中的"g"不發重音,它類似於"gentle"中的"g"),音標大致為[gen·tʊ || 'dʒentʊ](讀音讀錯可是件挺沒有面子的事情,例如Linux,音標為['li:nэks],可以聽聽Linus Torvalds的錄音~)
2.Gentoo的根本及特點
“Gentoo賴以生存的根本在於賦予使用者以選擇的權利”,“當你安裝Gentoo時,你將會清楚的瞭解到——你能夠選擇怎樣編譯軟體,如何安裝Gentoo,以及使用哪種系統日誌程式等等。”“Gentoo是一個快速和現代化的元發行版,擁有簡潔靈活的設計理念。Gentoo基於自由軟體構建,它不會對使用者隱瞞任何底層細節。”
3.什麼是Stage1、Stage2、Stage3
Gentoo中的Stage是指安裝的幾個階段,“Gentoo還是提供了stage1和stage2的tarball。但是它們是為開發所預備的(發布工程團隊從stage1的tarball產生stage3的tarball)”
Grub中的Stage:“GRUB 含有幾個 images 檔案,兩個基礎(必需的)stages 檔案(stage1和 stage2),可選的 stage(也稱為 stage1.5),和兩個網路引導的images 檔案nxgrub 和xegrub)。stage1 是用於引導 GURB 的一個必須的映象檔案。通常它是被嵌入到 MBR。或者一個分區的開機磁區之中。因為 PC 的開機磁區是512 位元組,所以stage1 也是 512 位元組。stage1 的作用就是從一個本地磁碟載入 stage 2 或者 stage 1.5 。因為大小的限制,stage1 對 stage2 或者stage 1.5 的位置進行編碼,也就是說,stage1 是無法識別檔案系統格式的。stage2 是 GRUB 的核心映象。它幾乎處理所有的事情(除了載入它自己),通常可以把他放在檔案系統上,但不是必須的。一旦你執行了 grub-install 安裝了 boot loader ,stage1 檔案就不是必須的,可以把它移動到任意位置,因為它已經被嵌入到 MBR 或者 PBR 了。stage1和stage2 檔案一般位於 /boot/grub/ 目錄下,在這個目錄下還有很多 stage 1.5 的檔案,而且都是以檔案系統格式命名的。它們的目的是在 stage1 和 stage2之間搭建一個橋樑,也就是 stage 1 載入 stage 1.5, stage 1.5 載入 stage2。stage1 和 stage 1.5 的不同之處是 stage1 無法識別檔案系統,stage 1.5 可以。”
4.什麼squashFS檔案系統
squashFS是一個唯讀型檔案系統,它可以對儲存在其上的檔案和目錄進行壓縮,並支援最大1024KB的區段,以提供更大的壓縮比。現在被廣泛運用於LIVE-CD的製作。例如Gentoo10.1 LiveDvd中的image.squashfs檔案大小為2.52G,掛載後複製出來竟有大概9個G,壓縮率可見一斑。
5.Portage、emerge、eBuilds
Portage是Gentoo的軟體包管理系統,完全用Python和Bash寫成,絕大部分使用者將通過emerge工具來使用Portage,當然也GUI的工具,比如Kuroo。當我們談到(軟體)包的時候,我們通常指的是Portage樹為Gentoo使用者提供的包的名稱。Portage樹是ebuilds檔案的集合,這些檔案包含了Portage管理工具維護軟體(安裝,搜尋,查詢, ...)時所需要的所有資訊,並被預設的放置在/usr/portage目錄中。Gentoo實際上並不“儲存”任何軟體包。相反,Gentoo提供了可以為你所需某個特定版本的軟體解決依賴關係、獲得原始碼並且編譯成可執行檔的這樣的ebuild指令碼。
正式安裝~
選擇合適的安裝方式
1.使用Gentoo.org提供的最小安裝CD,例如install-x86-minimal-20091103.iso,安裝時需要連網下載stage3包和Portage快照
2.使用Gentoo.org提供的Universal Install CD,例如install-hppa-universal-2008.0.iso,不需要連網,而且有基於GTK或Dialog的圖形化安裝嚮導。
3.將Gentoo十周年紀念版的LiveDVD直接安裝到硬碟上,我就是選擇這種方法,各種軟體都配置好了,很方便。
PS:至於如何引導,就看個人喜好了,我習慣於直接燒錄成CD,當然也可以通過別的方法引導,比如通過Grub來引導
具體步驟流程:
1.開機,選擇從光碟片引導,出現提示時,啟動LiveCD:#gentoo nox
2.先分區,建議使用cfdisk,我之前安裝過openSuse,與Windows是雙啟動,所以基本上不用改動什麼,先查看分區情況:#cfdisk /dev/sda
例如我之前的兩個linux分區(/boot我沒有單獨拿出來),/dev/sda2是ext3分區,/dev/sda3是swap分區。
格式化分區:#mkfs.ext3 /dev/sda2
啟用swap分區:#swapon /dev/sda3
3.掛載/dev/ext3分區到gentoo目錄下,輸入#mount /dev/sda2 /mnt/gentoo
4.複製檔案,在/mnt下,應該會有livecd這個目錄,這是上面提到的image.squashfs檔案裡的內容,若是沒有,則可以自己掛載:#mount -o loop /mnt/cdrom/image.squashfs /mnt/livecd
複製所有檔案:#cp -af /mnt/livecd/* /mnt/gentoo/<br />
5.然後掛載proc和dev目錄,輸入:#mount –t proc proc /mnt/gentoo/proc<br />#mount –o bind /dev /mnt/gentoo/dev<br />
6.修改root密碼,輸入:#passwd root
然後複製shadow檔案到要安裝的系統中,之後的root密碼就是自己設定的這個了:#cp /etc/shadow /mnt/gentoo/etc/shadow
7.改變環境,輸入#chroot /mnt/gentoo
這個是為了操作上的習慣,不換也是可以的
8.編譯核心,直接使用genkernel工具,預設情況下就夠用了,#genkernel
如果需要自己選擇哪些要編譯時間,可以加上參數--menuconfig,大概半小時吧,編譯結束。
9.修改/etc/fstab,輸入#nano /etc/fstab
添加如下兩行
/dev/sda2 / ext3 defaults 0 1<br />/dev/sda3 none swap sw 0 0
10.安裝Grub到MBR,輸入#grub-install ––root-directory=/ ––no-floppy hd0
11.修改grub.conf檔案, 修改的是核心的名稱,分區的位置,輸入:#nano /boot/grub/grub.conf
我的如下
default 0<br />timeout 30<br />splashimage=(hd0,1)/boot/grub/splash.xpm.gz </p><p>title Gentoo Linux 2.6.30-r5<br />root (hd0,1)<br />kernel /boot/kernel-genkernel-x86_64-2.6.30-gentoo-r5 root=/dev/ram0 real_root=/dev/sda2<br />initrd /boot/initramfs-genkernel-x86_x64-2.6.30-gentoo-r5 </p><p>title Windows<br />rootnoverify (hd0,0)<br />chainloader +1<br />
11.防止系統啟動後修改剛剛設定的root密碼,輸入#rm /etc/runlevels/default/pwgen
12.重啟,輸入#reboot
不出意外的話就可以進入Gentoo了,預設的KDE介面有個gentoo使用者可以自動登入,當然也可以自己修改。剩下的就是其他配置了,比如顯示中文,安裝中文IME,配置時區,配置KDE,安裝別的軟體了,在下一篇中解決掉。