Gentoo

因為前幾天,FAE 跟我說上海有個客戶用 gentoo, 結果我的程式執行有問題,雖然應該是可以執行,不過想說早就對 gentoo 蠻有興趣,所以就想說下載來玩玩看.
不過 .iso 檔案好幾天前就下載完,只是沒什麼時間來安裝,前幾天又卡到買房子的事情…昨天終於想說來玩玩看,於是就利用 vmware 試用版來裝裝看.
第一片 cd 放進去開機,就可以開出完整的 linux, 有點類似 knoppix.
只是要安裝到硬碟上,可就要花一番功夫了.
我參考了這篇 Gentoo 1.4 安裝指南 裡面的安裝步驟來做~~
我本來想說節省時間,從 stage 3 開始,可是一時手賤,改了 /etc/make.conf,結果反而多花了很多時間….這樣斷斷續續的一搞,花了很多時間~~最後卻又開不了機~~
只好再來一次,這一次,我才發現,原來我少了一些步驟,使得 gentoo 的 emerge 每次都得上網路去抓最新的 portage, 所以才會慢….這次就學聰明了,從光碟複製 portage ,然後盡量不改設定,這樣就快多了~~
安裝步驟大致摘錄如下:
1.光碟開機後,就是一個 live linux 可以用
2.切割你的 partition,自行格式化…等等.
3.把切割好的 partition 掛載到 /mnt/gentoo 下,並且把 swap 掛起來(swapon /dev/hdx),這樣速度會比較快
4.建議從stage 3開始,所以要
# cd /mnt/gentoo
# tar -xvjpf /mnt/cdrom/stages/stage3-*.tar.bz2
把 stage 3 的檔案放到 partition 中…
5.把光碟上的 portage 以及一些 gentoo 幫我們編譯好的檔案放到 /mnt/gentoo 中
# tar -xvjf /mnt/cdrom/snapshots/portage-yyyymmdd.tar.bz2 -C /mnt/gentoo/usr
# cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles
# cp -a /mnt/cdrom/packages/ /mnt/gentoo/usr/portage/packages
6.再來就是 chroot, 切到剛剛都大致弄好的環境下
# mount -t proc proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
7. 更新到最新套件(emerge sync), 調整 make 參數(/etc/make.conf), 更新系統(CONFIG_PROTECT=”-*” emerge -u system),省時間的話,這步驟可以跳過.
8.設定時區(從/usr/share/zoneinfo連結到/etc/localtime),以及設置 fstab.
9.安裝kernel, 若需要調整 kernel 參數,可以用 genkernel –config
# emerge -k gentoo-sources
# emerge -k genkernel
# genkernel
# emerge -k hotplug
# rc-update add hotplug default
10.安裝 log daemon, 有這幾種可以選: sysklogd, msyslog, syslog-ng metalog.
# emerge -k syslog-ng
# rc-update add syslog-ng default
11.安裝 cron daemon, 一樣也是有這幾種可選: dcron, fcron 和 vixie-cron
# emerge -k vixie-cron
# rc-update add vixie-cron default
12.檔案系統的相關工具: reiserfsprogs, xfsprogs, jfsutils, lvm-user
13.帳號,記得要設置 root 密碼,並且最好加入一個普通 user
# passwd
# useradd your_user -m -G users,wheel,audio -s /bin/bash
# passwd your_user
14.主機名稱以及網域名稱 /etc/hostname, /etc/dnsdomainname, /etc/hosts
15.網路設定 /etc/conf.d/net, 並把 eth0 加入開機順序中 rc-update add net.eth0 default , ethx 依此類推
16.調整鍵盤設定等, /etc/rc.conf
17. boot loader: grub 或 lilo,並修改 grub.conf 或 lilo.conf
# emerge -k grub
# grub
grub> root (hd0,0)
grub> setup (hd0)
18.把第二片的 portage 也放到硬碟中,並裝一些有的沒的
# mount /dev/cdrom /mnt/cdrom
# cp -a /mnt/cdrom/packages/* /usr/portage/packages/
# emerge -k xxxxx
19.最後的一些步驟,然後重開機啦
# etc-update
# exit
# reboot
🙂