FreeBSD更新 Port Tree


    为了使我们安装的软件是最新的版本,我们有必要定期更新Port Tree,所谓的更新port就是更新patches 。
    1,CVSup/csup
    注意: csup 是用 C 语言对 CVSup 软件的重写, 在 FreeBSD 6.2 和更高版本中,作为系统的一部分提供。
    在首次运行 CVSup 之前, 务必确认 /usr/ports 是空的! 如果您之前已经用其他地方安装了一份 Ports 套件,则 CVSup 可能不会自动删除已经在上游服务器上删除掉的补丁文件。首先安裝 cvsup-without-gui-16.1h 这个 package,你可以选用 ports 安裝,或是用 package 裝. CHANGE_THIS.FreeBSD.org 修改成离您较近的 CVSup 服务器。
    #cp /usr/share/examples/cvsup/ports-supfile ~/
    #ee ~/ports-supfile
    修改:
    *default host=Change_this.freebsd.org #告诉 cvsup 从哪里获取更新(将Change_this.freebsd.org改为自己认为最快的服务器就可以了)
    *default base=/var/db # cvsup支持文件的位置
    *default prefix=/usr # 文件放到哪里
    *default releases=cvs tag=. # FreeBSD-CURRENT(branch=.,即HEAD)
    *default delete use-rel-suffix # 删除cvsup创建的,业已在cvs中删除掉的文件
    src-all # 全部FreeBSD源代码
    ports-all tag=. # 全部的ports。这里的tag=.用于取代默认的branch。如果使用RELENG_4请务必保留tag=. !!
    更新:
    # cvsup -L 2 /root/ports-supfile
    多加的参数意思是:
    如果您没有运行 X11 或者不喜欢 GUI, 当您运行 cvsup 的时候需要在命令行添加 两个选项:
    # cvsup -g -L 2 supfile
    -g 告诉 CVSup 不要使用 GUI。如果您 没在运行 X11 这个是自动的,否则您必须指定它。
    -L 2 告诉 CVSup 输出所有正在升级的文件的细节。 有三个等级可以选择,从 -L 0 到 -L 2。默认是 0,意味着除了错误消息 什么都不输出。
    -s 要求 cvsup 进行增量同步,以减少网路压力,所以第一次进行时不能加哪!
    特点:老牌的更新方法,历史悠久,还可以用来更新source,第一次所耗费时间比较长,大概要十几分钟.以后如果及时更新(比如在cron里设置每小时同步一次),大概只需要2分钟左右.
    2.下载ports.tar.gz后解压缩
    #fetch ftp://ftp4.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz
    #tar -zxvf ports.tar.gz -C /usr/
    特点:也是老牌的方法,比第一中方法要快些,不过往往不最新的(相对来说)
    现在ports.tar.gz大小约为37MB,我用最快的镜像下载需要:
    Downloaded 36.6 megabytes in 3:02 seconds. (205.96 KB/s)
    解压缩需要3分20秒,合计:7分钟左右
    3.Portsnap
    Portsnap 是另一种用于发布 Ports 套件的方法。 它最早从 FreeBSD 6.0 开始引入。 在较早的系统中, 您可以通过 ports-mgmt/portsnap package 来安装它.
    首次运行 Portsnap
    # portsnap fetch
    # portsnap extract
    更新 Ports Tree
    # portsnap fetch update
    修改镜像站点:
    #ee /etc/portsnap.conf
    SERVERNAME=portsnap.tw.FreeBSD.org
    特点:是近几年新推出的方法,首次下载尺寸大约是 47 MB,速度很不理想,只有20Kb/s左右,如果你每天
    及时更新的话,需要的时间最短,一但更新不及时,累积下来就没有速度上的优势了.
    CVS列表:
    cvsup.cn.FreeBSD.org
    cvsup2.cn.FreeBSD.org
    cvsup3.cn.FreeBSD.org
    cvsup4.cn.FreeBSD.org
    cvsup5.cn.FreeBSD.org
    cvsup.tw.FreeBSD.org
    cvsup3.tw.FreeBSD.org
    cvsup4.tw.FreeBSD.org
    cvsup5.tw.FreeBSD.org
    cvsup6.tw.FreeBSD.org
    cvsup7.tw.FreeBSD.org
    cvsup8.tw.FreeBSD.org
    cvsup9.tw.FreeBSD.org
    cvsup10.tw.FreeBSD.org
    cvsup11.tw.FreeBSD.org
    cvsup12.tw.FreeBSD.org
    cvsup13.tw.FreeBSD.org