新闻中心

用cvsup同步源代码并更新系统

 我们随时都可以用cvsup与中央cvsup服务器,或它的某个镜像同步自己FreeBSD机器上的全部源代码。cvsup允许您一次获取整个源码集合,以后就只取更改过的部分。许多人从cron运行cvsup,以保持他们的源码自动更新。源代码更新包含两个部分,一是系统源代码,二是ports树的源代码。 
  对于系统源代码,CVS(并行版本控制系统)包含CURRENT版和STABLE版两个树。FreeBSD STABLE版系统源代码的 cvsup配置文件是/usr/share/examples/cvsup/stable-supfile,该文件默认是升级所有的系统源代码,一般情况只需改*default host项,让cvsup到离我们最近的cvsup镜像服务器下载源代码。ports树的源代码的cvsup配置文件是 /usr/share/examples/cvsup/ports-supfile,可根据自己的需要指定更新那些分支的源代码。ports树只有一个版本,不象系统源代码有CURRENT版和STABLE版之分。为了保证源码之间的依赖性最好采用src-all和ports-all方式更新所有源码。 
1. 复制配置文件到/etc目录(便于管理) 
# cp /usr/share/examples/cvsup/ports-supfile /etc 
# cp /usr/share/examples/cvsup/stable-supfile /etc 
# chmod 755 /etc/ports-supfile 
# chmod 755 /etc/stable-supfile 
注:chmod 数字前加0代表目录,不加0代表文件 
2. 编辑配置文件 
# vi /etc/stable-supfile 
------------------------------------------------- 
*default host=cvsup.FreeBSDchina.org 
*default base=/var/db 
*default prefix=/usr 
*default release=cvs tag=RELENG_5_3 
*default delete use-rel-suffix 
*default compress 
src-all 
------------------------------------------------- 
# vi /etc/ports-supfile 
------------------------------------------------- 
*default host=cvsup.FreeBSDChina.org 
*default base=/var/db 
*default prefix=/usr 
*default release=cvs tag=. 
*default delete use-rel-suffix 
*default compress 
ports-all 
------------------------------------------------- 
  
注: 
①default host= 
  用来指定离我们最近的cvsup镜像服务器 
②prefix=告诉 cvsup 
  把接收的文件放在哪里,一般在/usr/src目录里。 
③*default base=/var/dbCVSup 
  客户端在被叫做 “base” 的目录里维护了几个状态文件。这些文件帮助 CVSup 更有效的工作,通过跟踪您已经接收到哪些更新的方式。如果 base 目录不存在,cvsup 客户端会拒绝工作。 
④tag=用来指定版本含义如下: 
  tag=RELENG_3指定版本为:FreeBSD 3-STABLE 
  tag=RELENG_4指定版本为:FreeBSD 4-STABLE 
  tag=RELENG_5_3指定版本为:FreeBSD 5_3-STABLE 
⑤*default release=cvs delete use-rel-suffix compress 
  release=cvs 显示服务器应该从 FreeBSD 的主 CVS 仓库中获取信ⅰ? 
  delete 给 CVSup 权限删除文件。您应该总是指定它,这样 CVSup 可以保证您的源代码树完全更新。CVSup 很小心的只删除那些不再依赖的文件。您拥有的任何额外的文件会被严格的保留。 
  use-rel-suffix 是 ... 不可思议的。 如果您真的想了解它,查看 cvsup(1) 手册页。否则,就指定而不用担心这个。 
  compress 启用 gzip 风格的信道压缩。 
⑥CVSup 文件 collection 
  CVSup 可用的文件 collection 是分级组织的。有几个大的 collection,然后它们有分成更小的子 collection。接收一个大的 collection 等同于接收它的每一个子 collection。 collection 的等级关系在下面列表中通过缩进的使用反映出来。最常用的 collection 是 src-all,和 ports-all。其它的 collection 只被有着特定目的的小部分人使用,有些站点可能不全部支持。

香港云主机