Gentoo Linux 2005.0 x86 手冊[42]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

如果你想改變編譯指令,建議您編輯 ebuild 檔案中的 src_compile() 函式。然而,你也可以讓 Portage 以為 ebuild 程式已經完成編譯步驟了。自己執行所有必須的命令然後在工作目錄建立一個叫做 .compiled 的空檔案。

原始碼 6: 通知 Portage 編譯工作完成了

# touch .compiled

安裝暫存路徑中的檔案

下個步驟 Portage 將會安裝暫存目錄中的所有必要檔案。這個目錄將會包含所有要被 merge 到 Live 檔案系統的檔案。你可以跑 ebuild 的 install 功能來完成這個動作,他會執行 ebuild 檔案中的 src_install() 函式:

原始碼 7: 安裝檔案

# ebuild path/to/ebuild install

Merge 檔案到 Live 檔案系統

最後一個步驟是把所有檔案 merge 到 Live 檔案系統和登記他們到 Portage 後端。 ebuild 將這個步驟稱做 "qmerge",而且包含下列步驟:

  • 若有指定,將會執行 pkg_preinst() 函式
  • 複製所有檔案到 Live 檔案系統
  • 登記檔案到 Portage 後端
  • 若有指定,將會執行 pkg_postinst() 函式

執行 ebuild 的 qmerge 功能以達成這些步驟:

原始碼 8: Merge 檔案到 Live 檔案系統

# ebuild path/to/ebuild qmerge

清除暫存目錄

最後,你可以使用 ebuild 的 clean 功能清除暫存資料夾:

原始碼 9: 清除暫存目錄

# ebuild path/to/ebuild clean

6.c. 額外的 ebuild 特性

執行所有 Merge 相關命令

使用 ebuild 的 merge 功能,你可以一次執行 fetch、unpack、compile、install、qmerge 命令:

原始碼 10: 安裝軟體

# ebuild path/to/ebuild merge

執行設定動作

某些程式包含對你系統更進一步設定的指令。這些指令可以與人互動,也因此不會自動執行。使用 ebuild 的 config 功能來執行列在 ebuild 檔案裡(非必要)config() 函式中的設定步驟:

原始碼 11: 設定套件

# ebuild path/to/ebuild config

建立一個 (RPM) 套件

你可以叫 Portage 由 ebuild 檔案建立一個二進位的套件,即使是 RPM 檔案。使用 ebuild 的 package 或 rpm 功能去建立這些檔案。然而這兩個功能有些不同:

  • package 功能與 merge 功能非常相像,在建立套件之前,會執行所有必備的動作 (fetch、unpack、compile、install)
  • rpm 功能會把執行 ebuild 的 install 功能之後所建立的檔案 包成 RPM 套件。

原始碼 12: 建立套件

(建立 Portage 相容,已編譯好套件)
# ebuild path/to/ebuild package

(建立 RPM 套件)
# ebuild path/to/ebuild rpm

然而用此方式建立的 RPM 檔案並不包含 ebuild 的相依性相關訊息。

6.d. 更多資訊

要更多關於 Portage、ebuild 程式和 ebuild 檔案的資訊,請查閱下列 man page:

原始碼 13: Man pages

$ man portage    (Portage 本身)
$ man emerge     (emerge 命令)
$ man ebuild     (ebuild command)
$ man 5 ebuild   (The ebuild file syntax)

你也可以在 開發者手冊 找到更多有關開發的資訊

D. Gentoo 網路設定

1. 新手上路

1.a. Getting started

注意: 這篇文件假設你已成功的設定核心,和它的網路設備模組並且知道介面名稱. 我們並且假設你現在在設定eth0,但是也可以是eth1,wlan0,或其他.

注意: 這篇文章適用baselayout-1.11.11或更新的版本.

要開始設定你的網路卡,你需要告訴Gentoo RC系統相關的資訊. 做一個符號連結從 net.lonet.eth0/etc/init.d 目錄以完成這項動作

原始碼 1: 做一個符號連結從 net.eth0 到 net.lo

# cd /etc/init.d
# ln -s net.lo net.eth0

Gentoo's RC 系統現在知道這個介面了.它一樣也需要知道如何設定這個介面.所有的網路介面設定都在 /etc/conf.d/net這個檔案完成.接下來是一個用dhcp和靜態ip的範例設定.

原始碼 2: /etc/conf.d/net範例

# 使用 DHCP
config_eth0=( "dhcp" )

# 設定靜態 IP 使用 CIDR 標記法
config_eth0=( "192.168.0.7/24" )
routes_eth0=( "default via 192.168.0.1" )

# 設定靜態 IP 使用網路遮罩標記法
config_eth0=( "192.168.0.7 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.0.1" )

注意: 如果你沒有為你的接面設定的話,我們會假定你使用dhcp取得ip.

注意: CIDR 表示無階級跨網域路由 (Classless InterDomain Routing). 原來, IPv4 位址被分成 A, B, C三個等級. 早期的分類系統並沒有想像到 Internet 的巨大發展,就造成了獨立位址會被用光的危機. CIDR 是一個地址表示規格容許一個 IP 位址去表示很多 IP 位址. A CIDR IP 位址可以看起來很像一般的 IP 位址除了它結束的地方多了一個反斜線和一個數字; 一個範例,192.168.0.0/16. CIDR 的詳細描述在 RFC 1519.

現在我們已經完成設定這個介面,我們可以使用以下的命令來啟動和停止它.

原始碼 3: 啟動和停止網路介面

# /etc/init.d/net.eth0 start
# /etc/init.d/net.eth0 stop

重要: 在我們想要對網路除錯時,我們建議設定 RC_VERBOSE="yes"/etc/conf.d/rc 檔案,我們就可以得到關於發生什麼事情的更多資訊.

.現在我們已經成功開始和停止我們的網路介面,你也許會想要讓它在Gentoo啟動的時候也啟動. 下面就是做法.最後一個"rc" 命令叫 Gentoo 去啟動任何的程式在當時的runlevel還沒有啟動的.

原始碼 4: 設定一個網路介面在開機時啟動

# rc-update add net.eth0 default
# rc

本文关键:Gentoo Linux 2005.0 x86 手冊
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top