Gentoo 安装步骤介绍(8)
时间:2006-01-01 来源:nig.daemon
8.設定您的系統
內容:- 檔案系統資訊
- 網路資訊
- 系統資訊
8.a. 檔案系統資訊
什麼是 fstab?
在 Linux 中,所有在系統中被使用的分割區要被列在 /etc/fstab 之中。在這個檔案之中包含了這些分割區的掛載點(他們在檔案系統中哪裡被存取),他們如何掛載( 一些特別的參數),以及何時掛載(要不要自動掛載,一般使用者可不可以掛載等)。
建立 /etc/fstab
/etc/fstab 使用特別的語法。每一列包含六個欄位,以空格(一個以上)、tab或兩者同時用來分隔。每一個欄位有他自己的定義:
- 第一個欄位設定分割區的位置(裝置的路徑)
- 第二個欄位設定分割區要在哪個掛載點被掛載
- 第三個欄位設定分割區的檔案系統
- 第四個欄位設定 mount 要掛載時所使用的掛載參數。 因為不同的檔案系統有不同的參數,您要去查詢 manpage (man mount) 來取得完 整的參數列表。這些參數之間以逗號分隔。
- 第五個欄位被 dump 用來決定這個分割區需不需要被傾印。一般而言您可以設成 0(零)
- 第六個欄位讓 fsck 決定當系統不正常的關機時,檔案系統檢查的順序。 根目錄要被設成 1 而其他則要設成 2,如果檔案系統不需要被檢查的 話,則設成 0。
Gentoo 提供的預設 /etc/fstab 檔案 不是一個有效的 fstab 檔 ,接下來啟動 nano (或您慣用的編輯器)來建立/etc/fstab:
原始碼 1: 開啟 /etc/fstab |
# nano -w /etc/fstab
|
接著來看看我們如何設定 /boot 分割區。這只是一個範例,所以如果您的系統不需要 /boot 分割區(如:PPC),不要直接複製它。
在我們的 x86 分割範例中 /boot 是位於 /dev/hda1 分割區中,而且使用 ext2 檔案系統。他不應該在開機時自動掛載 (noauto),但是需要被檢查,所以我們應該記下來:
原始碼 2: /etc/fstab 中 /boot 設定範例 |
/dev/hda1 /boot ext2 defaults 1 2 |
如果您不需要自動掛載 /boot 分割區,來增加您的系統安全性,您將需要將 defaults 更換成 noauto。這代表著您將需要在使用時手動掛載。
為了增進效能,大部分使用者都會在要掛載的分割區掛載參數中設定 noatime,因為這會讓系統不更新上次檔案的存取時間(一般來說您並不需要這個功能),因此可以加快速度:
原始碼 3: etc/fstab 中改進過的 /boot 設定範例 |
/dev/hda1 /boot ext2 default,noatime 1 2 |
接下來,我們繼續完成下面這幾行,包括 /boot,/ 還有置換區:
原始碼 4: /etc/fstab 中三行設定 |
/dev/hda1 /boot ext2 default,noatime 1 2 /dev/hda2 none swap sw 0 0 /dev/hda3 / ext3 noatime 0 1 |
最後,您要加入 /proc,tmpfs (必要),以及CD-ROM。如果您還有其他的裝置,也加到檔案中:
原始碼 5: 完整的 /etc/fstab |
/dev/hda1 /boot ext2 defaults,noatime 1 2 /dev/hda2 none swap sw 0 0 /dev/hda3 / ext3 noatime 0 1 none /proc proc defaults 0 0 none /dev/shm tmpfs nodev,nosuid,noexec 0 0 /dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0 |
檔案系統設定 auto 讓 mount 猜測使用哪個檔案系統(建議在可卸除的裝置使用,因為他們可能有多種檔案系統),而 user 參數讓一般使用者也能掛載 CD。
如果您使用 SPARC 的話,您也要將下面這一行加入 /etc/fstab 中:
原始碼 6: 在 /etc/fstab 加入 openprom 檔案系統 |
none /proc/openprom openpromfs defaults 0 0 |
重新檢查一次 /etc/fstab,儲存離開後進行下面的步驟。
8.b. 網路資訊
主機名稱,領域名稱等
接下來的步驟其中之一就是給您的電腦一個名稱。這步驟相當簡單,但是許多人很難找到一個合適的名稱,記得您設定的名字在之後還是可以改變的,這可以讓您快一點完成。一般而言,您可以設定電腦名稱為 tux 而領域名稱為 homenetwork。
我們會使用這些設定來當做範例。首先設定主機名稱:
原始碼 7: 設定主機名稱 |
# nano -w /etc/conf.d/hostname (將 HOSTNAME 變數設為你的主機名稱) HOSTNAME="tux" |
其次設定領域名稱:
原始碼 8: 設定領域名稱 |
# nano -w /etc/conf.d/domainname (將 DNSDOMAIN 變數設為你的領域名稱) DNSDOMAIN="homenetwork" |
如果您有 NIS 領域名稱的話(您不知道這是什麼的話,那您就不用設定它),您也需要去設定它:
原始碼 9: 設定 NIS 領域名稱 |
# nano -w /etc/conf.d/domainname (將 NISDOMAIN 變數設為你的領域名稱) NISDOMAIN="my-nisdomain" |
現在加入 domainname script 到預設的 runlevel 中:
原始碼 10: 將 domainname 加到預設 runlevel |
# rc-update add domainname default
|
設定網路
在您覺得 "嗯,我現在已經弄好了" 之前,您要記得在您剛開始安裝 Gentoo 時設定的網路只是在安裝過程中使用。現在您要為您的 Gentoo 系統設定網路。
注意: 更詳細的網路資訊,包括進階的主題如頻寬合併,橋接, 802.11Q VLAN 及無線網路等包含在 Gentoo 網路設定 部份。 |
所有的網路設定都集合在 /etc/conf.d/net。如果您不知道如何設定的話,您會覺得這些語法相當不熟悉或是不了解,但不用擔心,我們會解釋每件您該需要的訊息 :) 包含許多不同設定的指令範例可以在 /etc/conf.d/net.example 找到。
預設是使用 DHCP,他並不需要做任何設定。
如果你因為要指定 DHCP 選項或是你沒有使用 DHCP 而要設定網路,用你習慣的瀏覽器開啟 /etc/conf.d/net(範例中使用 nano)。
原始碼 11: 開啟 /etc/conf.d/net 來編輯 |
# nano -w /etc/conf.d/net
|
你會看到底下這些:
原始碼 12: 預設 /etc/conf.d/net |
# This blank configuration will automatically use DHCP for any net.* # scripts in /etc/init.d. To create a more complete configuration, # please review /etc/conf.d/net.example and save your configuration # in /etc/conf.d/net (this file :]!). |
要自己輸入 IP,子網路遮罩以及閘道器的話,你需要設定 config_eth0 及 routes_eth0:
原始碼 13: 手動設定 eth0 IP 資訊 |
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" ) routes_eth0=( "default gw 192.168.0.1" ) |
要使用 DHCP 並且指定 DHCP 選項,設定 config_eth0 及 dhcp_eth0:
原始碼 14: 自動取得 eth0 的 IP |
config_eth0=( "dhcp" ) dhcp_eth0="nodns nontp nonis" |
請參閱 /etc/conf.d/net.example 中完整的選項列表。
如果您有數個網路介面,對 iface_eth1,iface_eth2 等變數重複上面的步驟。
現在儲存設定然後離開,繼續下面的步驟。
開機時自動啟動網路
讓您的網路介面開機時自動啟動,您要把底下這些加入預設的 runlevel 中。如果您使用 PCMCIA 介面則跳過這一步驟,PCMCIA 是由 PCMCIA 啟動 script 來啟動。
原始碼 15: 加入 net.eth0 到預設的 runlevel |
# rc-update add net.eth0 default
|
如果您有數個網路介面,您要建立對應的 net.eth1,net.eth2 等。您可以使用 ln 來完成:
原始碼 16: 建立額外的 initscripts |
# cd /etc/init.d # ln -s net.eth0 net.eth1 # rc-update add net.eth1 default |
寫入網路資訊
您需要告訴 Linux 關於您的網路的資訊。這在 /etc/hosts 中定義幫助您將名稱伺服器上查不到的主機名稱反解為 IP。例如您的網路中有三台電腦,分別叫做 jenny (192.168.0.5),benny (192.168.0.6) 和 tux (192.168.0.7 - 這台電腦),您要開啟 /etc/hosts 然後填入這些設定:
原始碼 17: 開啟 /etc/hosts |
# nano -w /etc/hosts
|
原始碼 18: 填入網路資訊 |
127.0.0.1 localhost 192.168.0.5 jenny.homenetwork jenny 192.168.0.6 benny.homenetwork benny 192.168.0.7 tux.homenetwork tux |
如果您的電腦是唯一的一部,或是名稱伺服器有全部的反解,底下這一行已經足夠了,例如說,你想要你的電腦叫做 tux:
原始碼 19: 適合單一電腦或是有完整反解的電腦的 /etc/hosts |
127.0.0.1 localhost tux |
儲存設定然後離開,繼續下面的步驟。
如果您沒有 PCMCIA,您可以繼續進行 系統資訊。 PCMCIA 使用者繼續下面的主題。
非必要:讓 PCMCIA 工作
注意: pcmcia-cs 只可以在 x86, amd64 和 ppc 平台上使用。 |
PCMCIA 使用者首先要安裝 pcmcia-cs 套件,包含打算使用 2.6 核心的使用者(雖然他們將不會使用套件內的驅動程式)。然後使用 USE="-X" 來避免現階段的 XFree86 安裝:
原始碼 20: 安裝 pcmcia-cs |
# USE="-X" emerge pcmcia-cs
|
當 pcmcia-cs 安奘好以後,新增 pcmcia 到預設 runlevel:
原始碼 21: 新增 pcmcia 到預設 runlevel |
# rc-update add pcmcia default
|
8.c. 系統資訊
Root密碼
我們藉由輸入以下指令來更改Root密碼
原始碼 22: 設定Root密碼 |
# passwd
|
如果您希望讓Root能夠從文字介面登入,請增加tts/0到/etc/securetty:
原始碼 23: 增加 tts/0 to /etc/securetty |
# echo "tts/0" >> /etc/securetty
|
系統資訊
Gentoo 使用 /etc/rc.conf 來設定整個系統的一般設定。開啟 /etc/rc.conf 然後享受裡面完善的注解 :)
原始碼 24: 開啟 /etc/rc.conf |
# nano -w /etc/rc.conf
|
當你設定 /etc/rc.conf 好以後,存檔然後離開。
就如同您所看到的,這個檔案有完善的注解讓您設定必要的參數。你可以設定系統使用 unicode 及定義預設的編輯器還有顯示管理員(像 kdm 和 gdm)。
Gentoo 使用 /etc/conf.d/keymaps 來處理鍵盤設定。編輯他設定你的鍵盤。
原始碼 25: 開啟 /etc/conf.d/keymaps |
# nano -w /etc/conf.d/keymaps
|
特別要注意 KEYMAP 變數,如果您設定錯誤的 KEYMAP 當您再用鍵盤輸入時會得到錯誤的結果。
注意: 以 USB 為主的 SPARC 系統或相容的系統可能要選擇 i386 keymap (例如 "us") 而不是 "sunkeymap"。大部份的 PPC 系統都是用 x86 的設定。想要在開機時可以使用 ADB keymaps 的使用者需要啟動核心中的 ADB keycode sendings,並且在 /etc/conf.d/keymaps 中設定 mac/ppc keymap。 |
當你設定 /etc/conf.d/keymaps 好以後,存檔然後離開。
Gentoo 使用 /etc/conf.d/clock 設定系統時鐘,根據你的需求編輯他。
原始碼 26: 開啟 /etc/conf.d/clock |
# nano -w /etc/conf.d/clock
|
如果你的硬體時鐘是使用 UTC,你需要在檔案中加入 CLOCK="local",不然你會發現時間偏移了。而且 windows 假設你的電腦使用本地時間。所以如果你用雙重開機,你需要設定這個變數,不然你電能的時間會亂七八遭。
當你設定好 /etc/conf.d/clock 後,存檔然後離開。
如果你不是在 IBM PPC64 系統上安裝 Gentoo,接著繼續 安裝必需的系統工具。
設定 Console
注意: 下面這一部分適用 IBM PPC64 硬體平台。 |
如果你打算在 IBM PPC64 系統上安裝 Gentoo 並且使用虛擬 Console,你需要取消 /etc/inittab 中 hvc 那幾行的注解,讓虛擬 Console 可以產生登入提示符號。
原始碼 27: 在 /etc/inittab 中啟動 hvc 或 hvsi 支援 |
hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0 hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0 |
這時你也要順便檢查 /etc/securetty 中是不是有把合適的 console 列上去。
接著繼續 安裝必需的系統工具。