升級ports

2008年11月24日 星期一 0 意見
引用網頁

portupgrade-提供經由port或是packages來升級/安裝新的軟體
◎名稱
portupgrade - 提供經由port或是packages來升級/安裝新的軟體

◎實際舉例
o 升級glib:
portupgrade glib

如同你看到的,你可以忽略版本號碼。
若有安裝許多版本,則每一個版本都會被更新unless they share a port origin.

o 升級XFree86及Mesa,並採用-DWANT_GGI來編譯make Mesa:
portupgrade XFree86 -m '-DWANT_GGI' Mesa

o 升級所有GNOME的packages,並建立記錄檔案在/var/tmp/log.portname
portupgrade -L /var/tmp/log. '*gnome*'

o 採用verbose模式升級sawfish(X-window程式)及其相關連的程式,
並為之建立binary packages。
portupgrade -Rpv sawfish

o 升級glib及所有與其相關連的程式:
portupgrade -ri glib

o 重新建立或重新安裝所有與sdl相關連的程式,但不包含sdl本身:
portupgrade -rfx sdl sdl

o 重新建立或重新安裝所有早於2001-09-20安裝的程式:
portupgrade -f '<2001-09-20'

o 重新建立或重新安裝所有與png相關連且安裝時間早於png的程式:
portupgrade -fr png -x '>=png'

o 一次取得所有升級相關檔案,但是不做升級:
portupgrade -aFR

加上-R是必須的,因為有些程式會有相關連的問題。

o 採用ghostscript-afpl取代ghostscript-gnu:
portupgrade -o print/ghostscript-afpl ghostscript-gnu

所有原先與ghostscript-gnu相關連的程式,將會採用ghostscript-afpl取代之。

o 採用package的方式升級glib:
portupgrade -P glib

所謂採用packages的方式乃是說先找尋packages的方式升級。

o 用光碟片中的packages升級大量的程式,但在這之前,
想要先察看會有何改變:
env PKG_PATH=/mnt/cdrom/packages/All portupgrade -anPP
若您不想要安裝光碟片之外的任何packages,
您可以將 PKG_FETCH 設成其他的東西,像是``/bin/false''.

◎操作技巧
o 在升級過後,強烈建議執行 pkgdb -F 來修復程式間的關連性。

o 若要大量升級程式:
portupgrade -aPPR

o 在升級前,當您產生疑惑,請使用-n 及 -i 參數來觀察前後的改變,
或者使用pkg_glob 來觀看會產生作用的程式。

o 為了要有效率且正確的升級,記得執行pkgdb -F 來修補程式間的關連性,
並且當每次採用CVSup更新完port tree後,執行portsdb -Uu 來及時更新您的
port INDEX資料庫。

o 可以用portversion來確定可以獲得升級的程式而非先使用pkg_version。
portversion的用法和pkg_version大同小異,但portversion執行較快。

o 若要解除安裝packages,請給予pkg_deinstall一個機會,
而非直接使用 pkg_delete。
pkg_deinstall有pkg_delete的功效,
但加上了正確的反安裝及共享(程式庫)library的保留。

o 要清理擾人的檔案及編譯工作暫存資料夾或是老舊的共享程式庫
,可以使用portsclean。

o 可以使用portcvsweb 來察看某一個port的歷史演進及改變。
panda note:須裝設w3m lynx links mozilla netscape其中之一的瀏覽器
,或自訂也可。

觀看需要升級的ports

0 意見
pkg_version -v -L=
portversion -v -L=