如果想不自己编译,而是直接使用官方或别人预编译好的二进制包来安装。除了可以设置“PKG_PATH”变量后,用pkg_add直接安装外
还可通过pkgsrc和“make bin-install”命令来安装
在 mk.conf 增加如下以行内容
code:
BINPKG_SITES+=ftp://ftp.netbsd.org/pub/pkgsrc/packages-2006Q3/NetBSD-3.0/i386 # 等号后设置为任意的包含预编译好的包的网址。其中要含有“All”和其他等分类目录。如果有多个地址的话就用空格隔开
# Whitespace separated list of URLs for binary packages. Directories
# "All" etc. are expected in the named place, variables "rel" and
# "arch" are replaced with OS release ("1.5", ...) and architecture
# ("mipsel", ...)
# Possible: any ftp url, see above.
# Default:
ftp://ftp.NetBSD.org/pub/NetBSD/packages/$${rel}/$${arch}
然后在pkgsrc中的任一目录下执行
code:
make bin-install
命令后,系统即会从上面增加的制定地址下载对应的包并安装。如果在指定地址没有找到对应的包的话,系统就会下载源码并执行编译安装。此时就相当于执行了“make install”命令
例如,我要从官方提供的预编译包安装现成的cvsup
code:
cd /usr/pkgsrc/devel/cvsup-gui
make bin-install
系统会将其下载到/var/tmp目录下,并在安装完成后将其删除
如果想在安装时使用某些参数的话,就在 mk.conf 增加
code:
BIN_INSTALL_FLAGS=-vuu # 具体参数请参见“man pkg_add”命令。例如“-v”表示显示安装时的详细信息
# List of flags passed to pkg_add(8) in the bin_install package.
# Possible: -v, -u, etc. See pkg_add(8)
# Default: (no option)
另,因为官方提供的预编译包只是针对每一季度冻结并发布的pkgsrc-yyyyQx。所以你如果想用此法来进行安装的话,除了要按季度及时修改 “BINPKG_SITES”变量外(如果你不想升级到新版的话,当然不用这样做)。更重要的是你的pkgsrc不能跟随current升级,只能保持为和“BINPKG_SITES”变量所指定的packages时期相对应的pkgsrc版本。例如你“BINPKG_SITES”用了“2006Q3”的话,你的pkgsrc也就只能保持在“2006Q3”,不能为“2006Q2”之类,也不能同步到“current”
再废话一句,虽然packages往往针对某一发行版编译(例如,NetBSD-3.0),但是通常也可用在别的版本上。例如,我就曾在netbsd 3上使用过针对nb2编译的软件,同时现在也在4.99.x上使用3.0的预编译包,且没遇到异常问题