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: “Of course it runs NetBSD”
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 & 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 & 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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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 "<FTPROOT>" 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 <FTPROOT>/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 <FTPROOT>/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 <FTPROOT>
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 <FTPROOT>
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 > ftp.NetBSD.org <<EOF
297: package=netbsd
298: comment=NetBSD
299: site=ftp.NetBSD.org
300: remote_dir=/pub/NetBSD
301: local_dir=<FTPROOT>/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 > iso.NetBSD.org <<EOF
310: package=netbsd
311: comment=NetBSD
312: site=iso.NetBSD.org
1.33 snj 313: remote_dir=/pub/NetBSD/mages
314: local_dir=<FTPROOT>/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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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/<release></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/<release>; (btlaunchmany.py .) >/dev/null 2>/dev/null &</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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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 <email-here>@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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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 && cvs update -dP && 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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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' => ['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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></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>