📄 synching.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>Synchronizing Your Source</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD Handbook" href="index.html" /><link rel="UP" title="The Cutting Edge" href="cutting-edge.html" /><link rel="PREVIOUS" title="FreeBSD-CURRENT vs. FreeBSD-STABLE"href="current-stable.html" /><link rel="NEXT" title="Rebuilding world" href="makeworld.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD Handbook</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="current-stable.html"accesskey="P">Prev</a></td><td width="80%" align="center" valign="bottom">Chapter 19 The Cutting Edge</td><td width="10%" align="right" valign="bottom"><a href="makeworld.html"accesskey="N">Next</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="SYNCHING" name="SYNCHING">19.3 Synchronizing YourSource</a></h1><p>There are various ways of using an Internet (or email) connection to stay up-to-datewith any given area of the FreeBSD project sources, or all areas, depending on whatinterests you. The primary services we offer are <a href="anoncvs.html">AnonymousCVS</a>, <a href="cvsup.html">CVSup</a>, and <a href="ctm.html">CTM</a>.</p><div class="WARNING"><blockquote class="WARNING"><p><b>Warning:</b> While it is possible to update only parts of your source tree, theonly supported update procedure is to update the entire tree and recompile both userland(i.e., all the programs that run in user space, such as those in <ttclass="FILENAME">/bin</tt> and <tt class="FILENAME">/sbin</tt>) and kernel sources.Updating only part of your source tree, only the kernel, or only userland will oftenresult in problems. These problems may range from compile errors to kernel panics or datacorruption.</p></blockquote></div><p><b class="APPLICATION">Anonymous CVS</b> and <b class="APPLICATION">CVSup</b> use the<span class="emphasis"><i class="EMPHASIS">pull</i></span> model of updating sources. Inthe case of <b class="APPLICATION">CVSup</b> the user (or a <tt class="COMMAND">cron</tt>script) invokes the <tt class="COMMAND">cvsup</tt> program, and it interacts with a <ttclass="COMMAND">cvsupd</tt> server somewhere to bring your files up-to-date. The updatesyou receive are up-to-the-minute and you get them when, and only when, you want them. Youcan easily restrict your updates to the specific files or directories that are ofinterest to you. Updates are generated on the fly by the server, according to what youhave and what you want to have. <b class="APPLICATION">Anonymous CVS</b> is quite a bitmore simplistic than <b class="APPLICATION">CVSup</b> in that it is just an extension to<b class="APPLICATION">CVS</b> which allows it to pull changes directly from a remote CVSrepository. <b class="APPLICATION">CVSup</b> can do this far more efficiently, but <bclass="APPLICATION">Anonymous CVS</b> is easier to use.</p><p><b class="APPLICATION">CTM</b>, on the other hand, does not interactively compare thesources you have with those on the master archive or otherwise pull them across. Instead,a script which identifies changes in files since its previous run is executed severaltimes a day on the master CTM machine, any detected changes being compressed, stampedwith a sequence-number and encoded for transmission over email (in printable ASCII only).Once received, these ``CTM deltas'' can then be handed to the <ahref="http://www.FreeBSD.org/cgi/man.cgi?query=ctm_rmail&sektion=1"><spanclass="CITEREFENTRY"><span class="REFENTRYTITLE">ctm_rmail</span>(1)</span></a> utilitywhich will automatically decode, verify and apply the changes to the user's copy of thesources. This process is far more efficient than <b class="APPLICATION">CVSup</b>, andplaces less strain on our server resources since it is a <span class="emphasis"><iclass="EMPHASIS">push</i></span> rather than a <span class="emphasis"><iclass="EMPHASIS">pull</i></span> model.</p><p>There are other trade-offs, of course. If you inadvertently wipe out portions of yourarchive, <b class="APPLICATION">CVSup</b> will detect and rebuild the damaged portionsfor you. <b class="APPLICATION">CTM</b> will not do this, and if you wipe some portion ofyour source tree out (and do not have it backed up) then you will have to start fromscratch (from the most recent CVS ``base delta'') and rebuild it all with <bclass="APPLICATION">CTM</b> or, with <b class="APPLICATION">Anonymous CVS</b>, simplydelete the bad bits and resync.</p></div><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="current-stable.html"accesskey="P">Prev</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">Home</a></td><td width="33%" align="right" valign="top"><a href="makeworld.html"accesskey="N">Next</a></td></tr><tr><td width="33%" align="left" valign="top">FreeBSD-CURRENT vs. FreeBSD-STABLE</td><td width="34%" align="center" valign="top"><a href="cutting-edge.html"accesskey="U">Up</a></td><td width="33%" align="right" valign="top">Rebuilding ``world''</td></tr></table></div><p align="center"><small>This, and other documents, can be downloaded from <ahref="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/</a>.</small></p><p align="center"><small>For questions about FreeBSD, read the <ahref="http://www.FreeBSD.org/docs.html">documentation</a> before contacting <<ahref="mailto:questions@FreeBSD.org">questions@FreeBSD.org</a>>.<br />For questions about this documentation, e-mail <<ahref="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>>.</small></p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -