[華語, cmn-Hant-TW]
位置
所有 pkgsrc 的相關檔案,應該都會被放在這三個目錄下 (以預設值來講)
- /var/db/pkg (和 FreeBSD 的 ports 一樣,已安裝的套件會記錄於此)
- /usr/pkg (套件安裝的位置,就如同 fink 的 /sw 和 macports 的 /opt/local)
- /usr/pkgsrc (套件目錄,相當於 FreeBSD 的 /usr/ports)
/usr/pkgsrc 看你高興放哪就放哪邊, /usr/pkg 和 /var/db/pkg 的位置都可以在 /usr/pkg/etc/mk.conf 下指定
更新
如果需要更新套件目錄的話,可以用 cvs, cvsup 或是 csup,我個人是比較偏好用 csup 就是了。 要用 csup,就要先安裝 csup 套件
$ cd /usr/pkgsrc/net/csup
$ bmake install clean
安裝完之後,還要設定 supfile。 事實上 cvsup/csup 的設定檔是一樣的,如果要抓最新的 pkgsrc 可以先建立一個 pkgsrc.supfile,內容如下:
*default tag=.
*default release=cvs
*default delete use-rel-suffix
*default umask=002
*default host=cvsup.se.netbsd.org
*default base=/usr
*default prefix=/usr
netbsd-pkgsrc
然後用剛剛裝好的 csup 配合這個設定檔來更新即可: (假設你是把 pkgsrc.supfile 放在 /usr/sup 下)
/usr/pkg/bin/csup -g -L 1 /usr/sup/pkgsrc.supfile
為了方便起見,可以寫一個簡單的 shell script 來做這件事。 我在 FreeBSD 下是把這幾個 script/supfile 通通丟到 /usr/sup 下,不過其實放在哪邊都沒問題的,看個人方便了。
升級
如果要升級某些套件,直接用 bmake update 就可以重編成新版 (當然要用 pkg_delete/bmake install 也不是不行)。 要知道哪些套件需要更新的話,則可以用 pkgtools/pkg_chk。安裝好之後就只要直接執行
pkg_chk -u -q
就知道哪些套件有新版本了,而如果直接執行
pkg_chk -u
就通通升級完成了。
最後要提醒的是 pkgsrc 算是跨平台的套件管理系統,所以並不像 MacPorts 或 fink 和 Mac 系統整合的那麼好,像是一些原生的 Aqua 介面的程式就不用想在 pkgsrc 裡面可以找到了。 不過對於熟悉 FreeBSD ports 系統的人來講, pkgsrc 應該會讓你感到很親切吧。其實在 Mac 上這三個套件管理系統是可以並存的,有興趣的人可以通通裝起來玩看看,這樣就知道自己用哪套最順手了。