FreeBSD 使用新的 pkgng 套件管理系統

pkgng 意思是 Next Generation (下一代)的套件管理系統,將用來取代原有的 pkg_* 系列指令。
主要的指令只有一個,就是 pkg。

新的 FreeBSD 將會預設使用 pkgng 來運作,所以是時候來練習一下了。
要在現有的 8.x 或 9.x 使用的話,步驟如下:

  • 安裝 ports-mgmt/pkg
  • 執行 pkg2ng 進行轉換
  • 增加 WITH_PKGNG=yes 到 /etc/make.conf
  • 設定 repository,在 /usr/local/etc/pkg/repos/FreeBSD.conf 加入以下內容:

這樣就可以了。

pkgng 依然與原有的 pkg_* 系列指令保有很好的相容性,只要將原有指令的底線拿掉就可以了。
例如 pkg_version -v 現在可以用 pkg version -v 來取代,其它依此類推。

試用了一下以後,覺得這個新系統用起來很方便,也改進了一些小缺點,例如剛安裝完新的東西不用再 rehash 就能用了。
因為是直接安裝編譯好的 binary 檔,所以速度也很不錯。當然要用 ports 依然是可以的,沒有問題。

不過新系統還是有些需要注意的地方,原本在 ports config 裡面設定的選項可能會壞掉。例如 php 如果要安裝 apache module,就需要另外安裝 mod_php5,直接使用 pkg upgrade 會把原本的 php module 給刪掉,造成 apache 無法啟動。另外 svn 附帶的 mod_dav_svn 則是只能由 ports 來安裝編譯,目前(2014/4/15)還沒有找到 pkgng 相對應的安裝方法。

詳細的指令用法可以參考 https://wiki.freebsd.org/pkgng#the_pkg_command

發佈留言