用pkgtools更新软件
2005-12-201.先从sysinstall或make install安装portupgrade,ports位置在/usr/ports/sysutils/portupgrade。
2.用CVSUP更新ports树。
3.在每次运行portupgrade之前运行pkgdb -F。
4.几个有用的参数:-a 全部安裝的 packages
-PP 堅持只用 package,不用 ports
-r 把 depends on given ports 的 packages 也一起更新,比如說 -r png-* 的話,會把需要 png 的 packages 一起更新
-R 把 given ports 需要的 packages 也一起更新,比如說 -R kde3 的話,會把其他 kde3-* 的一起更新
例如:
更新portupgrade portupgrade -rRPP portupgrade(不用指定版本号)
更新所有软件 portupgrade -arRPP
5.portinstall相当于portupgrade -N。
6.可以先用下载工具下载所要更新的软件最新版本,放到/usr/ports/packages/,这样portupgrade的时候会先从这里找,找不到才从网上找,下载后也是放在这里。
7.修改/usr/local/etc/pkgtools.conf,改变下载的路径和工具。找到这么两行:
# ENV['PKG_FETCH'] = "wget -O '%2$s' '%1$s'"
# ENV['PKG_FETCH'] = "curl '%s' -o '%s'"
如果要用这两个工具就去掉相应的注释。axel的语法为:
ENV['PKG_FETCH'] = "axel -o '%2$s' '%1$s'"
下面的这行
# ENV['PACKAGEROOT'] = 'ftp://ftpN.XX.FreeBSD.org'
用来改变ftp站点,可以改为"ftp://ftp.jp.FreeBSD.org"
在最后找到:
PKG_SITES = [
pkg_site_mirror(),
]
改为:
PKG_SITES = [
"http://pointyhat.freebsd.org/errorlogs/i386-6-packages-latest/",
]
http://pointyhat.freebsd.org/errorlogs/为FreeBSD官方的package列表。
8.可以用 portversion 取代 pkg_version 來檢查可以 upgrade 的 packages。portversion 用法跟他一樣,而且比較快。
9.有时候portversion显示的资料不准,就用portsdb -uU修复INDEX,时间在一个半小时左右。