[BACK]Return to mirror.html CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / htdocs / docs

Annotation of htdocs/docs/mirror.html, Revision 1.39

1.22      jym         1: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
1.1       dsieger     2: <html>
                      3: <head>
                      4: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
                      5: <meta name="generator" content="Website XSL Stylesheet V2.6.0">
                      6: <link rel="home" href="../." title="Welcome to The NetBSD Project: Of course it runs NetBSD.">
                      7: <link rel="up" href="../docs/." title="NetBSD Documentation">
                      8: <link rel="previous" href="../docs/kernel/." title="NetBSD Documentation: Kernel">
                      9: <link rel="next" href="../docs/misc/." title="NetBSD Documentation: Other FAQs and HOWTOs">
                     10: <link rel="first" href="../docs/Hardware/." title="Hardware Documentation">
                     11: <link rel="last" href="../docs/x/." title="NetBSD Documentation: The X Window System">
1.10      dsieger    12: <link rel="stylesheet" href="../global.css" type="text/css">
1.1       dsieger    13:
                     14:
                     15:
                     16:
1.17      mbalmer    17:
1.1       dsieger    18:     <title>NetBSD Mirror FAQ</title>
                     19:   </head>
                     20: <body class="website"><div class="webpage">
1.3       dsieger    21: <a name="docs-mirror"></a><div id="top"><a href="#mainContent" class="doNotDisplay doNotPrint">Skip to main content.</a></div>
1.22      jym        22: <div id="centralHeader">
1.24      jym        23: <div id="logo">
1.26      jym        24: <a href="../"><img alt="[NetBSD Logo]" src="../images/NetBSD-smaller.png"></a><div id="name"><a href="../">
1.24      jym        25:          The NetBSD Project
1.26      jym        26:        </a></div>
                     27: <div id="slogan"><a href="../">
1.24      jym        28:          &#8220;Of course it runs NetBSD&#8221;
1.26      jym        29:        </a></div>
1.24      jym        30: </div>
                     31: <div id="headerTools">
1.22      jym        32: <div id="header-cse-search-form">Google custom search</div>
1.18      spz        33: <script src="http://www.google.com/jsapi" type="text/javascript"></script><script type="text/javascript">
                     34:                  google.load('search', '1', {language : 'en'});
                     35:                  google.setOnLoadCallback(function() {
                     36:                    var header_customSearchControl = new google.search.CustomSearchControl('006277936787196004968:mbdhrauy1wm');
                     37:                    header_customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
                     38:                    var header_options = new google.search.DrawOptions();
                     39:                    header_options.enableSearchboxOnly("http://google.com/cse?cx=006277936787196004968:mbdhrauy1wm");
                     40:                    header_customSearchControl.draw('header-cse-search-form', header_options);
                     41:                  }, true);
1.22      jym        42:                </script>
                     43: </div>
1.3       dsieger    44: </div>
1.22      jym        45: <div id="navBar" role="navigation">
1.6       dsieger    46: <span class="doNotDisplay">
                     47:          Navigation:
1.22      jym        48:        </span><ul>
                     49: <li><a href="../">
                     50:          Home</a></li>
                     51: <li>
                     52: <a href="../">
1.25      wiz        53:          News &amp; Media</a><ul>
1.22      jym        54: <li><a href="../changes/">
                     55:            Recent changes</a></li>
1.23      jym        56: <li><a href="http://blog.NetBSD.org/">
1.22      jym        57:            NetBSD blog</a></li>
                     58: <li><a href="../gallery/events.html">
                     59:            Events</a></li>
                     60: <li><a href="../changes/rss.html">
                     61:            Feeds</a></li>
                     62: </ul>
                     63: </li>
                     64: <li>
                     65: <a href="../about/">
                     66:          About</a><ul>
                     67: <li><a href="../about/">
                     68:            NetBSD</a></li>
                     69: <li><a href="../foundation/">
                     70:            The NetBSD Foundation</a></li>
                     71: <li><a href="../gallery/">
                     72:            Advocacy</a></li>
                     73: </ul>
                     74: </li>
                     75: <li>
                     76: <a href="../docs/">
                     77:          Documentation</a><ul>
                     78: <li><a href="../docs/misc/index.html">
                     79:            FAQ &amp; HOWTOs</a></li>
                     80: <li><a href="../docs/guide/en/">
                     81:            The Guide</a></li>
1.23      jym        82: <li><a href="http://man.NetBSD.org/">
1.22      jym        83:            Manual pages</a></li>
1.23      jym        84: <li><a href="http://wiki.NetBSD.org/">
1.22      jym        85:            Wiki</a></li>
                     86: </ul>
                     87: </li>
                     88: <li>
                     89: <a href="../support/">
                     90:          Support</a><ul>
                     91: <li><a href="../support/send-pr.html">
                     92:            Problem report guide</a></li>
                     93: <li><a href="../cgi-bin/sendpr.cgi?gndb=netbsd">
                     94:            Report a bug</a></li>
                     95: <li><a href="../support/query-pr.html">
                     96:            Query bug database</a></li>
                     97: <li><a href="../support/security/">
                     98:            Security</a></li>
                     99: </ul>
                    100: </li>
                    101: <li>
                    102: <a href="../community/">
                    103:          Community</a><ul>
1.30      mspo      104: <li><a href="http://netbsd.fi/">
1.22      jym       105:            Blogs</a></li>
                    106: <li><a href="../mailinglists/">
                    107:            Mailing lists</a></li>
1.23      jym       108: <li><a href="http://mail-index.NetBSD.org/">
1.22      jym       109:            List archives</a></li>
                    110: </ul>
                    111: </li>
                    112: <li>
                    113: <a href="../developers/">
                    114:          Developers</a><ul>
1.23      jym       115: <li><a href="http://cvsweb.NetBSD.org/">
1.22      jym       116:            Browse source</a></li>
1.23      jym       117: <li><a href="http://nxr.NetBSD.org/">
1.22      jym       118:            Cross-reference</a></li>
1.23      jym       119: <li><a href="http://releng.NetBSD.org/">
1.22      jym       120:            Release engineering</a></li>
1.23      jym       121: <li><a href="http://wiki.NetBSD.org/projects/">
1.22      jym       122:            Projects list</a></li>
                    123: </ul>
                    124: </li>
                    125: <li>
                    126: <a href="../ports/">
                    127:          Ports</a><ul>
                    128: <li><a href="../ports/history.html">
                    129:            History</a></li>
                    130: <li><a href="../ports/emulators.html">
                    131:            Emulators</a></li>
                    132: </ul>
                    133: </li>
                    134: <li>
                    135: <a href="http://www.pkgsrc.org/">
                    136:          Packages</a><ul>
                    137: <li><a href="http://www.pkgsrc.se/">
                    138:            Browse packages</a></li>
1.23      jym       139: <li><a href="http://releng.NetBSD.org/index-pkgsrc.html">
1.22      jym       140:            Release engineering</a></li>
                    141: </ul>
                    142: </li>
                    143: </ul>
1.3       dsieger   144: </div>
                    145: <div id="content"><div class="fullWidth"><div class="rowOfBoxes">
                    146: <h1>NetBSD Mirror FAQ</h1>
1.1       dsieger   147: <h3 class="title"><a name="ftp-mirror">FTP and ISO Mirror FAQ</a></h3>
                    148: <ul>
                    149: <li><a href="#ftp-overview">Overview for setting up a NetBSD FTP/ISO Mirror</a></li>
                    150: <li><a href="#ftp-diskspace">How much disk space is needed for an FTP/ISO mirror?</a></li>
                    151: <li><a href="#ftp-bandwidth">How much bandwidth does offering an FTP/ISO mirror require?</a></li>
                    152: <li><a href="#ftp-retrieve-sync">Retrieving/Syncing a copy of the NetBSD FTP site
                    153:          and ISO images area</a></li>
                    154: <li><a href="#ftp-notes">Notes about a NetBSD FTP/ISO mirror</a></li>
                    155: <li><a href="#ftp-outage">Where should an outage be announced</a></li>
                    156: <li><a href="#ftp-contactinfo">Contact information format for FTP/ISO mirrors</a></li>
                    157: <li><a href="#ftp-cname">How to get (ftp|iso).country-code.NetBSD.org</a></li>
                    158: <li><a href="#ftp-teardown">If you can no longer provide a FTP/ISO mirror</a></li>
                    159: </ul>
                    160: <h3 class="title"><a name="bitorrent">BitTorrent Mirror FAQ</a></h3>
                    161: <ul>
                    162: <li><a href="#bittorrent-what">Bit-what?</a></li>
                    163: <li><a href="#bittorrent-overview">Overview for setting up a NetBSD Bittorrent Mirror</a></li>
                    164: <li><a href="#bittorrent-contactinfo">Contact information format for BitTorrent mirrors</a></li>
                    165: </ul>
                    166: <h3 class="title"><a name="www">WWW Mirror FAQ</a></h3>
                    167: <ul>
                    168: <li><a href="#www-overview">Overview for setting up a NetBSD WWW Mirror</a></li>
                    169: <li><a href="#www-diskspace">How much disk space is needed for a WWW mirror?</a></li>
                    170: <li><a href="#www-retrieve">Retrieving a copy of the NetBSD WWW site</a></li>
                    171: <li><a href="#www-sync">Syncing the NetBSD WWW site contents</a></li>
                    172: <li><a href="#www-fetch">What is the purpose of htdocs/mirrors/fetch.html</a></li>
                    173: <li><a href="#www-http-1.0">Ensuring HTTP/1.0 clients get the right page</a></li>
                    174: <li><a href="#www-contactinfo">Contact information format for WWW mirrors</a></li>
                    175: <li><a href="#www-cname">How to get www.country-code.NetBSD.org</a></li>
                    176: <li><a href="#www-teardown">If you can no longer provide a WWW mirror</a></li>
                    177: </ul>
                    178: <h3 class="title"><a name="cvsweb">CVSweb Mirror FAQ</a></h3>
                    179: <ul>
                    180: <li><a href="#cvsweb-overview">Overview for setting up a NetBSD CVSweb Mirror</a></li>
                    181: <li><a href="#cvsweb-diskspace">How much disk space is needed for a CVSweb mirror?</a></li>
                    182: <li><a href="#cvsweb-retrieve">Retrieving a copy of the NetBSD CVS tree</a></li>
                    183: <li><a href="#cvsweb-sync">Syncing the NetBSD CVS tree contents</a></li>
                    184: <li><a href="#cvsweb-cgi">How to setup the cvsweb CGI script</a></li>
                    185: <li><a href="#cvsweb-http-1.0">Ensuring HTTP/1.0 clients get the right page</a></li>
                    186: <li><a href="#cvsweb-contactinfo">Contact information format for CVSweb mirrors</a></li>
                    187: <li><a href="#cvsweb-cname">How to get cvsweb.country-code.NetBSD.org</a></li>
                    188: <li><a href="#cvsweb-teardown">If you can no longer provide a CVSweb mirror</a></li>
                    189: </ul>
                    190: <hr>
                    191: <h3 class="title">FTP and ISO Mirror FAQ</h3>
                    192:        <h4 class="title">
                    193: <a name="ftp-overview"></a>Overview for setting up a NetBSD FTP/ISO Mirror (<a href="#ftp-mirror">top</a>)
                    194:   </h4>
                    195:
                    196:        <p>The basic steps for setting up a NetBSD FTP or ISO Mirror
                    197:          are:</p>
                    198:
1.17      mbalmer   199:        <div class="orderedlist"><ol class="orderedlist" type="1">
                    200: <li class="listitem">Prepare disk space.  See "<a class="ulink" href="#ftp-diskspace" target="_top">How much disk space is needed
                    201:              for an FTP/ISO mirror</a>"
1.1       dsieger   202:            entry below for information on amount of space
                    203:            required.</li>
1.17      mbalmer   204: <li class="listitem">Retrieve a copy of the NetBSD FTP site
1.1       dsieger   205:            contents</li>
1.17      mbalmer   206: <li class="listitem">Set things up to synchronize the contents of your
1.1       dsieger   207:            mirror with <code class="code">ftp.NetBSD.org</code>.</li>
1.17      mbalmer   208: <li class="listitem">Send in the information about your mirror to
1.10      dsieger   209:            <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>. See "<a class="ulink" href="#ftp-contactinfo" target="_top">Contact information format for
1.17      mbalmer   210:              FTP/ISO Mirrors</a>"
1.1       dsieger   211:            for details on that.</li>
                    212: </ol></div>
                    213:
                    214:        <h4 class="title">
                    215: <a name="ftp-diskspace"></a>How much disk space is needed for an FTP/ISO mirror? (<a href="#ftp-mirror">top</a>)
                    216:   </h4>
                    217:
                    218:        <p>The amount of disk space needed fluctuates due to things
                    219:          such as pre-built packages being added, binary snapshots
                    220:          being deprecated, and new formal releases of NetBSD. At
1.12      heinz     221:          this time (September 2008) a complete mirror of the supported
                    222:          NetBSD releases needs 90 GB (185 GB including non-supported
                    223:          historical releases). The daily builds of NetBSD amount to 100 GB
                    224:          and the whole of pkgsrc (source and binary packages for
                    225:          several branches) to 350 GB.</p>
1.1       dsieger   226:
                    227:        <p>Space requirements for ISO files are dependent on
                    228:          how many binary releases are supported at the time. The
1.12      heinz     229:          size may be severely decreased when old branches become
                    230:          obsolete and will grow when new versions of NetBSD will
1.1       dsieger   231:          be released. Each release takes from 7 up to 9 GB, and
1.12      heinz     232:          currently (September 2008) the complete iso area needs around
                    233:          30 GB space.</p>
1.1       dsieger   234:
                    235:        <h4 class="title">
                    236: <a name="ftp-bandwidth"></a>How much bandwidth does offering an FTP/ISO mirror require? (<a href="#ftp-mirror">top</a>)
                    237:   </h4>
                    238:
                    239:        <p>At the moment, we do not have any detailed numbers on bandwidth
                    240:           usage from our mirrors.  The actual usage of any mirror depends too
                    241:           heavily on a variety of factors such as already available bandwidth,
                    242:           geographical location relative to other mirrors and amount of data
                    243:           mirrored for us to provide you with accurate numbers.</p>
                    244:
                    245:         <p>If you have been running a full mirror for a while and have
1.10      dsieger   246:           collected bandwidth statistics, please <a class="ulink" href="http://www.NetBSD.org/cgi-bin/feedback.cgi" target="_top">let us
1.1       dsieger   247:           know</a>.</p>
                    248:
                    249:        <h4 class="title">
                    250: <a name="ftp-retrieve-sync"></a>Retrieving/Syncing a copy of the NetBSD FTP site
                    251:          and ISO images area (<a href="#ftp-mirror">top</a>)
                    252:   </h4>
                    253:
                    254:        <p>There are several ways that you can retrieve and sync
                    255:          the files. Depending on your personal preference, your
                    256:          network connection, the packages installed on your systems
                    257:          etc. you may choose one over the other. Either way, it's
                    258:          probably a good idea to first run the relevant command by
                    259:          hand and then, when you have confirmed that everything is
                    260:          working as it should, create a script to be run by
1.38      snj       261:          <a href="http://netbsd.gw.com/cgi-bin/man-cgi?cron+8.i386+NetBSD-7.0.2">cron(8)</a>.</p>
1.1       dsieger   262:
                    263:        <p>All ISO images of the NetBSD distributions are stored on
1.33      snj       264:          the FTP site inside <code class="filename">images/</code> subdirectory.
1.1       dsieger   265:          Thus, mirroring of ISO images is very similar to mirroring
                    266:          the entire FTP site.</p>
                    267:
                    268:        <p>Below you can find some examples of how to keep your
                    269:          local copy in sync. Simply replace "&lt;FTPROOT&gt;" with
                    270:          the actual root of your ftp server.</p>
                    271:
1.28      tron      272:        <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1.17      mbalmer   273: <li class="listitem">
1.37      mspo      274: <p>Using <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/rsync/README.html" target="_top"><code class="filename">net/rsync</code></a>:
1.1       dsieger   275:            </p>
                    276: <pre class="programlisting">$ rsync -v -Wartz --delete rsync://rsync.NetBSD.org/NetBSD &lt;FTPROOT&gt;/pub/NetBSD/</pre>
                    277: <p>
                    278:            For ISO files only:
                    279:            </p>
1.33      snj       280: <pre class="programlisting">$ rsync -v -Wartz --delete rsync://rsync.NetBSD.org/NetBSD/images &lt;FTPROOT&gt;/pub/NetBSD/images</pre>
1.1       dsieger   281: </li>
1.17      mbalmer   282: <li class="listitem">
1.37      mspo      283: <p>Using <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/wget/README.html" target="_top"><code class="filename">net/wget</code></a>:
1.1       dsieger   284:            </p>
                    285: <pre class="programlisting">$ cd &lt;FTPROOT&gt;
                    286: $ wget -v -xnH -m ftp://ftp.NetBSD.org/pub/NetBSD/</pre>
                    287: <p>
                    288:            For ISO files only:
                    289:            </p>
                    290: <pre class="programlisting">$ cd &lt;FTPROOT&gt;
1.33      snj       291: $ wget -v -xnH -m ftp://ftp.NetBSD.org/pub/NetBSD/images/</pre>
1.1       dsieger   292: </li>
1.17      mbalmer   293: <li class="listitem">
1.37      mspo      294: <p>Using <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/mirror/README.html" target="_top"><code class="filename">net/mirror</code></a>:
1.1       dsieger   295:            </p>
                    296: <pre class="programlisting">$ cat &gt; ftp.NetBSD.org &lt;&lt;EOF
                    297: package=netbsd
                    298: comment=NetBSD
                    299: site=ftp.NetBSD.org
                    300: remote_dir=/pub/NetBSD
                    301: local_dir=&lt;FTPROOT&gt;/pub/NetBSD
                    302: do_deletes=true
                    303: algorithm=1
                    304: EOF
                    305: $ mirror ftp.NetBSD.org</pre>
                    306: <p>
                    307:            For ISO files only:
                    308:            </p>
                    309: <pre class="programlisting">$ cat &gt; iso.NetBSD.org &lt;&lt;EOF
                    310: package=netbsd
                    311: comment=NetBSD
                    312: site=iso.NetBSD.org
1.33      snj       313: remote_dir=/pub/NetBSD/mages
                    314: local_dir=&lt;FTPROOT&gt;/pub/NetBSD/images
1.1       dsieger   315: do_deletes=true
                    316: algorithm=1
                    317: EOF
                    318: $ mirror iso.NetBSD.org</pre>
                    319: </li>
                    320: </ul></div>
                    321:
                    322:        <h4 class="title">
                    323: <a name="ftp-notes"></a>Notes about a NetBSD FTP/ISO mirror (<a href="#ftp-mirror">top</a>)
                    324:   </h4>
                    325:
                    326:        <p>As a NetBSD FTP/ISO mirror, it's important that you
                    327:          synchronize your copy of the NetBSD FTP tree and ISO
                    328:          images area regularly. Otherwise, old and/or obsolete
                    329:          files may confuse users.</p>
                    330:
                    331:        <p>Also, it might happen that due to an e.g. security
                    332:          issue, file removal (or another administrative task) may be
                    333:          requested from the NetBSD Project.</p>
                    334:
                    335:        <h4 class="title">
                    336: <a name="ftp-outage"></a>Where should an outage be announced (<a href="#ftp-mirror">top</a>)
                    337:   </h4>
1.17      mbalmer   338:
1.1       dsieger   339:        <p>If your FTP/ISO mirror experiences any significant system
1.10      dsieger   340:          outage, you should notify <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>
1.1       dsieger   341:          as soon as possible so that we can temporarily redirect your
                    342:          CNAME (if there is one) to a nearby alternative. Also, you
1.10      dsieger   343:          may wish to send a note about the outage to the <a class="ulink" href="../mailinglists/#netbsd-users" target="_top">netbsd-users mailing list</a>.</p>
1.1       dsieger   344:
                    345:        <p>If the CNAME for your mirror has been redirected, be
                    346:          sure to let us know when the situation is rectified, so we
                    347:          can revert the change.</p>
                    348:
                    349:        <h4 class="title">
                    350: <a name="ftp-contactinfo"></a>Contact information format for FTP/ISO mirrors (<a href="#ftp-mirror">top</a>)
                    351:   </h4>
                    352:
                    353:        <p>Contact information needs to be submitted to
1.10      dsieger   354:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>.</p>
1.1       dsieger   355:
                    356:        <p>This information gets added to an internal mirrors
                    357:          database, from which the mirror-related documentation gets
                    358:          generated. The "<code class="code">contact*</code>" fields are never made
                    359:          public. Contact information for NetBSD FTP/ISO mirrors should be
                    360:          sent in the following format:</p>
                    361:
                    362:        <pre class="programlisting">mirror          *machine name*
1.11      reed      363: country         *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1       dsieger   364: location        *more specific location (e.g, ``University of Foo'')*
                    365: ftp            *url to NetBSD ftp mirror area*
                    366: ftp-host       *fqdn of the host providing ftp mirror service*
                    367: ftp-releng     *url to NetBSD release engineering files, aka NetBSD-daily*
                    368: iso            *url to NetBSD iso images area*
                    369: iso-host       *fqdn of the host providing iso images mirror service*
                    370: organisation    *organisation name*
                    371: contactperson   *contact person's name*
                    372: contactemail    *contact person's electronic mail address*
                    373: contactkeyid   *contact person's pgp key id*
                    374: contactphone    *contact person's telephone number*
                    375: contactaddress  *contact person's postal address*</pre>
                    376:
                    377:        <p>An example submission might look like this.</p>
                    378:        <pre class="programlisting">mirror          netbsd.foo.com
1.11      reed      379: country         jp
1.1       dsieger   380: location        Department of Computer Science, Foo University
                    381: ftp             ftp://ftp.foo-univ.ac.jp/pub/NetBSD/
                    382: ftp-host        ftp.foo-univ.ac.jp
1.33      snj       383: iso            ftp://iso.foo-univ.ac.jp/pub/NetBSD/images/
1.1       dsieger   384: iso-host       iso.foo-univ.ac.jp
                    385: organisation    Foo University
                    386: contactperson   Foo Bar
                    387: contactemail    Bar@foo-univ.ac.jp
                    388: contactkeyid   GA23FG12
                    389: contactphone    +81 3 xxxx yyyy
                    390: contactaddress  9876 Foo City, Tokyo 1234567 Japan</pre>
                    391:
                    392:        <p>Please use <code class="literal">ftp*</code> and
                    393:          <code class="literal">iso*</code> fileds in case only if you
                    394:          providing appropriate mirror services.  For example, omit
                    395:          <code class="literal">ftp-releng</code> field if there are no releng
                    396:          files on your server, or don't use any of <code class="literal">ftp*</code>
                    397:          fields if you running ISO mirror only.</p>
                    398:
                    399:        <p>If the contact information for your mirror ever needs to
                    400:          be changed, please feel free to let us know at
1.10      dsieger   401:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>.</p>
1.1       dsieger   402:
                    403:        <h4 class="title">
                    404: <a name="ftp-cname"></a>How to get (ftp|iso).country-code.NetBSD.org (<a href="#ftp-mirror">top</a>)
                    405:   </h4>
                    406:
                    407:        <p>We have temporarily stopped assigning names in the
                    408:          .NetBSD.org domain to mirrors as we are re-evaluating our
                    409:          mirror policies.</p>
                    410:
                    411:        <h4 class="title">
                    412: <a name="ftp-teardown"></a>If you can no longer provide a FTP/ISO mirror (<a href="#ftp-mirror">top</a>)
                    413:   </h4>
                    414:
1.10      dsieger   415:        <p>Please let us know at <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>
1.1       dsieger   416:          so that we can remove your site from our list and redirect
                    417:          the DNS name to an alternative site.</p>
                    418:       <hr>
                    419: <h3 class="title">BitTorrent Mirror FAQ</h3>
                    420:        <h4 class="title">
                    421: <a name="bittorrent-what"></a>Bit-what? (<a href="#bitorrent">top</a>)
                    422:   </h4>
                    423:
1.10      dsieger   424:        <p><a class="ulink" href="http://bitconjurer.org/BitTorrent/" target="_top">BitTorrent</a>
1.1       dsieger   425:          is a tool for distributing files. It's extremely easy to
                    426:          use - downloads are started by clicking on hyperlinks.
                    427:          Whenever more than one person is downloading at once
                    428:          they send pieces of the file(s) to each other, thus
                    429:          relieving the central server's bandwidth burden.  Even with
                    430:          many simultaneous downloads, the upload burden on the
                    431:          central server remains quite small, since each new
                    432:          downloader introduces new upload capacity.</p>
                    433:
                    434:        <h4 class="title">
                    435: <a name="bittorrent-overview"></a>Overview for setting up a NetBSD Bittorrent Mirror (<a href="#bitorrent">top</a>)
                    436:   </h4>
                    437:
                    438:        <p>The basic steps for setting up a NetBSD BitTorrent
                    439:          Mirror are:</p>
                    440:
1.17      mbalmer   441:        <div class="orderedlist"><ol class="orderedlist" type="1">
1.37      mspo      442: <li class="listitem">Install <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/bittorrent/README.html" target="_top"><code class="filename">net/bittorrent</code></a>
1.1       dsieger   443: </li>
1.17      mbalmer   444: <li class="listitem">Fetch the <code class="filename">.torrent</code> files from
1.1       dsieger   445:            our FTP site. The files are in the
1.33      snj       446:            <code class="filename">/pub/NetBSD/images/&lt;release&gt;</code>
1.1       dsieger   447:            subdirectory, so if you already are mirroring this
1.10      dsieger   448:            directory, you're all set. For more information see <a class="ulink" href="../mirrors/torrents/" target="_top">this page</a>.</li>
1.17      mbalmer   449: <li class="listitem">
                    450: <p>Start BitTorrent:
1.1       dsieger   451:            </p>
1.33      snj       452: <pre class="programlisting">cd /ftp/pub/NetBSD/images/&lt;release&gt;; (btlaunchmany.py .) &gt;/dev/null 2&gt;/dev/null &amp;</pre>
1.1       dsieger   453: <p>
                    454:            If you didn't download the ISO images already, they will be
1.17      mbalmer   455:            downloaded now. You can use the
1.1       dsieger   456:            <code class="code">--max_upload_rate arg</code>
                    457:            and <code class="code">--max_download_rate arg</code>
                    458:            options to limit the transfer rates.</p>
                    459: </li>
                    460: </ol></div>
                    461:
                    462:        <h4 class="title">
                    463: <a name="bittorrent-contactinfo"></a>Contact information format for BitTorrent mirrors (<a href="#bitorrent">top</a>)
                    464:   </h4>
                    465:
                    466:        <p>Contact information needs to be submitted to
1.10      dsieger   467:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>.
1.1       dsieger   468:          This information gets added to an internal mirrors database,
                    469:          from which the mirror-related documentation gets generated.
                    470:          The "<code class="code">contact*</code>" fields are never made public.
                    471:          Contact information for NetBSD BitTorrent mirrors should be
                    472:          sent in the following format:</p>
                    473:
                    474:        <pre class="programlisting">mirror          *machine name*
1.11      reed      475: country         *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1       dsieger   476: location        *more specific location (e.g, ``University of Foo'')*
                    477: bittorrent     *BitTorrent URL / URL with additional Information*
                    478: ipv6           *yes or no, if your server supports IPv6*
                    479: organisation    *organisation name*
                    480: contactperson   *contact person's name*
                    481: contactemail    *contact person's electronic mail address*
                    482: contactkeyid   *contact person's pgp key id*
                    483: contactphone    *contact person's telephone number*
                    484: contactaddress  *contact person's postal address*</pre>
                    485:
                    486:        <p>An example submission might look like this.</p>
                    487:
1.11      reed      488:        <pre class="programlisting">mirror          ftp.NetBSD.org
                    489: country         us
1.1       dsieger   490: location        Silicon Valley, California
                    491: bittorrent     http://www.NetBSD.org/mirrors/torrents/
                    492: ipv6            yes
                    493: organisation    The NetBSD Foundation, Inc.
                    494: contactperson   Admins
                    495: contactemail    &lt;email-here&gt;@NetBSD.org
                    496: contactkeyid   AF226A4C
                    497: contactphone    555-123-1234
                    498: contactaddress         Somwhere in Silicon Valley, California</pre>
                    499:       <hr>
                    500: <h3 class="title">WWW Mirror FAQ</h3>
                    501:        <h4 class="title">
                    502: <a name="www-overview"></a>Overview for setting up a NetBSD WWW Mirror (<a href="#www">top</a>)
                    503:   </h4>
                    504:
                    505:        <p>The following is an overview of the recommended
                    506:          procedure for setting up a NetBSD WWW mirror:</p>
                    507:
1.17      mbalmer   508:        <div class="orderedlist"><ol class="orderedlist" type="1">
                    509: <li class="listitem">For setting up a mirror with this procedure,
1.1       dsieger   510:            you'll need cvs, ssh, and wget. Both cvs and ssh ship with
                    511:            NetBSD versions after 1.5, and wget is available from the
1.17      mbalmer   512:            <a class="ulink" href="software/packages.html" target="_top">NetBSD packages collection</a>
1.37      mspo      513:            (see <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/wget/README.html" target="_top"><code class="filename">net/wget</code></a>).Of
1.1       dsieger   514:            course you'll also need a web server, such as apache.</li>
1.17      mbalmer   515: <li class="listitem">Retrieve a copy of the NetBSD WWW site.  See "<a class="ulink" href="#www-retrieve" target="_top">Retrieving a copy of the NetBSD WWW site</a>"
1.1       dsieger   516:            for instructions on how to do so with anoncvs.</li>
1.17      mbalmer   517: <li class="listitem">Set things up to synchronize the contents of your
                    518:            mirror with <code class="code">www.NetBSD.org</code>.
1.10      dsieger   519:            See "<a class="ulink" href="#www-sync" target="_top">Syncing the NetBSD WWW site contents</a>"
1.1       dsieger   520:            for an example of how to do so using a cron job.</li>
1.17      mbalmer   521: <li class="listitem">Send in the information about your mirror to
                    522:            <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>. See
1.10      dsieger   523:            "<a class="ulink" href="#www-contactinfo" target="_top">Contact information format for WWW Mirrors</a>"
1.1       dsieger   524:            for details on that.</li>
                    525: </ol></div>
                    526:
                    527:        <h4 class="title">
                    528: <a name="www-diskspace"></a>How much disk space is needed for a WWW mirror? (<a href="#www">top</a>)
                    529:   </h4>
                    530:
                    531:        <p>The amount of diskspace needed for a complete copy of
1.13      heinz     532:          the htdocs repository is currently (Septemper 2008) around 170 MB.
1.1       dsieger   533:          The total amount should not vary too much, but will
                    534:          obviously grow with time.</p>
                    535:
                    536:        <h4 class="title">
                    537: <a name="www-retrieve"></a>Retrieving a copy of the NetBSD WWW site (<a href="#www">top</a>)
                    538:   </h4>
1.17      mbalmer   539:
1.1       dsieger   540:        <p>To retrieve a copy of <code class="code">www.NetBSD.org</code> via
                    541:          anoncvs, you should do:
                    542:          </p>
                    543: <pre class="programlisting"># su - nbwww
                    544: # cd /path/to/htdocs
                    545: # env CVS_RSH=ssh CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot \
                    546:   cvs checkout -P htdocs</pre>
                    547: <p>
                    548:
                    549:          <span class="bold"><strong>Note:</strong></span>
                    550:          "<code class="filename">/path/to/htdocs</code>"
                    551:          should be where you want the mirror of
                    552:          <code class="code">www.NetBSD.org</code> to reside.  The directory
                    553:          should be owned by an e.g. "nbwww" user.</p>
                    554:
                    555:        <h4 class="title">
                    556: <a name="www-sync"></a>Syncing the NetBSD WWW site contents (<a href="#www">top</a>)
                    557:   </h4>
1.17      mbalmer   558:
1.1       dsieger   559:        <p>The best way to do this is to set up a cron job for
                    560:          your e.g. nbwww user to update the web site at a regular
                    561:          interval using anoncvs and wget (more on the wget usage
                    562:          below):
                    563:          </p>
                    564: <pre class="programlisting"># crontab -u nbwww -e
                    565: SHELL=/bin/sh
                    566: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin
                    567: MAILTO=whoever@gets.the.mirror.mail
                    568: CVS_RSH=ssh
                    569: CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot
1.20      spz       570: 0 1 * * * cd /path/to/htdocs &amp;&amp; cvs update -dP &amp;&amp; wget -B http://www.NetBSD.org/ -nv -xnH -N -Fi mirrors/fetch.html</pre>
1.1       dsieger   571: <p>
                    572:          <span class="bold"><strong>Note:</strong></span> In the suggested
                    573:          contents, you'll want to change "MAILTO" to reflect who
1.17      mbalmer   574:          should get the mirror-related mail.
1.1       dsieger   575:          Also, "<code class="filename">/path/to/htdocs</code>" should be
                    576:          changed to where your <code class="code">www.NetBSD.org</code> mirror
                    577:          resides.</p>
                    578:
                    579:        <h4 class="title">
                    580: <a name="www-fetch"></a>What is the purpose of <code class="filename">htdocs/mirrors/fetch.html</code> (<a href="#www">top</a>)
                    581:   </h4>
                    582:
                    583:        <p>The <code class="filename">fetch.html</code> file links to the
                    584:          handful of documents on <code class="code">www.NetBSD.org</code> that
                    585:          are generated <span class="emphasis"><em>by</em></span>
                    586:          <code class="code">www.NetBSD.org</code>.  These files get generated
                    587:          daily from content in the <code class="code">doc</code> module of the
                    588:          NetBSD CVS repository.</p>
1.17      mbalmer   589:
                    590:        <p>In the example cron tab above, you'll see
1.1       dsieger   591:          "<code class="code">wget -nv -xnH -NFi mirrors/fetch.html</code>".
                    592:          This means that daily, through wget, these
1.17      mbalmer   593:          <code class="code">www.NetBSD.org</code> created files
1.1       dsieger   594:          will be updated in your copy of the web site
                    595:          contents.</p>
                    596:
                    597:        <h4 class="title">
                    598: <a name="www-http-1.0"></a>Ensuring HTTP/1.0 clients get the right page (<a href="#www">top</a>)
                    599:   </h4>
1.17      mbalmer   600:
1.1       dsieger   601:        <p>It is much preferred that NetBSD WWW mirror sites run
                    602:          a separate virtual web server for a
                    603:          <code class="code">www.NetBSD.org</code> mirror on a separate IP
                    604:          address.  This is so that clients using HTTP/1.0 still
                    605:          get to the correct web site.</p>
1.17      mbalmer   606:
1.1       dsieger   607:        <p>If that's not possible in your set up, then the other
                    608:          solution for HTTP/1.0 clients would be putting the NetBSD
                    609:          mirror as the primary name-based virtual host.</p>
                    610:
                    611:        <h4 class="title">
                    612: <a name="www-contactinfo"></a>Contact information format for WWW mirrors (<a href="#www">top</a>)
                    613:   </h4>
1.17      mbalmer   614:
1.1       dsieger   615:        <p>Contact information needs to be submitted to
1.10      dsieger   616:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>.
1.1       dsieger   617:          This information gets added to an internal mirrors
                    618:          database, from which the mirror-related documentation gets
                    619:          generated.  The "<code class="code">contact*</code>" fields are never
                    620:          made public.  Contact information for NetBSD WWW mirrors
                    621:          should be sent in the following format:</p>
                    622:        <pre class="programlisting">mirror          *machine name*
1.11      reed      623: country         *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1       dsieger   624: location        *more specific location (e.g, ``University of Foo'')*
                    625: www             *WWW URL*
                    626: www-host        *external WWW name*
                    627: organisation    *organisation name*
                    628: contactperson   *contact person's name*
                    629: contactemail    *contact person's electronic mail address*
                    630: contactkeyid   *contact person's pgp key id*
                    631: contactphone    *contact person's telephone number*
                    632: contactaddress  *contact person's postal address*</pre>
                    633:
                    634:        <p>An example submission might look like this.</p>
                    635:
                    636:        <pre class="programlisting">mirror          netbsd.foo-univ.ac.jp
1.11      reed      637: country         jp
1.1       dsieger   638: location        Department of Computer Science, Foo University
                    639: www             http://netbsd.foo-univ.ac.jp/
                    640: www-host        netbsd.foo-univ.ac.jp
                    641: organisation    Foo University
                    642: contactperson   Foo Bar
                    643: contactemail    Bar@foo-univ.ac.jp
                    644: contactkeyid   GA23FG12
                    645: contactphone    +81 3 xxxx yyyy
                    646: contactaddress  9876 Foo City, Tokyo 1234567 Japan</pre>
                    647:
                    648:        <p>If the contact information for your mirror ever needs
                    649:          to be changed, please feel free to let us know at
1.17      mbalmer   650:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>.</p>
1.1       dsieger   651:
                    652:        <h4 class="title">
                    653: <a name="www-cname"></a>How to get www.country-code.NetBSD.org (<a href="#www">top</a>)
                    654:   </h4>
                    655:
                    656:        <p>We have temporarily stopped assigning names in the
                    657:          .NetBSD.org domain to mirrors as we are re-evaluating our
                    658:          mirror policies.</p>
                    659:
                    660:        <h4 class="title">
                    661: <a name="www-teardown"></a>If you can no longer provide a WWW mirror (<a href="#www">top</a>)
                    662:   </h4>
1.17      mbalmer   663:
1.1       dsieger   664:          <p>Please let us know at
1.10      dsieger   665:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code> so that we can remove your
1.1       dsieger   666:          site from our list and redirect the DNS name to an
                    667:          alternative site.</p>
                    668:       <hr>
                    669: <h3 class="title">CVSweb Mirror FAQ</h3>
                    670:        <h4 class="title">
                    671: <a name="cvsweb-overview"></a>Overview for setting up a NetBSD CVSweb Mirror (<a href="#cvsweb">top</a>)
                    672:   </h4>
                    673:
                    674:        <p>The following is an overview of the recommended
                    675:          procedure for setting up a NetBSD CVSweb mirror:</p>
                    676:
1.17      mbalmer   677:        <div class="orderedlist"><ol class="orderedlist" type="1">
                    678: <li class="listitem">For setting up a mirror with this procedure,
1.1       dsieger   679:            you'll need cvs, cvsup, and the cvsweb CGI script.  NetBSD
                    680:            1.6 and above ship with CVS, both cvsup and the cvsweb CGI
1.10      dsieger   681:            script are available from the <a class="ulink" href="software/packages.html" target="_top">NetBSD packages collection</a>
1.37      mspo      682:            (see <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/devel/cvsup/README.html" target="_top"><code class="filename">devel/cvsup</code></a> and <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/www/cvsweb/README.html" target="_top"><code class="filename">www/cvsweb</code></a>).  Of course you'll also
                    683:            need a web server, such as <a href="http://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/www/apache/README.html" target="_top"><code class="filename">www/apache</code></a>.</li>
1.17      mbalmer   684: <li class="listitem">Retrieve a copy of the NetBSD CVS tree.  See
1.10      dsieger   685:            "<a class="ulink" href="#cvsweb-retrieve" target="_top">Retrieving a copy of the NetBSD CVS tree</a>"
1.1       dsieger   686:            for instructions on how to do so with cvsup.</li>
1.17      mbalmer   687: <li class="listitem">Set things up to synchronize the contents of your
1.10      dsieger   688:            mirror with the cvsup server. See "<a class="ulink" href="#cvsweb-sync" target="_top">Syncing the NetBSD CVS tree contents</a>"
1.1       dsieger   689:            for an example of how to do so using a cron job.</li>
1.17      mbalmer   690: <li class="listitem">Send in the information about your mirror to
1.10      dsieger   691:            <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>. See  "<a class="ulink" href="#cvsweb-contactinfo" target="_top">Contact information format for CVSweb Mirrors</a>"
1.1       dsieger   692:            for details on that.</li>
                    693: </ol></div>
                    694:
                    695:        <h4 class="title">
                    696: <a name="cvsweb-diskspace"></a>How much disk space is needed for a CVSweb mirror? (<a href="#cvsweb">top</a>)
                    697:   </h4>
                    698:
                    699:        <p>The amount of disk space needed is rather large due to
                    700:          the fact that you are providing an interface to the
                    701:          <span class="emphasis"><em>entire CVS repository</em></span>. Currently
                    702:          (2006-05), the total disk space required for all sources in
                    703:          CVS is around 4.3 GB.</p>
                    704:
                    705:        <h4 class="title">
                    706: <a name="cvsweb-retrieve"></a>Retrieving a copy of the NetBSD CVS tree (<a href="#cvsweb">top</a>)
                    707:   </h4>
                    708:
                    709:        <p>To retrieve a copy of the CVS tree via cvsup, you
                    710:          should do:
                    711:          </p>
                    712: <pre class="programlisting"># su - cvsweb
                    713: # mkdir -p /home/cvsweb/netbsd
                    714: # cd /home/cvsweb</pre>
                    715: <p>
                    716:
1.17      mbalmer   717:          <span class="bold"><strong>Note:</strong></span>
1.1       dsieger   718:          "<code class="filename">/home/cvsweb/netbsd</code>"
                    719:          should be where you want the mirror of the tree to reside.
                    720:          The directory should be owned by an e.g. "cvsweb"
                    721:          user. Create an "supfile" using your editor (For examples,
1.10      dsieger   722:          see <a class="ulink" href="netbsd-supfile" target="_top">netbsd-supfile</a>).
1.1       dsieger   723:          Please take a look at the list of available public cvsup
1.10      dsieger   724:          servers, you'll find the list <a class="ulink" href="../mirrors/index.html#cvsup" target="_top">here</a>.
1.1       dsieger   725:          </p>
                    726: <pre class="programlisting"># cvsup -g -L 2 netbsd-supfile</pre>
                    727: <p>
                    728:        </p>
                    729:
                    730:        <h4 class="title">
                    731: <a name="cvsweb-sync"></a>Syncing the NetBSD CVS tree contents (<a href="#cvsweb">top</a>)
                    732:   </h4>
                    733:
                    734:        <p>The best way to do this is to set up a cron job for your
                    735:          e.g. cvsweb user to update the tree at a regular interval
                    736:          using cvsup:
                    737:          </p>
                    738: <pre class="programlisting"># crontab -u cvsweb -e
                    739: SHELL=/bin/sh
                    740: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin
                    741: MAILTO=whoever@gets.the.mirror.mail
                    742: 0 1 * * * cvsup -g /home/cvsweb/netbsd-supfile</pre>
                    743: <p>
                    744:
                    745:          <span class="bold"><strong>Note:</strong></span> In the suggested
                    746:          contents, you'll want to change "MAILTO" to reflect who
                    747:          should get the mirror-related mail.</p>
                    748:
                    749:        <h4 class="title">
                    750: <a name="cvsweb-cgi"></a>How to setup the cvsweb CGI script (<a href="#cvsweb">top</a>)
                    751:   </h4>
                    752:
                    753:        <p>Take a look at the <code class="filename">cvsweb.conf</code> and
                    754:          be sure to edit the following options:</p>
                    755:          <pre class="programlisting">
                    756: @CVSrepositories = (
                    757:         'netbsd'  =&gt; ['NetBSD',           '/home/cvsweb/netbsd'],
                    758: );
                    759:
                    760: $mancgi = "http://netbsd.gw.com/cgi-bin/man-cgi?%s+%s+NetBSD-current";
                    761: </pre>
                    762:          <p>Place cvsweb.cgi in your web servers' cgi-bin
                    763:          directory and be sure to edit it to point to your
                    764:          <code class="filename">cvsweb.conf</code>.</p>
                    765:
                    766:        <h4 class="title">
                    767: <a name="cvsweb-http-1.0"></a>Ensuring HTTP/1.0 clients get the right page (<a href="#cvsweb">top</a>)
                    768:   </h4>
                    769:
                    770:        <p>It is much preferred that NetBSD CVSweb mirror sites run
                    771:          a separate virtual web server for a CVSweb mirror on a
                    772:          separate IP address.  This is so that clients using HTTP/1.0
                    773:          still get to the correct web site.</p>
                    774:
                    775:        <p>If that's not possible in your set up, then the other
                    776:          solution for HTTP/1.0 clients would be putting the NetBSD
                    777:          mirror as the primary name-based virtual host.</p>
                    778:
                    779:        <h4 class="title">
                    780: <a name="cvsweb-contactinfo"></a>Contact information format for CVSweb mirrors (<a href="#cvsweb">top</a>)
                    781:   </h4>
                    782:
                    783:        <p>Contact information needs to be submitted to
1.10      dsieger   784:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>.
1.1       dsieger   785:
                    786:          This information gets added to an internal mirrors database, from
                    787:          which the mirror-related documentation gets generated. The
                    788:          "<code class="code">contact*</code>" fields are never made public.
                    789:          Contact information for NetBSD CVSweb mirrors should be sent
                    790:          in the following format:</p>
                    791:
                    792:        <pre class="programlisting">mirror          *machine name*
1.11      reed      793: country         *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1       dsieger   794: location        *more specific location (e.g, ``University of Foo'')*
                    795: cvsweb          *CVSweb URL*
                    796: cvsweb-host     *external CVSweb name*
                    797: organisation    *organisation name*
                    798: contactperson   *contact person's name*
                    799: contactemail    *contact person's electronic mail address*
                    800: contactkeyid   *contact person's pgp key id*
                    801: contactphone    *contact person's telephone number*
                    802: contactaddress  *contact person's postal address*</pre>
                    803:
                    804:        <p>An example submission might look like this.</p>
                    805:
                    806:        <pre class="programlisting">mirror          netbsd.foo-univ.ac.jp
1.11      reed      807: country         jp
1.1       dsieger   808: location        Department of Computer Science, Foo University
                    809: cvsweb          http://netbsd.foo-univ.ac.jp/cgi-bin/cvsweb.cgi/
                    810: cvsweb-host     cvsweb.netbsd.foo-univ.ac.jp
                    811: organisation    Foo University
                    812: contactperson   Foo Bar
                    813: contactemail    Bar@foo-univ.ac.jp
                    814: contactkeyid   GA23FG12
                    815: contactphone    +81 3 xxxx yyyy
                    816: contactaddress  9876 Foo City, Tokyo 1234567 Japan</pre>
                    817:
                    818:        <p>If the contact information for your mirror ever needs to
                    819:          be changed, please feel free to let us know at
1.10      dsieger   820:          <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>.</p>
1.1       dsieger   821:
                    822:        <h4 class="title">
                    823: <a name="cvsweb-cname"></a>How to get cvsweb.country-code.NetBSD.org (<a href="#cvsweb">top</a>)
                    824:   </h4>
                    825:
                    826:        <p>We have temporarily stopped assigning names in the
                    827:          .NetBSD.org domain to mirrors as we are re-evaluating our
                    828:          mirror policies.</p>
                    829:
                    830:        <h4 class="title">
                    831: <a name="cvsweb-teardown"></a>If you can no longer provide a CVSweb mirror (<a href="#cvsweb">top</a>)
                    832:   </h4>
                    833:
1.10      dsieger   834:        <p>Please let us know at <code class="email">&lt;<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>&gt;</code>
1.1       dsieger   835:          so that we can remove your site from our list and redirect the
                    836:          DNS name to an alternative site.</p>
1.17      mbalmer   837:       </div></div></div>
1.3       dsieger   838: <div class="navfoot"></div>
1.15      mishka    839: <div id="footer"><div id="footerContent"><center>
1.3       dsieger   840: <span class="footfeed"><a href="http://www.NetBSD.org/cgi-bin/feedback.cgi">
                    841:          Contact</a> |
1.9       kano      842:       </span><span class="footcopy"><a href="../about/disclaimer.html">
1.3       dsieger   843:       Disclaimer</a> |
                    844:
1.39    ! snj       845:       <span class="copyright">Copyright © 1994-2017 The NetBSD Foundation, Inc. </span>ALL RIGHTS RESERVED.<br>NetBSD<sup>®</sup> is a registered trademark of The NetBSD
1.3       dsieger   846:        Foundation, Inc.</span>
1.15      mishka    847: </center></div></div>
1.1       dsieger   848: </div></body>
                    849: </html>

CVSweb <webmaster@jp.NetBSD.org>