电脑技术学习

使用pkg_add -r packagename 必须要知道一个环境变量

dn001

  我们知道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更方便一些!2007.3.5

  ---------------

  2008.3.23

  这两个环境变量都很有用,一般情况下我们使用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到具体站点,看好了再设置。

标签: