[OpenBSD]

CVSync


目录


什么是 CVSync?

CVSync 是一个用于从远程服务器主机上 cvs(1) 版本库分发和更新版本库的软件包。OpenBSD 用位于加拿大的一个中心开发机器上的 CVS 版本库维护源代码。使用 CVSync 的 OpenBSD 用户可以容易的保证他们的版本库最新。

CVSync 使用所谓拉模型执行更新。在拉模型中,客户端在需要的时候, 询问服务器以获取更新数据。服务器被动的等待客户端发出更新请求, 因此所有更新由客户端发起,服务器不会主动发送更新数据。用户必须手工运行 CVSync 客户端获取更新数据,或者设置一个 cron(8) 任务定期自动运行。

术语 CVSync,大写指代整个软件包。 它的主要组件是运行在每个用户机器上的客户端软件 cvsync 和运行于每个 OpenBSD CVSync 镜像站点的服务器软件 cvsyncd

CVSync 被设计为比 sup(1)CVSup 更快速和灵活。

OpenBSD 项目当前有 6 个主要的版本库:

什么是 CVS?

CVS 是用来管理 OpenBSD 源代码的源代码控制系统。它在这里有更详细的描述。注意 CVS 和 CVSync 是完全不同的程序。尽管 CVS 可以用来访问远程文件, 但是它没有针对通过网络分发整个版本库优化,CVSync 为此提供了数量级上的优化。

开始使用 CVSync

如果你只关心运行 CVSync,建议你从 FTP 镜像站点下载软件包,而不是从 net/cvsync 构建它。

想进一步了解 CVSync,参见其 项目主页

为了使用 CVSync 镜像 OpenBSD 版本库,可以使用下述配置文件:

config {
    hostname cvsync.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
        errormode fixup
        umask 002
    }

    # collection {
    #     name openbsd-ports release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }

    # collection {
    #     name openbsd-src release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }

    # collection {
    #     name openbsd-xenocara release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }

    # collection {
    #     name openbsd-www release rcs
    #     prefix prefix /cvs
    #     errormode fixup
    #     umask 002
    # }
}

它告诉 cvsync 从 cvsync.de.openbsd.org 更新全部 OpenBSD 版本库,使用 umask(2) 设置同组用户有写本地版本库的权限。

假设该文件另存为 cvs-syncfile,可以用下面的命令调用 cvsync:

        cvsync -c cvs-syncfile

使用 CVS 操作你的版本库

现在你有了 CVS 版本库的本地副本,可以在本地象操作远程版本库一样操作, 例如检出、更新,或者其它的 CVS 操作。例如:

        cvs -d/cvs checkout src -P
        cvs -d/cvs up -Pd
        cvs -d/cvs diff -u file.c
关于 CVS 操作更详细的信息位于 FAQ5, 获取适当的源代码cvs(1) 手册页。

可用的 CVSync 服务器

下述 CVSync 服务器可用:

注意: 如果列在这里的你的服务器的信息不准确或者不清楚,请联系 beck@openbsd.orgnaddy@openbsd.org

你可能想用 traceroute(8) 来找出距离你最近的服务器。当发现服务器有问题请报告给我们的维护者

在2008年3月,CVS 版本库的大小是:

OpenBSD-ports - 340MB
OpenBSD-src - 1520MB
OpenBSD-www - 350MB
openbsd-xenocara - 590MB
OpenBSD-xf4 - 580MB
OpenBSD-x11 - 210MB
OpenBSD-cvsroot - 620MB

全部版本库的大小为 4.2GB,以每年 400MB 的速度增长。

重要说明: 有一些与加密软件相关的问题每个人都应该注意:

OpenBSD 项目正在寻求更多的 CVSync 服务器 -- 如果你有兴趣,请与 Christian Weisgerber 联系以获得详细的配置信息。


OpenBSD www@openbsd.org
$OpenBSD: cvsync.html,v 1.10 2008/11/26 08:25:03 tobias Exp $