Portage使用者使用指南(轉)

post0發表於2007-08-09
Portage使用者使用指南(轉)[@more@]

1 初步認識

取得最新的Portage軟體包列表

在你安裝了Gentoo Linux,使用了一段時間以後,發現一些軟體有著這樣那樣的bugs,覺得不滿意,或是想升級到最新的Gentoo Linux所帶的軟體包時,你需要下載我們的Portage樹。我提供了一些匿名的rsync伺服器以供您升級到最新的Portage樹。下面我將告訴您如何使用它。

使用以下命令同步更新你的Portage樹

程式碼:

#emerge rsync

請注意emerge rsync;命令會自動附帶—clean引數,清除你在/usr/portage裡做的個人設定。如果你想儲存你的主Portage樹個人設定不變的話,請使用PORTDIR_OVERLAY選項:

把下面一行加入/etc/make.conf

程式碼:

PORTDIR_OVERLAY="/dir/where/your/ebuilds/are"

如果你已經動手修改ebuilds,修正bugs。你可以考慮加入Gentoo Linux開發團隊,成為我們的一員。具體事項可以和Daniel Robbins或Seemant Kulleen聯絡。

升級Portage

在使用我們的Portage樹前,升級它是一件很重要的工作。你可以這麼做:

程式碼:

#emerge -up system *它會告訴你要升級哪些包

#emerge -u system *開始升級你的所需要的包

現在你的Portage升級到了最新版本,接下去你就可以隨心所欲用我們的ebuild系統升級你所需的軟體了。

2 emerge命令的介紹

emerge ?pretend

在安裝一個軟體包前,看看它和其他包的倚賴關係或哪些包會被升級是個不錯的主意。你可以使用emerge ?pretend或emerge -p命令來察看。

比如說:#

程式碼:

emerge -p xchat

These are the packages that I would merge, in order.

Calculating dependencies......... done!

[ebuild U] sys-libs/zlib-1.1.3-r2 to /

[ebuild U] dev-libs/glib-1.2.10 to /

[ebuild N ] media-libs/jpeg-6b-r2 to /

[ebuild N ] x11-base/xfree-4.0.3-r3 to /

[ebuild N ] x11-libs/gtk+-1.2.10-r1 to /

[ebuild N ] media-libs/giflib-4.1.0-r3 to /

[ebuild N ] media-libs/tiff-3.5.6_beta to /

[ebuild N ] media-libs/imlib-1.9.10 to /

[ebuild N ] net-irc/xchat-1.4.3 to /

如上所示,我們試著在一臺沒有安裝X的機器上emerge xchat.emerge ?pretend正確的列出了所必需滿足的倚賴關係。並明確的指出了sys-libs/zlib和dev-libs/glib需要升級,emerge xchat時,這些所倚賴的包(當然包括x11-base/xfree會被一同安裝。

USE和emerge

以上,我在一個/etc/make.conf檔案USE環境變數沒有定義gnome的系統上執行了emerge ?pretend命令。就是說GNOME支援是可選項,一般是不開啟的。那既然有這個選項,那我們就試著開啟它,在執行emerge ?pretend命令看看輸出有什麼不同。

程式碼:

# emerge -p xchat

These are the packages that I would merge, in order.

Calculating dependencies............................ done!

[ebuild N ] media-libs/jpeg-6b-r2 to /

[ebuild N ] gnome-base/libghttp-1.0.9 to /

[ebuild N ] media-libs/audiofile-0.2.1 to /

[ebuild N ] media-sound/esound-0.2.22-r2 to /

[ebuild N ] gnome-base/gnome-env-1.0 to /

[ebuild N ] gnome-base/libxml-1.8.11 to /

[ebuild N ] gnome-base/ORBit-0.5.8 to /

[ebuild N ] gnome-base/oaf-0.6.5 to /

[ebuild U] dev-libs/glib-1.2.10 to /

[ebuild N ] net-libs/libwww-5.3.2-r1 to /

[ebuild N ] media-libs/giflib-4.1.0-r3 to /

[ebuild N ] dev-util/guile-1.4-r3 to /

[ebuild U] sys-libs/zlib-1.1.3-r2 to /

[ebuild N ] x11-base/xfree-4.0.3-r3 to /

[ebuild N ] x11-libs/gtk+-1.2.10-r1 to /

[ebuild N ] media-libs/tiff-3.5.6_beta to /

[ebuild N ] media-libs/imlib-1.9.10 to /

[ebuild N ] gnome-base/gnome-libs-1.2.13 to /

[ebuild N ] gnome-base/glibwww-0.2-r1 to /

[ebuild N ] gnome-base/gdk-pixbuf-0.11.0 to /

[ebuild N ] gnome-base/gconf-1.0.0 to /

[ebuild N ] gnome-base/gnome-vfs-1.0.1 to /

[ebuild N ] gnome-base/control-center-1.4.0.1 to /

[ebuild N ] gnome-base/scrollkeeper-0.2 to /

[ebuild N ] dev-util/xml-i18n-tools-0.8.1 to /

[ebuild N ] gnome-base/libglade-0.16-r1 to /

[ebuild N ] gnome-base/gnome-core-1.4.0.4 to /

[ebuild N ] net-irc/xchat-1.4.3 to /

很清楚地,在USE變數中加入gnome,emerge很快的知道安裝xchat要加入對gnome的支援。當然為了GNOME選項的正確編譯和執行,GNOME必需被首先安裝,emerge會計算GNOME 安裝所倚賴的包,並從它的ebuild列表中加入。當USE變數設定錯誤的時候,emerge命令很可能無法正確執行。那也是我們為什麼建議在實際 emerge軟體包,特別是比較新的,自己不熟悉的ebuild前先用emerge ?pretend命令察看一下的原因。接下去,你該知道怎麼做了吧:)。 一切順利的話,你可以撇開--pretend選項emerge了。

程式碼:

#emerge xchat

等滿足了所有的倚賴關係(如果這種關係存在,不是所有的包都有這種倚賴關係。),接著xchat原始碼包會被下載(儲存到 /usr/portage/distfiles目錄),並在一個叫sandbox的零時目錄下校驗MD5,解壓,編譯和安裝。接著他們被合併到本地檔案系統,在/var/db/pkg/net-irc/xchat-1.4.3/CONTENTS目錄下建立該包的資料庫,包括所有安裝的包和它們的 md5sum。

3 升級軟體包

一般的我們升級一個軟體包所用到的命令包括

程式碼:

#emerge --update or emerge -u。

# emerge -u xchat

Portage使用一個被稱為“Safe”的umerge命令負責拆卸原來的檔案。如果一個檔案已經被手動覆蓋或改寫,它會先被從系統中移出,(也許,你已經安裝了新版本的軟體。)。如此一來,當你merge了新版本的xchat後umerge一箇舊的版本,xhchat可執行檔案不會被你的系統刪除,因為它已有了新的時間資訊和不同的md5sum。Safe unmerges 真得很棒,它可以在任何時候確認可用的軟體版本。如果你先執行了unmerge命令,那麼直到你下載安裝了新版本的xchat,它才可被繼續使用。

重點:

現在Portage加入了被稱為“配置檔案保護”的新特性。設計這個新特性的目的是為了防止新裝的軟體破壞原有的配置檔案。一般的,配置檔案保護特性預設在/etc和KDE配置目錄下開啟,將來會加入到更多其他的配置目錄中。詳情請執行emerge --help config命令察看。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-938656/,如需轉載,請註明出處,否則將追究法律責任。

相關文章