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
#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