FreeBSD 套件管理分為 ports 與 pkg,其中 ports 主要是包含軟體的原始碼,如果要安裝軟體需要從原始碼編譯,優點是可以更改一些編譯選項,自訂一些平常可能不會用到的設定。pkg 則是預先編譯好的軟體,直接下載回來就可以用。使用上其實不是相當方便,舉例來說相依性的問題要自己處理,雖然有像是 portmaster 之類的工具,但是比起 pacman、aptitude 之流,還是有一段距離。
pkgng 是 FreeBSD 下一代的套件管理系統(FreeBSD 10 的預設值),由現有的 pkg 轉移到 pkgng 十分簡單,官方什麼都想好了。
如果還沒有安裝 pkg,使用以下指令安裝:
# cd /usr/ports/ports-mgmt/pkg; make install clean
然後,用 # pkg2ng
將現有的 pkg 轉移到 pkgng 格式。
轉換好了之後,為了確定以後都使用 pkgng 的格式,在 /etc/make.conf
裡面加入:
WITH_PKGNG=YES
不過,在安裝軟體之前,先設定官方的套件庫,建立以下的檔案:
FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", mirror_type: "srv", enabled: yes }
之後,你就可以下 pkg install <軟體>
來安裝檔案了!
用 pkg
可以知道有哪些指令可以下,大致上都跟以前類似,例如 pkg_version -v
改成 pkg version -v
,還可以用 # pkgng audit -F
取代以前的 # portaudit -adF
來檢查現有的套件是否有安全性問題!
我的建議:如果要安裝預先編譯的 binary 套件,就使用 pkg 安裝,如果想要自訂編譯選項,就用 portmaster,也很方便!
舊的 pkg_* 工具會在 2014/09/01 正式停止支援。
參考資料
來,跟 pkg_ 說掰掰
http://www.freebsd.org/doc/handbook/pkgng-intro.html
http://lists.freebsd.org/pipermail/freebsd-pkg/2013-October/000107.html
https://wiki.freebsd.org/pkgng