FreeBSD pkgng 套件管理系統

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 裡面加入:

不過,在安裝軟體之前,先設定官方的套件庫,建立以下的檔案:

之後,你就可以下 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