CVSync是一个用于从远程服务器主机上的主 cvs(1)库分发和更新源码树的软件包.OpenBSD源码的维护,用的是位于加拿大的一个中心开发机器上的CVS库.通过使用CVSync,OpenBSD用户可以很简单的让他们自己的源码树保持最新.
CVSync使用所谓拉模式的更新方式.在拉模式作用下,客户在需要的时候,询问服务器以获取更新.服务器被动的等待它的客户发出更新请求.因而,所有等更新由客户端发起,服务器从不主动发送更新请求.用户必须手动运行CVSync 客户端来获取更新,或者设置一个cron(8) 作业定期自动运行.
术语CVSync,大写表示,指代整个软件包.它的主要组件是运行于客户端机器的cvsync,还有运行在每个OpenBSD CVSync镜像站点的服务器端 cvsyncd.
CVSync 被设计为比sup(1) 和CVSup更快速和灵活.
OpenBSD项目当前有五个主要的源码库:
CVS是用于管理OpenBSD源码树的源码控制系统.详细说明请参考这里.注意CVS和CVSync是完全不同的程序. 尽管CVS可被用作远程文件访问,但没有对大规模的网络源码发布作优化,而CVSync对完成这样的任务更有效.
如果你只是担心如何运行CVSync,推荐你从ftp mirror sites下载cvsync包,而不是自行从net/cvsync port来build.
想进一步了解CVSync,请访问project homepage.
为了使用CVSync镜像OpenBSD库.可能要用到如下的配置文件:
config {
hostname anoncvs.de.openbsd.org
# If your network link is a T1 or faster, comment out the following line.
compress
collection {
name openbsd release rcs
prefix /cvs
umask 002
}
}
该文件告诉cvsync去anoncvs.de.openbsd.org 刷新所有的OpenBSD发布,这里本地库所在目录的umask(2) 要允许组具有写权限.
假设该文件另存为cvs-syncfile,用下面的命令调用cvsync
cvsync -c cvs-syncfile
check out任何其中一个CVSync库很简单了,对Korn/Bourne shells:
# cd /usr
# CVSROOT=/cvs cvs checkout src
上述操作将check out最新的源码树.很多人只想要release源码,特别是你在patch你的系统的时候.为了checkout release源码,你必须在你的命令行指定一个标签,例如:
# cd /usr
# cvs checkout -rOPENBSD_3_5 src
对3.4,用OPENBSD_3_4等等.
下列CVSync服务器可用:
说明: 如果你列在这里的服务器信息不准确或者不完全,请联系beck@openbsd.org 或naddy@openbsd.org
你可能想用traceroute(8)来找出距离你最近的服务器.若发现服务器的问题请报告给我们的维护人员.
当前(截止 August 21, 2006),CVS库大小为:
| openbsd-ports | - 222MB | |
| openbsd-src | - 1396MB | |
| openbsd-www | - 247MB | |
| openbsd-x11 | - 200MB | |
| openbsd-xf4 | - 562MB | |
| openbsd-cvsroot | - 408MB |
这个库的大小现在以大约每年400MB的速率增长.
重要说明:有一些与密码学软件相关的问题每个人都应该注意的:
源码出自加拿大. 参看调查研究 researched by a Canadian individual ,以及根据 described in the Export Control list of Canada, 从加拿大往世界各地输出密码学软件是合法的.
然后,如果你不在美国或者加拿大,你不应该从防止在美国的匿名CVS服务器上获取OpenBSD源码的密码学部分. 可能的文件有...
由于 USA ITAR munitions list,加密软件只能从美国输出到加拿大.
OpenBSD计划在寻求更多的CVSync服务器--如果你感兴趣,请联系Christian Weisgerber了解配置细节.