分类: BSD
2006-06-23 10:26:34
配置NetBSD的pkgsrc
pkgsrc的相关介绍
NetBSD有两种安装软件的方法:pkg_add(从二进制文件安装);pkgsrc(从软件包源码安装)这章主要对pkgsrc这种方法介绍。
Netbsd pkgsrc这种安装软件的方式是是从freebsd移植过来的。原文是这样介绍的(Both the NetBSD packages collection and the NetBSD package system are derived from FreeBSD. from /usr/pkgsrc/Packages.txt)
从pkgsrc安装软件也非常的简单。 只需要如下命令就可以完成几乎全部软件的安装。
make (下载并编译软件包)
make install (下载+编译+安装软件包)
make clean (移除在编译时产生的档案)
make clean-depends (如果一所些依存的 package 被安装,则此指令是必须的, 而在此例中并不需要。以下指令可以产生相同的结果)
make clean CLEANDEPENDS=1
安装pkgsrc
有两类方法构建在本地构建pkgsrc,第一类是下载pkgsrc.tar.gz在本地进行安装;第二类是通过网络同步得到。将在以下分别予以介绍。
第一种方法:从网上下载最新的源码直接构建
下载最新的 package 系统原始码,它包含所有必须的 makefile 和是设定档,从以下站台取得 :
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/. 要下载的档案是 pkgsrc.tar.gz。
移除现有的集合(如果你已经安装了),使用以下指令:
# cd /usr
# rm -rf pkgsrc
安装你所下载的集合:
tar -xzvpf pkgsrc.tar.gz -C /usr (将下载的pkgsrc.tar.gz解压到/usr下,这也是我们通常放置pkgsrc的地方)
这个指令会执行数分钟,因为有很大量的(小)档案被解压缩。 而后,你可以开始安装新的程式了。 我们会发现在/usr下多了一个目录pkgsrc,以后我们就可以通过这个目录里的文件进行软件安装了。
Note: 利用以上的指令,你已经安装了所需的设定档,已经可以自动地将程式安装到你的系统上:安装还未安装的程式!基本上, 系统现在已经有一堆有效的 package 和完整的结构,可以用来 进行下载,编译和安装的动作。
第二种方法:通过SUP(Software Update Protocol)同步得到:
sup -v /path/to/your/supfile
NetBSD在/usr/share/examples/supfiles
给了我们一些例子文件,可以参考使用。
cd /usr/share/examples/supfiles
ls
sup.au.netbsd.org sup.jp.netbsd.org sup.netbsd.org sup2.fr.netbsd.org
我们注意到这个目录下的文件是以sup服务器的域名命名的,这些文件的内容基本上是相同的只是差别sup服务器的地址上:
more sup.jp.netbsd.org
# $NetBSD: sup.jp.netbsd.org,v 1.5 2003/07/26 20:17:32 salo Exp $
#
# Example supfile for sup.jp.NetBSD.org.
#
current release=allsrc host=sup.jp.NetBSD.org \
base=/usr prefix=/usr backup use-rel-suffix compress
current release=doc host=sup.jp.NetBSD.org \
base=/usr prefix=/usr backup use-rel-suffix compress
current release=pkgsrc host=sup.jp.NetBSD.org \
base=/usr prefix=/usr backup use-rel-suffix compress delete
current release=xsrc host=sup.jp.NetBSD.org \
base=/usr prefix=/usr backup use-rel-suffix compress
我们发现里面有很多东西,不但有我们需要同步的pkgsrc
,还有同步
src
的,所以在这里可以根据自己的实际需要进行增减,只要在相应行加入“
#
”号就可将其注释掉,在这里我采用的是默认的配置文件,当然你也可以根据网络情况选择较快的
sup
服务器进行更新。
第三种方法:通过cvs服务器进行同步(这也是现今最常用的方法)
首先设置相关环境变量(分别给出了两类shell的设置方法)
C shell类的设置方法
setenv CVSROOT anoncvs@anoncvs.NetBSD.org:/cvsroot
setenv CVS_RSH ssh
B shell的设置方法
export CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot
export CVS_RSH=ssh
cd /usr
cvs checkout -P pkgsrc (在/usr目录下建立pkgsrc的目录及相关的原始文件)
以后更新pkgsrc:
cd /usr/pkgsrc
cvs -q update -dP
更新某一目录即进入相应得目录运行cvs -q update -dP
cd /usr/pkgsrc/path/to/;cvs -q update -dP