发新话题
打印

用pkgsrc直接安装二进制包

用pkgsrc直接安装二进制包

如果想不自己编译,而是直接使用官方或别人预编译好的二进制包来安装。除了可以设置“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的预编译包,且没遇到异常问题

TOP

发新话题