使用 FreeBSD 默认的 csh 替代 bas... 利用 FreeBSD 的 mergemaster(...
jul 31

如果你只有1、2台机器使用 FreeBSD ,你完全可以使用国内的 freebsdchina.org 的 CVSup 镜像服务器,相对来说,比较稳定,速度也不错;但如果你有十几台机器,甚至上百台机器运行着 FreeBSD ,每台机器都从远程抓取,不仅占用大量带宽,耗费的时间也非常可观了;对于吾等“懒惰者”来说,实在是无法忍受。那么,我们就想办法搭建自己的 CVSup 镜像服务器,节省外部流量,让我们的镜像服务器独自去等候,也独自去勤劳。

第一步,安装 CVSup Mirror 服务器软件:

cd /usr/ports/net/cvsup-mirror/
make

在执行 make 时它会问你许多问题,我们一个个的来回答它:

Master site for your updates [cvsup-master.freebsd.org]?

输入你的 CVSup mirror 的来源,也就是外部网的 cvsup 服务器,最好使用官方站点:cvsup.freebsd.org、cvsup2.freebsd.org,详情请参考 FreeBSD CVSup 文档。由于它是一个中转站,所以速度是否快不是很重要了。

How many hours between updates of your files [1]?

多久上外部的cvsup服务器更新一次。默认的一小时其实已经足够了。

Do you wish to mirror the main source repository [y]?

是否镜像源代码。src 是最该镜像的部分了,当然要 y 了。

Where would you like to put it [/home/ncvs]?

源代码存到哪里。我定位在 /export/cvsupmirror/ncvs 中,一定要找一个大的空闲分区,因为同步完需要占用不少空间。

Do you wish to mirror the installed World Wide Web data [y]?

是否镜像 FreeBSD 的 Web 站点。因为我只想要 Ports 和 src 的同步,所以选择不镜像。如果你的资源充足,你完全可以镜像后运行一个 www.freebsd.org 的镜像站点。

Do you wish to mirror the GNATS bug tracking database [y]?

是否镜像 GNATS 的 bug 跟踪数据库。对于更新来讲,这个不重要,建议选 n,因为实在不常用。

Do you wish to mirror the mailing list archive [y]?

是否镜像 mail list 的文章。建议选 n。

Unique unprivileged user ID for running the client [cvsupin]?
Unique unprivileged group ID for running the client [cvsupin]?
Unique unprivileged user ID for running the server [cvsup]?
Unique unprivileged group ID for running the server [cvsup]?

客户端、服务器使用的用户 ID、组 ID。使用默认的就行了。

Syslog facility for the server log [daemon]?

将服务器日志记入 Syslog 的设施。默认即可。

Maximum simultaneous client connections [8]?

最大的客户连接数。这个看你的内存、CPU 以及硬盘了。我通常设置为 20,是我本地更新机器的可能最大并发。

所有的问题回答完后输入:

make install clean

现在我们已经将 CVSup mirror 装入系统中了,同时它会加入新的用户帐户和用户组,同时在 crontab 中加入新的每小时的同步设置。

我们可以通过 /usr/local/etc/rc.d 中的 cvsupd.sh 来启动或停止 cvsup 服务器。可以通过编辑 /etc/crontab 中的 /usr/local/etc/cvsup/update.sh 命令执行时间设置来改变更新频率。最后,也是最重要的,通过执行 /usr/local/etc/cvsup/update.sh 来即时更新所有的 CVSup 服务器的内容。更新时的最新日志会记入 /var/log/cvsup.log 中,如果你的系统没有自动创建该文件,你创建一个空文件即可:

touch /var/log/cvsup.log

注:

  • 第一次进行 update 时需要很久的时间,会从服务器上更新下来很多东西,要有心理准备;
  • 如果你的 cvsup 客户端连接上来时报错,那么请检查更新完成了没有,解决办法很简单,接着 update,到全部全了为止;
dirk 发表于 2009-07-31 Friday


0 Responses to “搭建自己的 FreeBSD CVSup 镜像”

  1. No comments yet

Comment »