Linux:Distribution:Gentoo:FastestDoc
關於本文件的說明
本文件是以 GOT 上的 x86安裝文件 為參考,務求能最快理解在 Gentoo 安裝過程中做什麼事而寫的。
本文件是以 2004.3 的版本為例子而製作的,有必要時會進行更正。
本頁面資料的基本表示法
- : 冒號,每一行開頭是冒號的,代表其後接的是要輸入的指令。
- |- 直線及橫線,用來與每一行中的前面項目分開來做敘述用的。
- 【】 全形雙中括號,用來表示我個人對於官方文件的疑問用的。
另外尚有部分因為筆者能力不足,所以只以 ... 逗點帶過,看到時可以略過沒關係。
準備電腦和光碟及網路
- 含光碟機和硬碟之個人電腦或是筆記型電腦
- Gentoo Linux LiveCD 光碟
- 寬頻網路(推薦使用)或窄頻撥接網路
本例子中使用的是 40GB 的硬碟, 256MB 的記憶體,及附一台光碟機的 Compaq Evo N160 筆記型電腦。
光碟
- 下載處(台灣鏡站) |- GOT
- 安裝時不使用網路 |- 下載 Universal (本例子所使用的即為此光碟)
- 安裝時使用網路 |- 下載 Minimal (推薦)
- 相關檔案位置 |- x86 ,即 CPU 非 64 位元的電腦用的。
- 2004年最新版本之 LiveCD 及相關套件 |- releases/x86/2004.3/livecd
- 可使用之燒錄軟體
安裝 - 使用光碟開機
依主機板別不同,進入 BIOS 調整開機順位所需按的按鍵也不同。同廠商的似乎也會不同的樣子。
- MicroStar |- Del.
- ASUS |- F2 , Del.
安裝 - 光碟開機後所做的事
完成 BIOS 的設定,順利使用光碟開機進入安裝程序後所做的事。
這裡會進行基本操作的說明,以讓你嘹解 LiveCD 的環境。
載入系統核心
查看可選擇的核心 kernel 以及可設定的開機參數 options ,基本上放著不要動也會自動進入安裝程序。
- 可選擇的核心 |- F1
- :gentoo |- 預設的核心
- :gentoo-nofb |- 也是 gentoo 核心,但是關閉了文字介面下的圖示功能。
- :memtest86 |- 用來測試記憶體用的
- 可設定的開機參數 |- F2
進入 livecd 的操作環境
當你通過了核心選擇及開機參數的程序,系統會偵測並載入相關的硬體的支援,之後,你會進入到 livecd 的操作環境,紅色字體的 livecd ,其後方接著的藍色字體的 root 便是此環境下的最高權限使用者。
你現在正在使用光碟機中的 LiveCD 環境,這並不會對你的硬碟有任何寫入的動作,除非你下了相關指令,不然所有的動作都只是在記憶體和光碟之間執行而已。接著你可以做的事有以下幾種。
如果對任何指令有疑問時,在其後方空一個空格,再輸入「--help」即可查詢相關資料。
若是該說明文件太多太長,請在「--help」後方空一個空格後再輸入「| less」試試。
有關 less 的說明請參閱洪朝貴先生的網站上的文件「基本求生工具 - 文字檔閱覽器 less」。
重新開機
輸入 reboot 即會重新開機,想要關機請用「shutdown -h now」, h 就是 halt 的意思。
另外其實使用 LiveCD 的情況下,直接關電源也無所謂,但是如果是用硬碟在跑時,這樣子做,硬碟大概就準備報廢了。
使用者及密碼
一開始進入 livecd 環境時,你的使用者是 root ,你可以利用 passwd 指令來設定目前使用者的密碼,以及使用 useradd 指令來增加其它使用者。
- 在「livecd root #」下輸入 passwd 可以設定 root 的密碼,輸入時不會有任何顯示。
- useradd 因為還要設定群組跟使用者權限的,所以暫時跳過不談,有興趣的人請看官方文件。
設定系統時間
系統時間不對的話,會發生很多問題,所以一定要記得設定。輸入「date」可以查看,「date MMDDhhmmYYYY」則是依序設定「月、日、小時、分鐘、年」,將 MMDDhhmmYYYY 的地方換成正確的時刻來輸入就行了。例子如下。
- :date 111111111111 |- 11 月 11 日 11 時 11 分 1111 年
熟悉環境
查看各資料夾及其路徑下的檔案, root 路徑下並沒有任何東西,你可以跳至根目錄 / 看看。
- ls |- 列出目前資料夾、或是指定之資料夾下之資料夾及檔案
- cd |- 切換資料夾路徑
- :cd .. |- 回到上一層路徑
- :ls /mnt |- 列出 mnt 資料夾底下的資料夾或檔案
- :cd /mnt/cdrom/docs/h* |- 移動至 /mnt/cdrom/docs 路徑下名稱開頭為 h 的資料夾
- :ls /dev/hd* |- 列出 /dev 路徑下名稱開頭為 hd 的資料夾或檔案
- :cd / |- 回到根目錄 /
- :cd root |- 回到 root 目錄
- :clear |- 清除螢幕上輸入過的指令及出現的資料
- 另外按方向鍵的上下可以叫出上一次輸入過的指令
設定連線
要設定 ADSL 連線,請依以下順序設定。想中止 adsl-setup 的設定,請按住 Ctrl 和 c 。
- :adsl-setup |- 開始設定 ADSL 。
- USER NAME |- 輸入你的 ADSL 的使用者名稱。
- INTERFACE |- 輸入你要使用的網路裝置,預設是 eth0 ,如果你有其它張卡,可以自行把 0 換成別的數字,如果要用預設的,直接按 enter 就好。
- Do you want the link to come up on demand ? |- 問你是否要在需要連線時才連線,要的話,就輸入想要閒置的秒數,這樣過了這時間沒動作就會自動斷線。若是不要的話,預設是 no ,直接按 enter 就行了,這要只會在你要斷線時才會切斷連線。 注意,本段待確認,請先使用預設的 no 。
- DNS |- 設定網域名稱伺服器 Domain Name Server ,這可以幫助你的電腦在連線時找到正確的網域名稱和其 IP 的對應,不設定這個的話,你就算輸入 www.google.com 這類的 DN 也找不到任何東西的。(不過 Hinet 的會把 DN 資料一起傳過來的樣子)
- Hinet 的兩組 DNS 的位址分別是 168.95.1.1 和 168.95.192.1 。
- PASSWD |- 就是你的 ADSL 的密碼。輸入時是看不到的,會要求你輸入兩次這樣。
- FIREWALLING |- 設定防火牆。防火牆可以避免你的電腦受到一些網路上的搞怪份子的侵入。不過這裡只提供最基本的防火牆功能而已,但是對於單純要學習安裝的初學者來說很夠用了。一般使用網路來安裝 Gentoo 的使用者請選 1 。
- 輸入 0 時 |- NONE - 完全不開啟防火牆。
- 輸入 1 時 |- STANDALONE - 開啟基本的防火牆,只允許單一使用者上網瀏覽 web-surfing 的連線而已。
- 輸入 2 時 |- MASQUERADE - 開啟隱藏式(?)防火牆,只允許區域網路 Local Area Network 的連線而已。
- Summary of what you entered |- 這兒會顯示出你目前所做的變更,請確認無誤後再按 y 。
- 設定好後,可使用以下指令來啟動或關閉或確認連線情況。
- :adsl-start |- 開啟連線。
- :adsl-stop |- 關閉連線。
- :adsl-status |- 確認連線。
- 要連線到網路上時,請利用 links2 。不過要注意的是, LiveCD 並不提供英語系以外的語言的字碼,所以非英語系的字只會看到一堆問號而已。
- 例: links2 www.google.com
查看手冊
利用 links2 指令來查看 Gentoo 手冊。
- 查看光碟上的手冊 : links2 /mnt/cdrom/docs/handbook/html/index.html
- 查看網路上的手冊 : links2 http://www.gentoo.org/doc/en/handbook/handbook-x86.xml
- links2 的操作法 |- 只能用鍵盤操作
- 叫出選單 |- Esc
- 進入 |- Enter, 右方向鍵.
- 回上一頁 |- 左方向鍵.
- 在超連結之間移動游標 |- 上方向鍵, 下方向鍵.
- 翻下一頁 |- PageDown.
- 翻上一頁 |- PageUp.
- 回到第一個超連結 |- Home.
- 跳到最後一個超連結 |- End.
分割磁碟及建立檔案系統
接下來為了要安裝 Gentoo 到你的硬碟上,你必須先將硬碟的空間空出來才行。
準備磁碟
準備 - 分割磁碟及建立檔案系統 |- 硬體裝置全放在 /dev 路徑底下,要使用這些硬體裝置必須要掛載 mount 進系統,要看這些東西請用 ls 來查看。
- :ls / |- 列出根目錄,老實說我並不清楚這底下的東西有何含意,應該大部分都是空目錄吧。
- :ls /dev/hd* |- 這可列出你所有的碟碟機裝置, fb 則是代表軟碟機 floppy 、 cdrom 則是代表你的光碟機 cdrom 、 sd 則是隨身碟 stick disk 。
- hda, hdb, hdc, hd* |- 這代表的是你的獨立的硬碟機裝置
- hda1, hda2, hda3 hda* |- 這代表的是你的獨立的硬碟機底下所建立的分割區
- :ls /mnt |- 這裡是放置「掛載點 mountpoint」的地方。
掛載簡單來說,就是將硬體裝置,變成一個在軟體的作業系統底下的一個資料夾或檔案,以讓作業系統可以讀取其資料………大概是這個樣子吧…(汗)關於這點需要再查詢一下。
另外本路徑底下的所有檔案(掛載點)的名稱都是可以自由命名的,不過有些是只有掛載點但並沒有實際掛什麼裝置進來的。
底下說明 Gentoo LiveCD 環境下預設的掛載點。- cdrom |- 大部分的情況下,這兒掛載的是進入 LiveCD 環境後,所自動找到的光碟機中的檔案,在此處是 Gentoo Linux LiveCD 。
- gentoo |- 使用 Gentoo LiveCD 時會自動建立的一個掛載點路徑,接下來的所有檔案都會被安裝到這底下。剛開始時是空目錄,需要在進行
- livecd |- 嗯,應該就是載入到了記憶體中的 LiveCD 的資料吧。
- Ahtwang 17:47, 12 Mar 2005 (CST)
/mnt 只是統一用來放掛載點的地方而己,並不是目前掛載的裝置哦。例如平常就算沒光碟,也還是有 /mnt/cdrom;但那只是個空目錄。你喜歡的話也可以自己改名字變成 /mnt/mycd 然後把光碟機掛進去。
- Ahtwang 17:47, 12 Mar 2005 (CST)
進行分割
進行 - 分割磁碟及建立檔案系統 |- 決定好要在哪顆硬碟上安裝後,就要來實際進行磁碟分割了。
注意,在你分割完硬碟並儲存後,你將會失去該硬碟上的資料的配置表,但是這時你依舊可以救回這些資料!如果你在這之前有用過 spfdisk 之類的工具來備份分割區配置表的話啦…
以下將假設你要在 hda 這顆硬碟上進行磁碟的分割及檔案系統的建立。
- :fdisk hda |- 對 hda 這顆硬碟進行分割。
然後在進入 fdisk 的環境下時,你可以按 m 來查看說明。
指令說明
command (m for help): m |- 查看說明。
- :a |- toggle a bootable flag - 投下一枝可開機旗標 - 輸入這指令後會再問你要設哪一個分割區為開機分割區
- :b |- edit bsd disklabel -
- :c |- toggle the dos compatibility flag -
- :d |- delete a partition - 刪除分割區 - 輸入這指令後會再問你要刪除哪一個分割區
- :l |- list known partition types - 列出已知的分割區類型 - 用來確認目前的分割區是哪種檔案系統
- :m |- print this menu - 列出本選單 - 可列出本選單亦即是說明選單
- :n |- add a new partition - 加入新分割區 - 可建立一個新的分割區
- :o |- create a new empty DOS partition table -
- :p |- print the partition table - 列出分割表 - 用來查看目前的分割區的配置表狀況
- :q |- quit without saving changes - 不保存改變地退出 - 輸入了這個指令後不管在磁碟分割的過程中做了什麼都不會有效力
- :s |- create a new empty Sun disklabel -
- :t |- change a partition's system id - 變更分割區的系統 id - 設定分割區的 id ,可利用 l 指令來查看有哪些分割區類型可使用。預設為 83 即 Linux ,如果分割區要做為 swap 用,請在此變更成 82 即 Linux swap 。
- :u |- change display/entry units -
- :v |- veryfy the partition table -
- :w |- write table to disk and exit - 將配置表寫入磁碟中並退出 - 輸入了這個指令後會讓在磁碟分割的過程中所做的事發生效力
- :x |- extra functionality (experts only) -
建立分割區
command (m for help): n |- 說明建立新分割區時的基本概念,如果分割區已被其它分割區佔用,請用 d 將之刪除。
- primary |- 主分割區,一顆硬碟上只能有四個。開機分割區及 swap 分割區必須為此種分割區。
- extended |- 延伸分割區,為一特別的主分割區,亦即四個主分割區中它也算是一個。主要是用來放置邏輯分割區的檔案配置表用的。
- logical |- 邏輯分割區,建立在 extended 分割區底下的分割區,其數量沒有任何限制。
- boot |- 開機分割區,管理開機時要讀取哪個分割區上的作業系統所用到的資料全放在此處。
- swap |- 虛擬記憶體分割區,用來當做記憶體的硬碟空間。
- root |- 根分割區,用來放所有作業系統及程式資料的分割區,你可以把剩下的空間全配給它,或者也可以依進階的需求而再建立一個延伸分割區來放置個別的資料。
- cylinder |- 磁柱,請利用 Google 查詢此名詞之意思。
- 0 至 1 之間的磁柱是用來存放 MBR(Master Boot Record) ,亦即是你的 primary 分割區的配置表的資料用的。
- 當問你 first cylinder 時,大多可以直接按 enter 讓它使用預設值。
- 當問你 last cylinder 之類的時,可以輸入磁柱數目,或是 +SIZE 這類的。開機分割區建議用 +32M , swap 分割區則是 +512M 。
設定分割區類型
command (m for help): t |- 設定分割區的 id ,可利用 l 指令來查看有哪些分割區類型可使用。預設為 83 即 Linux ,如果分割區要做為 swap 用,請在此變更成 82 即 Linux swap 。
建立檔案系統
在經過了分割的動作後,用 ls 可以查詢 /dev 路徑底下你對硬碟所做的分割。
做好了分割後,各分割區是還無法正式使用的,必須經過建立檔案系統 file system 的動作,資料才有辦法在硬碟上被正確地存取及執行。
可以選擇的檔案系統類型
越新的檔案系統效能越強,不過相對地對軟硬體的支援度和臭蟲問題也就越糟。建議看看 GOT 的 建立檔案系統 文件。
- ext2 |- Linux 上的一種比較古老的檔案系統,不具有日誌功能 journal ,所以無法進行資料的回溯。(請解釋日記功能)
- ext3 |- 具備有日誌功能的 ext2 ,不過它其實比 ext2 還要強多了。
- swap |- 虛擬記憶體,建立這個可以解決你實體記憶體空間不足的問題。(請解釋需不需要建立 swap )
輸入指令來建立檔案系統
- mke2fs |- make ext2 file system ,也就是建立 ext2 的檔案系統,在其後方空一格空格,輸入「--help」的話,可以查詢此指令的使用法。
- :mke2fs /dev/hda1 |- 在 /dev/hda1 這顆硬碟 hda 上的分割區 hda1 上建立 ext2 檔案系統。
- :mke2fs -j /dev/hda3 |- 在 /dev/hda1 這顆硬碟 hda 上的分割區 hda3 上建立具有日誌功能的 ext2 檔案系統,即是 ext3 檔案系統。
- mkswap |- 就是建立 swap ,建好後,記得用 swapon 啟動 swap 磁區,要關掉的話則是輸入 swapoff 。
- :mkswap /dev/hda2 |- 建立 swap 分割區類別於 /dev/hda2 。
- :swapon /dev/hda2 |- 啟動 /dev/hda2 上的 swap 分割區。
掛載各分割區到系統資料夾中
要準備安裝作業系統了嗎?不過你沒想過作業系統要怎麼安裝嗎?沒有目的地要怎麼安裝呢?
「安裝至 /dev/hda3 中呀!」
很前面的地方也有說過了, /dev 下面的裝置是不能直接使用的,因為那是「硬東西」,作業系統是軟體,所以當然要先把硬東西變軟才能用(註:以上是謬論)。
所以這邊就要教各位掛載(mount)!
- mount |- 就是掛載,格式如下。
mount 硬體 掛載點- :mount /dev/hda3 /mnt/gentoo |- 將 hda 的第三個分割區,在這兒的例子,即是放置主要資料用的分割區,給掛載到 /mnt/gentoo 這個掛載點底下。
- mkdir |- make directary 建立路徑(資料夾)。
在進行掛載開機用的分割區前,需要先建立一個掛載點給它用,因為 Gentoo LiveCD 只有預設建立一個 /mnt/gentoo 給你掛載硬碟而已,除此外並沒有任何其它的路徑可用了( cdrom 跟 livecd 都被用掉了),所以你需要用 mkdir 建立一個相對應的掛載點給開機分割區。- :mkdir /mnt/gentoo/boot |- 建立 /mnt/gentoo/boot 這個路徑。
- 如何刪除路徑?
- :mount /dev/hda1 /mnt/gentoo/boot |- 掛載開機分割區 Boot partition 。
安裝 - stage
stage 壓縮檔中,放置有安裝 Gentoo 作業系統的必要檔案。
- 要確認該安裝哪種 stage 才好,你可以輸入「uname -m」來確認。
- 如果你使用的是 Gentoo Universal LiveCD ,你可以在 /mnt/cdrom/stages 路徑下找到光碟內附的 stage 。
- 依你的需求不同,會有 stage1 跟 stage3 兩種類的 stage 可選用, stage1 是從 source 開始編譯的,選擇這個 stage 後的安裝會花非~常非~常多的時間,所以初學者請選擇 stage3 。(其實是因為我還不會用 stage1 才會選 stage3 來做說明啦)
- stage3 又會依你的 CPU 種類(正確說法是叫做「子架構」)不同而分類,請先自行確認後再選用。
- 裝完 stage 後,得要再進行 Portage 的安裝及設定,所以以下依是否要連線上網際網路來做說明。
- 附帶一提, Portage 就是 Gentoo 作業系統中的「套件的安裝及更新維護」程式這類的感覺的玩意。而 Portage snapshot 則是用來告訴 Portage 那些軟體可以安裝,那些 profiles 可以使用等等的檔案集合。【profiles 是啥?】
離線安裝 stage
離線安裝,適合不能使用網路,或是只是想快速安裝 Gentoo 來玩的人。需要用到的檔案都放在 /mnt/cdrom 中了,可以自行查看一下。
- /mnt/cdrom/stages |- 即 stage 壓縮檔。
- /mnt/cdrom/snapshots |- 即 Portage 用的快照 snapshot 壓縮檔。
- 【介紹其它光碟上的檔案?】
使用 LiveCD 的 stages
使用這種方法的好處就是比較快,缺點就是 stage 壓縮檔裡面的東西比較舊。
- :cd /mnt/gentoo |- 在進行 stage 的安裝前,請先移動到你想要安裝 stage 的路徑底下。在本例中是移動到 /mnt/gentoo 。
- :tar -xvjpf /mnt/cdrom/stages/stage3-(子架構)-2004.3.tar.bz2 |- 前面也說過了,這些 stage 都是「壓縮檔」,所以不解開來的話是無法執行的。
你現在是在 /mnt/gentoo 底下,進行 /mnt/cdrom/stages 底下的 stage3-(子架構)-2004.3.tar.bz2 的解壓縮動作。
解開後自然會把相關的資料放到 /mnt/gentoo 底下。- tar |- 解 tar 壓縮檔時用的程式。
- -xvjpf |- tar 指令的參數,其個別代表的意思待查中。
- 解壓縮完後,你可以到 /mnt/gentoo 底下查看多了什麼東西出來。
使用 LiveCD 的 snapshots
在此,我們要把 snapshot 解壓縮至 /mnt/gentoo/usr 底下。【這兒是放什麼東西的?】至於你現在在哪個路徑底下其實並不太重要。【如果要將 snapshot 複製到 gentoo 下要怎麼做?】
- :tar -xvjf /mnt/cdrom/snapshots/portage-20041022.tar.bz2 -C /mnt/gentoo/usr
- 上面所輸入的 portage-20041022.tar.bz2 可以依你自己的情況來改變。
- 【-C 參數的意思是?】,注意是大寫的 C 。
- 解壓縮完後,你可以到 /mnt/gentoo/usr 底下查看多了什麼東西出來。
線上安裝 stage
線上安裝,這兒建議各位一定要記得先選擇 mirror 鏡射站 ,不然光是下載檔案就會浪費掉相當多的時間了,當然在搜尋適當的鏡射站時也會花上好一段時間啦。
注意,除非你所使用的是 Minimal LiveCD ,或是你想要的 stage 版本不是 2004.3 的,否則你可以直接用離線安裝的方式安裝 stages 和 snapshots 。
從網路下載 stages
使用這種方法的好處就是 stage 壓縮檔裡面的東西比較新,但是速度會比較慢一些。
make.conf
若你安裝好 snapshots 的話,在此,要進行編譯參數的設定,詳細說明可在 GOT 中找到。
要設定 make.conf ,我們可以利用 nano 這個編輯器來處理。而 make.conf 相關的資料如下。
- /mnt/gentoo/etc/make.conf |- 本例中所要修改的東西。
- /mnt/gentoo/etc/make.conf.example |- make.conf 的範例檔,也是用 nano 就可以打開來看的。
一般來說使用 stage3 安裝的使用者需要設定以下兩者。而在安裝 Gentoo 2004.3 的情況下, make.conf 中預設會有的是 CFLAGS 、 CXXFLAGS 和 CHOST 三行變數的設定,可以直接就該處進行編輯。
- CFLAGS 和 CXXFLAGS |- 這兩者是在定義最佳效能化 gcc C 和 C++ 編輯器的參數。可使用的參數請參考 GCC online documentation
- CFLAGS="-march=athlon-xp -pipe -O2" |- 這是可能的情況之一。「引號 " 」之間的參數的順序可以互換,注意參數前一定會有「減號 - 」作為辨識。
- -march |- 此參數的值並不一定會是 athlon-xp ,在我的情況中,是已經自動幫我抓好了適用的 CPU 子架構。這個參數是一定要輸入的。
- -O2 |- 這是 gcc 的性能參數。 O 是大寫的英文字母 O ,不要打成阿拉伯數字 0 了。這個參數是一定要輸入的。 2 的部分可替換成以下幾種。
- s |- 增加檔案大小性能
- 0 |- 零、沒有提昇性能
- 1 、 2 、 或是 3 |- 關於速度的性能(一個特定的性能加上另外一個或是兩個)
- -pipe |- 使用 pipes 進行編譯中的通訊而不是暫存檔,這是很多人普遍有在使用的,不使用該參數也無妨。【pipes 的功用是?】
- -fomit-frame-pointer |- 尚不明其功用,不建議使用。
- CXXFLAGS="${CFLAGS}" |- 定義好 CFLAGS 後,請用此參數將 CFLAGS 和 CXXFLAGS 連結起來。
- CFLAGS="-march=athlon-xp -pipe -O2" |- 這是可能的情況之一。「引號 " 」之間的參數的順序可以互換,注意參數前一定會有「減號 - 」作為辨識。
- MAKEOPTS |- 在安裝一個套件時需要幾個平行編譯的參數。一般來說是推薦使用 CPU 數加一的數值。
- MAKEOPTS="-j2" |- 只有一個 CPU 的情況。
然後因為在此例子中是使用 nano 編輯器的,所以你可以按住鍵盤的 Ctrl 及 x ,就會問你是否要儲存、還有要存到哪兒、並且最後會跳出 nano 。
常見問答
- 安裝到一半時就關機的話,要怎麼重新安裝?
- 如果是安裝到了分割磁碟,並建立好檔案系統的地方的話,那只要重新設定以下東西就好。
本頁面的重點整理
- 事前準備
- 分割硬碟並建立檔案系統以安裝作業系統
- 安裝 stage 壓縮檔進入你的硬碟中
YourLocation
您的位置: ACnowiki >> 學術 >> Linux >> 發行套件 >> Gentoo >> 快速進入狀況用 說明書