- 論壇徽章:
- 0
|
原文:
http://www.onlamp.com/pub/a/bsd/200...ics.html?page=1
作者:Dru Lavigne
翻譯:rainren
本人能力有限, 很多地方自我感覺都翻譯的不對(duì), 請(qǐng)大家指出, 我慢慢修改。
在上一篇文章中我們介紹了用一些工具去管理FreeBSD ports collections.在這一篇中, 我們還將繼續(xù)上面的主題,讓我們來看看portupgrade, 一個(gè)非常有用的工具。
Installing portupgrade
使用ports安裝:
# cd /usr/ports/sysutils/portupgrade
# make install clean
它將安裝超過十個(gè)有用的工具, 你可以使用我們上一篇中介紹的一個(gè)小技巧來查看安裝了些什么東西:pkg_info –xL portupgrade
現(xiàn)在我們不去管那些man pages, 在下面的文章中我們將告訴你如何有效的使用它們。
First, 我們來看看安裝在你系統(tǒng)上的ports的結(jié)構(gòu), 及如何去升級(jí)它。
在
你安裝FreeBSD時(shí),選擇了安裝ports后,
/usr/ports和它下面的子目錄將會(huì)安裝。在/usr/ports下,你將會(huì)看到很多分類的子目錄。如:www, mail,
databases. 在這些子目錄下包含了可在FreeBSD下使用的程序子目錄。如:www下有mozilla, lynx,
在這些應(yīng)用程序子目錄下包含了詳細(xì)的安裝說明。
Ports 要經(jīng)常升級(jí), 通常每天都有新ports加入, 你將會(huì)發(fā)現(xiàn)這是一個(gè)非常有用的資源。
Syncing Your Ports Tree (同步你的ports tree)
我時(shí)常使用cvsup來升級(jí)我的ports tree. 如果你沒用過它, 你應(yīng)該去查看一下如何使用cvsup , 在 FreeBSD Handbook里有一個(gè)非常詳細(xì)使用說明。
# cd /usr/ports/net/cvsup-without-gui
# make install clean
cvsup時(shí)常用來升級(jí)你的系統(tǒng)和系統(tǒng)上的ports tree. 如果你只對(duì)升級(jí)ports tree感興趣,下面文件可以做這項(xiàng)工作:
# cat cvsup-supfile
*default host=cvsup.freebsdchina.org
*default base=/usr
*default prefix=/usr
*default release=cvs delete use-rel-suffix compress
ports-all tag=.
這個(gè)命令升級(jí)ports tree
# cvsup –g –L 2 cvsup-supfile
這個(gè)命令將下載服務(wù)器上的文件并將它們加入到你的ports tree中,這是一個(gè)非常有用的工作,你應(yīng)該將它加入你的cron job, 讓系統(tǒng)每天執(zhí)行它。
cvsup 同樣會(huì)升級(jí)你的/usr/ports/INDEX, 這個(gè)文件是你的ports tree的一個(gè)列表。你可以查看它了解你是在什么時(shí)間升級(jí)過它。
# ls –l /usr/ports/INDEX
Upgrading the Ports Database
現(xiàn)在, 我們使用cvsup 升級(jí)了 ports tree后需要使用這個(gè)命令來建立一個(gè)ports數(shù)據(jù)庫(kù):
# portsdb –uU
當(dāng)
你第一次使用這個(gè)命令時(shí), 有一個(gè)數(shù)據(jù)庫(kù)INDEX.db將在/usr/ports下建立,每次使用完cvsup ports
tree后,你都需要使用portsdb來升級(jí)你的INDEX.db 。你不能使用file unility來訪問INDEX.db,
因?yàn)檫@不是一個(gè)ASCII類型的文件。
當(dāng)然, 有幾個(gè)portupgrade工具將使用這個(gè)數(shù)據(jù)庫(kù), Btree涉及一個(gè)數(shù)據(jù)庫(kù)算法,它用來在大型數(shù)據(jù)庫(kù)進(jìn)行快速查找。我們將看到一些portupgrade工具將很快速的找出信息,因?yàn)樗褂玫木褪荁tree.
你將需要一點(diǎn)耐心去等待portsdb運(yùn)行, 當(dāng)它運(yùn)行完成, 你就可以使用portversion來查看你已安裝的軟件是否需要升級(jí),記住這個(gè)命令:
# portversion –l “ Session started at: Sun, 17 Aug 2003 22:06:00 -0400
---> Reporting the results (+:done / -:ignored / *:skipped / !:failed)
- lang/ruby16 (ruby-1.6.8.2003.04.19)
- net/cvsup-without-gui (cvsup-without-gui-16.1h)
+ lang/ruby16-shim-ruby18 (ruby-shim-ruby18-1.8.0.p2.2003.04.19)
+ databases/ruby-bdb1 (ruby-bdb1-0.1.9)
- sysutils/portupgrade (portupgrade-20030723)
- www/lynx (lynx-2.8.4.1d)
---> Session ended at: Sun, 17 Aug 2003 22:06:02 -0400 (consumed 00:00:02)
讓
我們來看看上面的輸出。Portupgrade 進(jìn)入已安裝軟件的ports目錄中, 并將結(jié)果寫入一個(gè)報(bào)告(report).
每一行報(bào)告顯示了ports的目錄, 安裝的軟件版本, 和一個(gè)是否需要升級(jí)的符號(hào)提示。這里有兩個(gè)軟件需要升級(jí)。它們的開頭是以 +
開始。如果我與使用portversion查看相比較,我看到的是同樣的結(jié)果, 但以不同的方式表示出來!
# portversion -l " Upgrading 'ruby-bdb1-0.1.9' to 'ruby-bdb1-0.2.1'
(databases/ruby/bdb1)
OK? [yes]
這將使用yes作為默認(rèn)的回答, 也就是說你按Enter時(shí), 你的回答是yes. 如果你覺得不升級(jí)這個(gè)ports,輸入no.
最后一個(gè)參數(shù)是l, 或 log。 當(dāng)某個(gè)ports不能安裝軟件而你想把錯(cuò)誤信息發(fā)送給某人時(shí)使用它。如下面所示:
# portupgrade -rR ruby-shim-ruby18 -l logfile
你可能不想使用l , a 選項(xiàng), 特別是當(dāng)你有什么軟件需要升級(jí)的時(shí)候。沒有誰愿意要那么大的log file.
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u3/91935/showart_2043792.html |
|