前篇提到了portupgrade的相關資訊,這次將介紹他的眾多參數。
參數
pkgname_glob 定義一個pkgname,可以包含萬用符號。 詳情請參考 pkg_glob(1)。 -h (--help) 顯示求助選單。 -a (--all) 表示所有已經安裝的軟體。 相當於pkgname_glob中的 '*' 。 -A CMD (--afterinstall CMD) 在每一個安裝完成後,以root身分執行某一命令。 -b (--backup-packages) 保留舊有版本的備份。 這些資料會暫時存放在PKG_TMPDIR 及 TMPDIR所定義的位置。 -B CMD (--beforebuild CMD) 與-A CMD 相反,在安裝每一個程式前,先執行該命令。若該命令執行失敗,則安裝會停止。 -c (--clean) 在每一次安裝前,先執行make clean。(預設值) -C (--cleanup) 在每一次安裝後執行make clean。(預設值) -D (--distclean) 在每次fetch或是build之前執行 make distclean。 -f (--force) 強制執行,即使是降級或是同一版本也強制安裝。 -F (--fetch-only) 只取得檔案或是packages但不做升級動作。 這個參數對於一次取得多數檔案很有用。 -g (--go-on) 繼續執行動作,即使某些相關的packages升級失敗。 預設的狀態中,若某package或是port升級失敗,其相關連性會被skipped。 -i (--interactive) 打開互動模式,portupgrade在進行重要步驟前會徵得您的同意‧ -l FILE (--log-results FILE) 將更新升級結果以FILE為檔名儲存‧ -L PREFIX (--log-prefix PREFIX) 將每一個port的建立、安裝記錄存為一個檔案, 而PREFIX則是存放的位置‧ -m (--make-args) 在每次make前加上額外的參數(arguments) -M (--make-env) 在每次make後加上額外的參數(arguments)‧ -n (--noexecute) 不實際執行安裝或升級動作‧ 只是顯示會有何改變‧ -N (--new) 當指定的package是尚未安裝的情況下,安裝該程式‧ 且其所需求的關連程式也會一併被安裝升級‧ -o ORIGIN (--origin ORIGIN) 定義某port再某package之後升級‧ -O (--omit-check) 忽略依存性的檢查‧ 預設的狀況下,會自動檢查程式間的依存性, 當然地,這個動作會花去額外的時間‧ 但,若您先前已經執行過pkgdb -F 命令, 您可以採用此參數忽略之‧ -p (--package) 為該安裝/升級的port,建立package‧ -P (--use-packages) 再採用port方式升級前,先採用packages的方式‧ -PP (--use-packages-only) 不管任何情況,只採用packages方式升級‧ -q (--no-config) 使portupgrade不去讀取設定檔$PREFIX/etc/pkgtools.conf‧ -r (--recursive) 依據指定的程式(packages)來升級與其相依存的程式‧ -R (--upward-recursive) 依據指定的程式(packages)來升級其所依存的程式‧ -s (--sudo) 在必要的情況下,以sudo狀態執行命令‧ -S CMD (--sudo-command CMD) 加上sudo的命令 -u (--uninstall-shlibs) 不保留舊有的共享函式庫‧ 在預設的情況下是保留以策安全‧ -v (--verbose) 開啟 verbose 輸出‧ -w (--noclean) 在每一次編譯前,不要執行make clean‧ -W (--nocleanup) 在每一次的編譯後不要執行make clean‧ -x GLOB (--exclude GLOB) 將符合樣式的packages排除在昇級更新之外‧ ex:昇級所有與XFree86相依存的程式,除了XFree86之外‧ portupgrade -rx XFree86 XFree86 -y (--yes) 任何回答都回應yes‧
To be continued…