分类: BSD
2009-04-29 11:00:49
我们知道pkg_add是在freebsd里面用来通过package安装软件一个命令,而-r 则是说本地没有package包,安装时自动从网上下载。默认的站点一般如:
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.1-release/All/
这样的格式,访问国外的服务器一般比国内的要慢很多,特别是现在正值海底光纤就震断之际,国外网站更是难以访问。所以非常有必要修改这个默认ftp站点,所以就要设置PACKAGESITE这个环境变量,比如在csh shell里我是这样改的:
bsd#setenv PACKAGESITE ftp://ftp.freebsd.org.cn/pub/FreeBSD/ports/i386/packages-6.1-release/All/
注意在不同的shell里设置环境变量的方法是不同的,在不同的shell运行这个,不会提示错误,但设置后也没有效果的。
sh shell里用:
export PACKAGESITE=ftp://ftp.freebsd.org.cn /pub/FreeBSD/ports/i386/packages-6.1-release/All/
好了现在通过pkg_add -r 来安装软件下载快得多了!
实际上通过设置PACKAGEROOT=ftp://ftp.freebsd.org.cn更方便一些!
这两个环境变量都很有用,一般情况下我们使用PACKAGEROOT就行了。
但在有些情况下则可能要使用PACKAGESITE,比如:你升级一个release内核到stable,比如说现在的7.0 可是目前还没有package-7.0-stable这一个包的目录,现在你只能使用已经有的packages-7.0-release这一目录。由于你升级到了stable所以在设置PACKAGEROOT变量后再使用pkg_add -r 时会从: ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest 下载文件,而实际上这个目录实际不存在,所以我们是希望从:
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/i386/packages-7-release/Latest
这个目录下载。这时就不能用PACKAGEROOT,而应该使用PACKAGESITE了。
关于ftp里面目录的具体情况,可以ftp到具体站点,看好了再设置。