gentoo安裝筆記(下)
上一章,已經對操作系統安裝做了充分准備,並且已經從livecd(u盤系統)切換進入了gentoo安裝環境中。
不過現在才是真正的開始!打起精神!這可不是在裝ubuntu!
配置Portage
安裝Portage快照
一個用來告訴Portage哪些軟件標題可用於安裝、哪些配置文件可以由管理員選擇等等的文件集合。
emerge-webrsync
在這個操作中,emerge-webrsync可能會報找不到/usr/portage/位置。這是預期內的並且不用擔心——這個工具將會創建這個位置。
需要一點時間,可以泡杯熱coffee,等一會~
可選:更新Portage數據庫
Portage數據庫可以更新到最新版本
假設需要最新更新的包(gentoo protage發布的1小時以內的新包裹)
emerge --sync
選擇配置文件
eselect profile list

正常作為PC機使用的話,建議使用desktop一項的,所以我選擇3
eselect profile set 3
初始化選擇環境
emerge --ask --update --deep --newuse @world
此過程快慢根據上面選擇的profile,一般名字越長(包越多)則時間越久
第一個default/linux/amd64/13.0是最快的,帶有desktop的profile都比較慢,因為要下載桌面環境,如果把kde,gnome,systemed什么的一起加進來就更加可怕了!
這個過程非常之慢,我這兒顯示173包下載或更新,足夠把剛剛泡的咖啡喝掉在看會ruby編程了!
好吧,他編譯了一下午多,我回來了!(畢竟平時寫代碼編譯只是一個小程序,這是編譯一個系統啊)
設定時區
選擇的時區是Asia/Shanghai:
echo "Asia/Shanghai" > /etc/timezone
基於/etc/timezone條目更新/etc/localtime文件。
/etc/localtime文件用於讓系統的C類庫知道系統在什么時區
root #emerge --config sys-libs/timezone-data
設置地區
此項工作是本地化,設置語言、編碼、日期格式等等
下一步是運行locale-gen。它將生成/etc/locale.gen文件中指定的所有地區。
nano -w /etc/locale.gen
由於沒有了vi,只能使用nano,ctrl-O保存,ctrl-X退出,如下添加進去,使用中文和英語
en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN GBK
zh_CN.UTF-8 UTF-8
驗證所選擇的地區當前可用,運行locale -a

通過eselect locale set VALUE可以設定正確的地區:
eselect locale set 8

現在重新加載環境:
env-update && source /etc/profile && export PS1="(chroot) $PS1"
選擇一個合適的內核並使用emerge來安裝它。
emerge --ask sys-kernel/gentoo-sources
此命令會自動檢測當前環境依賴,找到合適的linux kernel,內核是linux系統發行版的核心
編譯和安裝kernel
編譯gentoo的linux內核有兩種方式:
- 手動配置並生成內核。
- 一個叫作genkernel的工具用來自動化生成並安裝Linux內核。
第一個是純手工編譯,需要對硬件有一定了解,缺少了模塊都可能會導致設備無法正常工作
所以我使用第二種genkernel方案,雖然這不是官方推薦,也不利於學習linux內核編譯,但是,之前我手動編譯無論如何都找不到wlan設備,導致筆記本的無線無法正常使用,這一次,我決定使用自動化編譯
nano -w /etc/fstab
添加如下一行:
/dev/sda2 /boot ext2 defaults 0 2
其他地方都不要動!
下載安裝genkernel
emerge --ask sys-kernel/genkernel
編譯並安裝
genkernel all
注意:這將又是一個漫長等待的時間,而且沒有任何屏幕輸出的編譯等過程,這一次我睡了一覺,明早繼續
早上好,看看電腦,已經編譯好了
結束后輸入
ls /boot/kernel* /boot/initramfs*
顯示如下
(chroot)livecd / # ls /boot/kernel* /boot/initramfs*
/boot/initramfs-genkernel-x86_64-4.9.16-gentoo
/boot/kernel-genkernel-x86_64-4.9.16-gentoo
表明這一覺,電腦已經自動完成了內核模塊的編譯和安裝
安裝固件
emerge --ask sys-kernel/linux-firmware
一些驅動需要先在系統上安裝附加的固件才能工作。這經常用於網絡接口,特別是無線網絡接口。非常多的固件都打包在sys-kernel/linux-firmware里
配置系統
fstab
在Linux系統下,系統所用到的所有分區都必須在 /etc/fstab文件中指明。這個文件包含了這些分區的掛載點(在系統目錄樹中的位置)、掛載方法和特殊掛載選項(是否自動掛載,是否某個用戶可以掛載它等)。
建議在這之前,先安裝一個vim編輯器(如果你是vim黨),這樣會使得后面編輯配置文件更加快速,你不喜歡vim,可以繼續使用nano編輯器或者安轉emacs
安裝vim:
emerge app-editors/vim
安裝是通過源碼編譯的,需要稍作等待......
好了,有vim用了
vim /etc/fstab
如果和我一樣,分區有/,/home,/boot分區,就按照以下配置即可

提示:
- 前三項都能肯定,從第四個開始,noatime性能最高,禁用了“文件操作記錄時間戳”
- 后面除了/分區為0 1,其他都要用0 2即可
主機名、域名信息
vim /etc/conf.d/hostname

如果你需要一個域名,在/etc/conf.d/net中設定(文件需要創建)
我作為桌面用戶,不需要,所以還要修改下面文件:
如果你選擇不設定域名,你可以去掉登錄界面上的這條信息:“This is hostname.(none)”。你只需要修改/etc/issue ,把字符串.\O從該文件里刪掉即可。
啟用PCMCIA
筆記本電腦有個pci擴展塢,如果想啟用就安裝此項,如果不需要,就跳過
PCMCIA用戶首先應該安裝sys-apps/pcmciautils軟件包。
emerge --ask sys-apps/pcmciautils
root密碼
passwd
輸入新的密碼
安裝系統工具
系統日志工具
安裝系統日志工具,選擇初學者專用的sysklogd
emerge --ask app-admin/sysklogd
rc-update add sysklogd default
cron守護進程
emerge --ask sys-process/cronie
rc-update add cronie default
文件索引 locate
可以使用locate命令搜索文件
emerge --ask sys-apps/mlocate
遠程訪問 ssh
自動開啟遠程服務
rc-update add sshd default
安裝網絡工具
這些操作非常重要,這決定了你之后能不能連接到網絡,如果不能連接互聯網,就連emerge命令都沒用,到時候會發現許多的命令沒有,包括網絡連接命令!而沒有網絡,emerge又不能把它們下載下來,不能emerge安裝網絡工具,又不好連上網,這就進入了一個惡性循環,雖然還有別的辦法比如有線網絡,路由器等等,還是先把這些工具都裝上,方便我們進入系統后進一步配置和emerge更多的包!
安裝dhcpd客戶端
emerge --ask net-misc/dhcpcd
安裝PPPoE客戶端
emerge --ask net-dialup/ppp
安裝無線網連接工具
對於筆記本電腦這些非常重要(否則在命令行中無法連接wifi)!!!官方沒有特別說明
試着使用iwconfig,你會發現沒有這條命令!說明這個程序沒有安裝,與此同時iw命令也沒有!
emerge --ask net-wireless/wireless-tools
emerge --ask net-wireless/iw
安裝wpa支持,讓gentoo可連接wpa路由器,就像之前我們livecd安裝gentoo時
emerge --ask net-wireless/wpa_supplicant
配置引導
linux引導
linux常用的引導有三個:grub(1-2),LILO,efibootmgr
選擇grub2即可,相對傳統而且靈活
LILO之前在slackware linux上我使用過
efibootmgr是比較新的專門用於引導uefi系統,而grub2亦可做到
安裝grub2
emerge --ask --verbose sys-boot/grub:2
將grub安裝到sda設備上,就是我們的硬盤。如果是多塊硬盤設備,安裝到系統硬盤(主硬盤)
grub-install /dev/sda
要生成最終的GRUB2配置,運行grub-mkconfig命令:
grub-mkconfig -o /boot/grub/grub.cfg
開始使用gentoo linux
到達此處,gentoo的安裝已經結束!
輸入:
reboot
重新載入系統(以root身份登錄)
連上wifi:按照上一章wpa_supplicant或者iw,iwconfig連接wifi的用法即可
連上之后會自動設置ip,如果沒有,使用以下語句:
dhcpcd
dhcp就是動態獲取ip地址
ping一下網絡,如果已經進入互聯網
開始emerge,就像ubuntu的apt-get!
現在開始使用gentoo linux吧!
