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吧!