aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/articles
diff options
context:
space:
mode:
authorMarc Fonvieille <blackend@FreeBSD.org>2003-07-12 08:12:20 +0000
committerMarc Fonvieille <blackend@FreeBSD.org>2003-07-12 08:12:20 +0000
commit531779b081e1bdb26d5a58cf47535300b86f44bb (patch)
tree63bbc3ac6fb3cab33e005431a85b3bc57d46b399 /en_US.ISO8859-1/articles
parent37b6dff026c7fd6f2bc2cd7e5ff1df082052c362 (diff)
downloaddoc-531779b081e1bdb26d5a58cf47535300b86f44bb.tar.gz
doc-531779b081e1bdb26d5a58cf47535300b86f44bb.zip
- Update the article to reflect some new procedure in place.
- Some punctuation, tags fixes and rewording. (This article needs more cleaning "actions", I will take care of this soon.) PR: docs/54082 Submitted by: Ken Smith <kensmith@cse.Buffalo.EDU>
Notes
Notes: svn path=/head/; revision=17521
Diffstat (limited to 'en_US.ISO8859-1/articles')
-rw-r--r--en_US.ISO8859-1/articles/hubs/article.sgml354
1 files changed, 194 insertions, 160 deletions
diff --git a/en_US.ISO8859-1/articles/hubs/article.sgml b/en_US.ISO8859-1/articles/hubs/article.sgml
index ba058abf0e..5ea79108d8 100644
--- a/en_US.ISO8859-1/articles/hubs/article.sgml
+++ b/en_US.ISO8859-1/articles/hubs/article.sgml
@@ -36,13 +36,28 @@
<address><email>dl@leo.org</email></address>
</affiliation>
</author>
+ <author>
+ <firstname>Ken</firstname>
+ <surname>Smith</surname>
+ <affiliation>
+ <address><email>kensmith@cse.buffalo.edu</email></address>
+ </affiliation>
+ </author>
</authorgroup>
<abstract>
<para>An in-progress article on how to mirror FreeBSD, aimed at
- hub administrators</para>
+ hub administrators.</para>
</abstract>
</articleinfo>
+ <sect1 id="mirror-contact">
+ <title>Contact Information</title>
+
+ <para>The Mirror System Coordinators can be reached through email
+ at <email>mirror-admin@FreeBSD.org</email>. There is also
+ a &a.hubs;.</para>
+ </sect1>
+
<sect1 id="mirror-requirements">
<title>Requirements for FreeBSD mirrors</title>
<sect2 id="mirror-diskspace">
@@ -51,21 +66,21 @@
Disk space is one of the most important requirements.
Depending on the set of releases, architectures,
and degree of completeness you want to mirror, a huge
- amount of disk space may be consumed. Also keep in mind,
+ amount of disk space may be consumed. Also keep in mind
that <emphasis>official</emphasis> mirrors are probably required to be
complete. The CVS repository and the web pages should
- always be mirrored completely. Also note, that the
- numbers stated here, are reflecting the current
- state (at 4.5-RELEASE). Further development and
+ always be mirrored completely. Also note that the
+ numbers stated here are reflecting the current
+ state (at 4.8-RELEASE/5.1-RELEASE). Further development and
releases will only increase the required amount.
- Also make sure, to keep some (ca. 10-20%) extra space
- around, just to be sure.
+ Also make sure to keep some (ca. 10-20%) extra space
+ around just to be sure.
Here are some approximate figures:
</para>
<itemizedlist>
- <listitem><para>Full FTP Distribution: 100 GB</para></listitem>
- <listitem><para>CVS repository: 2 GB</para></listitem>
- <listitem><para>CTM deltas: 1.5 GB</para></listitem>
+ <listitem><para>Full FTP Distribution: 126 GB</para></listitem>
+ <listitem><para>CVS repository: 2.7 GB</para></listitem>
+ <listitem><para>CTM deltas: 1.8 GB</para></listitem>
<listitem><para>Webpages: 300 MB</para></listitem>
</itemizedlist>
</sect2>
@@ -76,27 +91,27 @@
The required bandwidth depends on your intended use
of the mirror. If you just want to mirror some
parts of FreeBSD for local use at your site/intranet,
- the demand may be much smaller, than if you want to
- make the files publicly available or even if you intend
- to become an official mirror. We can only give rough
+ the demand may be much smaller than if you want to
+ make the files publicly available. If you intend
+ to become an official mirror, the bandwidth required will be even higher. We can only give rough
estimates here:
</para>
<itemizedlist>
<listitem><para>Local site, no public access: basically no minimum,
- but &lt; 2 Mbps could make syncing a pain.</para></listitem>
+ but &lt; 2 Mbps could make syncing too slow.</para></listitem>
<listitem><para>Unofficial public site: 34 Mbps is probably a good start.</para></listitem>
- <listitem><para>Official site: &gt; 100 Mbps is recommended, also your host
+ <listitem><para>Official site: &gt; 100 Mbps is recommended, and your host
should be connected as close as possible to your border router.</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="mirror-system">
<title>System Requirements, CPU, RAM</title>
<para>
- This also depends on the expected amount of clients,
- which is determined by the servers policy. It is
+ One thing this depends on the expected number of clients,
+ which is determined by the server's policy. It is
also affected by the types of services you want to offer.
Plain FTP or HTTP services may not require a huge
- amount of resources. Watch out, if you provide
+ amount of resources. Watch out if you provide
CVSup, rsync or even AnonCVS. This can have a huge
impact on CPU and memory requirements. Especially
rsync is considered a memory hog, and CVSup does
@@ -107,7 +122,7 @@
are just examples to give you a very rough hint.
</para>
<para>
- For a moderately visited site, that offers
+ For a moderately visited site that offers
<application>rsync</application>, you might
consider a current CPU with around 800MHz - 1 GHz,
and at least 512MB RAM. This is probably the
@@ -115,18 +130,18 @@
site.
</para>
<para>
- For a frequently used site you need definitely
- more RAM (consider 2GB as a good start),
- and possibly more CPU, which could also mean,
+ For a frequently used site you definitely need
+ more RAM (consider 2GB as a good start)
+ and possibly more CPU, which could also mean
that you need to go for a SMP system.
</para>
<para>
You also want to consider a fast disk subsystem.
Operations on the CVS repository require a fast
- disk subsystem (RAID is greatly advised). A SCSI
+ disk subsystem (RAID is highly advised). A SCSI
controller that has a cache of its own can also
- speed up things, since most of these services incur a
- very large number of small modifications to the disk.
+ speed up things since most of these services incur a
+ large number of small modifications to the disk.
</para>
<para>You can also experiment with enlarging the portion
of system memory which is used for the file system buffer cache.
@@ -139,8 +154,8 @@
<title>Services to offer</title>
<para>
Every mirror site is required to have a set of core services
- available. In addition to these basic services, which mirrors are
- required to provide, there is a number of optional services that
+ available. In addition to these required services, there are
+ a number of optional services that
server administrators may choose to offer. This section explains
which services you can provide and how to go about implementing them.
</para>
@@ -148,7 +163,7 @@
<title>FTP (required for FTP fileset)</title>
<para>
This is one of the most basic services, and
- it is required for each mirror, offering public
+ it is required for each mirror offering public
FTP distributions. FTP access must be
anonymous, and no upload/download ratios
are allowed (a ridiculous thing anyway).
@@ -194,22 +209,25 @@
FreeBSD's <application>ftpd</application>, <application>proftpd</application>,
<application>wu-ftpd</application> and maybe <application>ncftpd</application>
are among the most commonly ones.
- The others do not have a large userbase among mirror sites.
+ The others do not have a large userbase among mirror sites. One
+ thing to consider is that you may need flexibility in limiting
+ how many simultaneous connections are allowed, thus limiting how
+ much network bandwidth and system resources are consumed.
</para>
</sect3>
<sect3 id="mirror-serv-rsync">
<title>RSYNC (optional for FTP fileset)</title>
<para>
- <application>Rsync</application> is often also offered for convenience, for the
- contents of the FTP area of FreeBSD. The
- protocol is different from FTP in many ways, and
- overall, it can be stated, that it is much more
+ <application>rsync</application> is often offered for access to the
+ contents of the FTP area of FreeBSD, so other mirror sites can use your system as their source. The
+ protocol is different from FTP in many ways.
+ It is much more
bandwidth friendly, as only differences between files
- are transferred, not whole files.
- <application>Rsync</application> does require significant amount of memory for
+ are transferred instead of whole files when they change.
+ <application>rsync</application> does require a significant amount of memory for
each instance. The size depends on the size of
- the synced module in terms of number of directories and
- files. <application>Rsync</application> can use <command>rsh</command> and
+ the synced module in terms of the number of directories and
+ files. <application>rsync</application> can use <command>rsh</command> and
<command>ssh</command> (now default) as a transport,
or use it's own protocol for stand-alone access
(this is the preferred method for public rsync servers).
@@ -242,7 +260,7 @@
<listitem>
<para><filename role="package">www/thttpd</filename>:
- If you are going to be serving a lot amount of static content
+ If you are going to be serving a large amount of static content
you may find that using an application such as tHttpd is more
efficient than Apache. It is optimized for excellent performance
on FreeBSD.</para>
@@ -263,10 +281,10 @@
<title>CVSup (desired for CVS repository)</title>
<para>
<application>CVSup</application> is a very efficient way of distributing files.
- It works similar as rsync, but was specially designed for
- the use with CVS repositories. If you want to offer the
+ It works similar to <application>rsync</application>, but was specially designed for
+ use with CVS repositories. If you want to offer the
FreeBSD CVS repository, you really want to consider
- offering it via <application>CVSup</application>. Still it is possible to offer
+ offering it via <application>CVSup</application>. It is possible to offer
the CVS repository via <application>AnonCVS</application>, FTP,
<application>Rsync</application> or HTTP, but
people would benefit much more from <application>CVSup</application> access.
@@ -274,7 +292,7 @@
It is a bit tricky to install on non-FreeBSD platforms,
since it is written in Modula-3 and therefore requires
a Modula-3 environment. John Polstra has built a
- stripped down version of M3, that is sufficient to
+ stripped down version of M3 that is sufficient to
run <application>CVSup</application>, and can be installed much easier.
See <ulink url="http://www.polstra.com/projects/freeware/ezm3/">Ezm3</ulink>
for details. Related ports are:
@@ -287,7 +305,7 @@
<listitem>
<para><filename role="package">net/cvsup-mirror</filename>: The CVSup mirror kit, which requires
<filename role="package">net/cvsup</filename>, and configures it mirror-ready. Some
- site administrators may want a different setup, though.
+ site administrators may want a different setup though.
</para>
</listitem>
</itemizedlist>
@@ -296,16 +314,16 @@
<filename role="package">net/cvsup-without-gui</filename> you might want to have
a look at. If you prefer a static binary package, take a look
<ulink url="http://people.FreeBSD.org/~jdp/s1g/">here</ulink>.
- This page still refers to the S1G bug, that was present
+ This page still refers to the S1G bug that was present
in <application>CVSup</application>. Maybe
John will setup a generic download-site to get
static binaries for various platforms.
</para>
<para>
- It is possible to use CVSup to offer
+ It is possible to use <application>CVSup</application> to offer
any kind of fileset, not just CVS repositories,
but configuration can be complex.
- CVSup is known to eat some CPU on the server as on the
+ <application>CVSup</application> is known to eat some CPU on both the server and the
client, since it needs to compare lots of files.
</para>
</sect3>
@@ -314,12 +332,12 @@
<para>
If you have the CVS repository, you may want to offer
anonymous CVS access. A short warning first:
- There is not that much demand for it,
- and it requires some experience and you need to know,
+ There is not much demand for it,
+ it requires some experience, and you need to know
what you are doing.
</para>
<para>
- Generally there are two ways, how
+ Generally there are two ways
to access a CVS repository remotely: via
<emphasis>pserver</emphasis> or via <command>ssh</command>
(we don't consider <command>rsh</command>).
@@ -330,7 +348,7 @@
in the CVS repository, to be used as a login-shell for the
anonymous ssh account. It does a chroot, and therefore
requires the CVS repository to be available under the
- anonymous user's home-directory, which may not be possible
+ anonymous user's home-directory. This may not be possible
for all sites. If you just offer <emphasis>pserver</emphasis>
this restriction does not apply, but you may run with
more security risks. You don't need to install any special
@@ -341,19 +359,19 @@
<programlisting>
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --allow-root=/home/ncvs pserver
</programlisting>
- See the manpage for details of the options. See also the cvs <emphasis>info</emphasis>
- page, about additional ways to make sure, access is read-only.
- It is advisable, that you create an unprivileged account,
+ See the manpage for details of the options. Also see the CVS <emphasis>info</emphasis>
+ page about additional ways to make sure access is read-only.
+ It is advised that you create an unprivileged account,
preferably called <username>anoncvs</username>.
Also you need to create a file <filename>passwd</filename>
in your <filename>/home/ncvs/CVSROOT</filename> and assign a
CVS password (empty or <literal>anoncvs</literal>) to that user.
The directory <filename>/anoncvstmp</filename> is a special
purpose memory based file system. It is not required but
- advised, since &man.cvs.1; creates a shadow directory
+ advised since &man.cvs.1; creates a shadow directory
structure in your <filename>/tmp</filename> which is
- not used after the operation, but slows things
- dramatically, if real disk operations are required.
+ not used after the operation but slows things
+ dramatically if real disk operations are required.
Here is an excerpt from <filename>/etc/fstab</filename>,
how to set up such a MFS:
<programlisting>
@@ -365,9 +383,9 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</sect2>
</sect1>
<sect1 id="mirror-howto">
- <title>How to mirror FreeBSD</title>
+ <title>How to Mirror FreeBSD</title>
<para>
- Ok now, you know the requirements, and how to offer
+ Ok, now you know the requirements and how to offer
the services, but not how to get it. :-)
This section explains how to actually mirror
the various parts of FreeBSD, what tools to use,
@@ -376,22 +394,22 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<sect2 id="mirror-ftp">
<title>FTP</title>
<para>
- The FTP area is the largest amount of data, that
- needs to be mirrored. It includes the <emphasis>distributions
- sets</emphasis>, required for network installation, the
- <emphasis>branches</emphasis>, that are actually snapshots
+ The FTP area is the largest amount of data that
+ needs to be mirrored. It includes the <emphasis>distribution
+ sets</emphasis> required for network installation, the
+ <emphasis>branches</emphasis> which are actually snapshots
of checked-out source trees, the <emphasis>ISO Images</emphasis>
to write CD-ROMs with the installation distribution,
- a live file system, and lots of packages, the ports tree,
- distfiles and a huge amount of packages. All of course
- for various FreeBSD versions, and <emphasis>i386</emphasis>
- and <emphasis>alpha</emphasis> architecture.
+ a live file system, lots of packages, the ports tree,
+ distfiles, and a huge amount of packages. All of course
+ for various FreeBSD versions,
+ and various architectures.
</para>
<sect3 id="mirror-ftp-ftp">
<title>With FTP mirror</title>
<para>
You can use a <application>FTP mirror</application>
- program, to get the files. There are a lot around, and
+ program to get the files. There are a lot around and
widely used, like:
<itemizedlist>
<listitem><para><filename role="package">ftp/mirror</filename></para></listitem>
@@ -404,40 +422,38 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<filename role="package">ftp/mirror</filename> was very popular, but seemed
to have some drawbacks, as it is written in &man.perl.1;,
- and did have real problems on mirroring large
- directories like a FreeBSD site. There are rumors, that
- the current version has fixed this, by allowing
- to specify a different algorithm for comparing
- the directory structure.
+ and had real problems with mirroring large
+ directories like a FreeBSD site. There are rumors that
+ the current version has fixed this by allowing
+ a different algorithm for comparing
+ the directory structure to be specified.
</para>
<para>
- In general FTP is not really good for mirroring, since it transfers
- each whole file, if it has changed, and does
- not create a single data stream, that will benefit from
+ In general FTP is not really good for mirroring. It transfers
+ the whole file if it has changed, and does
+ not create a single data stream which would benefit from
a large TCP congestion window.
</para>
</sect3>
<sect3 id="mirror-ftp-rsync">
<title>With RSYNC</title>
<para>
- A better way, to mirror the FTP area is <application>rsync</application>.
+ A better way to mirror the FTP area is <application>rsync</application>.
You can install the port <filename role="package">net/rsync</filename> and then use
rsync to sync with your upstream host.
<application>rsync</application> is already mentioned
in <xref linkend="mirror-serv-rsync">.
Since <application>rsync</application> access is not
required, your preferred upstream site may not allow it.
- Since it is quite common, though, chances are small, that
- you cannot use it. You can always consider using an
- upstream server, that offers it, just for the benefits
- of rsync.
+ You may need to hunt around a little bit to find a site
+ that allows <application>rsync</application> access.
<note>
<para>
Since the number of <application>rsync</application>
clients will have a significant impact on the server
machine, most admins impose limitations on their
server. For a mirror, you should ask the site maintainer
- you are syncing from, about their policy, and maybe
+ you are syncing from about their policy, and maybe
an exception for your host (since you are a mirror).
</para>
</note>
@@ -452,19 +468,19 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
be aware that the module-directory (here "FreeBSD")
will not be created, so you cannot omit the target directory.
Also you might
- want to set up a script framework, that calls such a command
+ want to set up a script framework that calls such a command
via &man.cron.8;.
</para>
</sect3>
<sect3 id="mirror-ftp-cvsup">
<title>With CVSup</title>
<para>
- A few sites, including the one-and-only <hostid>ftp-master.FreeBSD.org</hostid>
+ A few sites, including the one-and-only <hostid role="fqdn">ftp-master.FreeBSD.org</hostid>
even offer <application>CVSup</application> to mirror the contents of
the FTP space. You need to install a <application>cvsup</application>
- client, preferably from the port: <filename role="package">net/cvsup</filename>.
+ client, preferably from the port <filename role="package">net/cvsup</filename>.
(Also reread <xref linkend="mirror-serv-cvsup">.)
- A sample supfile, suitable for <hostid>ftp-master.FreeBSD.org</hostid>
+ A sample <filename>supfile</filename> suitable for <hostid role="fqdn">ftp-master.FreeBSD.org</hostid>
looks like this:
<programlisting>
#
@@ -484,9 +500,8 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</programlisting>
It seems <application>CVSup</application> would be the best
- way to mirror the archive, in terms of efficiency, but
- it is only available from few sites. In fact I just know
- <hostid>ftp-master.FreeBSD.org</hostid> for sure.
+ way to mirror the archive in terms of efficiency, but
+ it is only available from few sites.
<note id="mirror-cvsup-s-option">
<para>
Please have look at the <application>CVSup</application> documentation
@@ -502,7 +517,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<title>Mirroring the CVS repository</title>
<para>
Again you have various possibilities, but the most
- recommended one, is to use <link linkend="mirror-cvs-cvsup">CVSup</link>.
+ recommended one is to use <link linkend="mirror-cvs-cvsup">CVSup</link>.
</para>
<sect3 id="mirror-cvs-cvsup">
<title>Using CVSup</title>
@@ -533,7 +548,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</para>
<note>
<para>
- Please don't forget to consider the hint,
+ Please do not forget to consider the hint
mentioned in <link linkend="mirror-cvsup-s-option">this note</link>
above.
</para>
@@ -554,16 +569,16 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<listitem><para>maybe even <application>HTTP</application></para></listitem>
</itemizedlist>
- If you find a site, that supports it, you could use
- <filename role="package">net/sup</filename>, but it is inferior to <application>CVSup</application>
- and it's deficiencies caused John Polstra to develop
+ If you find a site that supports it, you could use
+ <filename role="package">net/sup</filename>. But it is inferior to <application>CVSup</application>
+ and its deficiencies caused John Polstra to develop
<application>CVSup</application> in the first place, so
it is clearly not recommended.
<important>
<para>
You can <emphasis>NOT</emphasis> use AnonCVS to
- mirror the CVS repository, since CVS does not allow
+ mirror the CVS repository since CVS does not allow
you to access the repository itself, but only checked
out versions of the modules.
</para>
@@ -574,13 +589,13 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<sect2 id="mirror-www">
<title>Mirroring the WWW pages</title>
<para>
- The best way is, to check out the <emphasis>www</emphasis>
+ The best way is to check out the <emphasis>www</emphasis>
distribution from CVS. If you have a local mirror of the
CVS repository, it is probably as easy as:
<screen>&prompt.user; <userinput>cvs -d /home/ncvs co www</userinput></screen>
and a <emphasis>cronjob</emphasis>, that calls <command>cvs up -d -P</command>
on a regular basis, maybe just after your repository was updated.
- Of course, the files need to remain in a directory, available
+ Of course, the files need to remain in a directory available
for public WWW access. The installation and configuration of a
webserver is not discussed here.
</para>
@@ -588,7 +603,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<note><para>For the website to be visible, users must execute the &man.make.1;
command in the main <filename>www</filename> directory. This command
will create the standard <filename>*.html</filename> files for web
- viewing. For this to work, however, the
+ viewing. For this to work however, the
<filename role="package">textproc/docproj</filename> port must be
installed.</para></note>
<para>
@@ -615,16 +630,16 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</programlisting>
</para>
<para>
- Using <filename role="package">ftp/wget</filename> or other web-mirror tools, is
+ Using <filename role="package">ftp/wget</filename> or other web-mirror tools is
probably not recommended.
</para>
<sect3 id="mirror-www-doc">
<title>Mirroring the FreeBSD documentation</title>
<para>
- As the documentation is referenced a lot from the
- webpages, it is recommended, that you mirror the
+ Since the documentation is referenced a lot from the
+ webpages, it is recommended that you mirror the
FreeBSD documentation as well. However, this is not
- so trivial as the www-pages alone.
+ as trivial as the www-pages alone.
</para>
<para>
First of all, you should get the doc sources,
@@ -650,27 +665,27 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</para>
<para>
Then you need to install a couple of ports.
- You are lucky, that there is a meta-port:
+ You are lucky, there is a meta-port:
<filename role="package">textproc/docproj</filename> to do the work
- for you. You need to setup some
+ for you. You need to set up some
environment variables, like
- <literal>SGML_CATALOG_FILES</literal>,
- also have a look at your <filename>/etc/make.conf</filename>
+ <literal>SGML_CATALOG_FILES</literal>.
+ Also have a look at your <filename>/etc/make.conf</filename>
(copy <filename>/etc/defaults/make.conf</filename> if
- you don't have one), and look at the
+ you do not have one), and look at the
<literal>DOC_LANG</literal> variable.
Now you are probably ready to run <command>make</command>
in you doc directory (<filename>/usr/share/doc</filename>
by default) and build the documentation.
Again you need to make it accessible for your webserver
- and make sure, the links point to the right location.
+ and make sure the links point to the right location.
<important>
<para>
The building of the documentation, as well as lots
of side issues, is documented itself in:
<ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/fdp-primer/">fdp-primer</ulink>.
Please read this piece of documentation, especially if you
- have problems, building the documentation.
+ have problems building the documentation.
</para>
</important>
<note>
@@ -686,7 +701,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<para>
Every mirror should be updated on a regular
basis. You will certainly need some script
- framework for it, that will be called by
+ framework for it that will be called by
&man.cron.8;. Since nearly every admin
does this his own way, we cannot give
specific instructions. It could work
@@ -702,19 +717,25 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</step>
<step>
<para>
- Add some output redirections, so diagnostic
+ Add some output redirections so diagnostic
messages are logged to a file.
</para>
</step>
<step>
<para>
- Test, if your script works. Check the logs.
+ Test if your script works. Check the logs.
</para>
</step>
<step>
<para>
- Use &man.crontab.1; to add the script the
- appropriate user's &man.crontab.5;.
+ Use &man.crontab.1; to add the script to the
+ appropriate user's &man.crontab.5;. This should be a
+ different user than what your FTP daemon runs as so that
+ if file permissions inside your FTP area are not
+ world-readable those files can not be accessed by anonymous
+ FTP. This is used to <quote>stage</quote> releases &mdash;
+ making sure all of the official mirror sites have all of the
+ necessary release files on release day.
</para>
</step>
</procedure>
@@ -732,53 +753,62 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<title>Where to mirror from</title>
<para>
This is an important issue. So this section will
- spend some effort to explain the backgrounds.
+ spend some effort to explain the backgrounds. We will say this
+ several times: under no circumstances should you mirror from
+ <hostid role="fqdn">ftp.FreeBSD.org</hostid>.
</para>
<sect2 id="mirror-where-organization">
<title>A few words about the organization</title>
<para>
Mirrors are organized by country. All
official mirrors have a DNS entry of the form
- <hostid>ftpN.CC.FreeBSD.org</hostid>. With
- <emphasis>CC</emphasis> (i.e. country code) being the
- <emphasis>top level domain</emphasis>
- of the country, where this mirror is located;
- and <emphasis>N</emphasis> is a number,
+ <hostid role="fqdn">ftpN.CC.FreeBSD.org</hostid>.
+ <emphasis>CC</emphasis> (i.e. country code) is the
+ <emphasis>top level domain</emphasis> (TLD)
+ of the country where this mirror is located.
+ <emphasis>N</emphasis> is a number,
telling that the host would be the <emphasis>Nth</emphasis>
mirror in that country.
(Same applies to <hostid>cvsupN.CC.FreeBSD.org</hostid>,
<hostid>wwwN.CC.FreeBSD.org</hostid>, etc.)
There are mirrors with no <emphasis>CC</emphasis> part.
- These are usually located in the US, but don't need to.
- <hostid>ftp.FreeBSD.org</hostid> is currently
- located in Denmark and just another mirror
- (i.e. it is <emphasis>NO</emphasis> master site).
+ These are the mirror sites that are very well connected and
+ allow a large number of concurrent users.
+ <hostid role="fqdn">ftp.FreeBSD.org</hostid> is actually two machines, one currently
+ located in Denmark and the other in the United States.
+ It is <emphasis>NOT</emphasis> a master site and should never be
+ used to mirror from. Lots of online documentation leads
+ <quote>interactive</quote>users to
+ <hostid role="fqdn">ftp.FreeBSD.org</hostid> so automated mirroring
+ systems should find a different machine to mirror from.
</para>
<para>
Additionally there exists a hierarchy of mirrors, which
- is described terms of <emphasis>tiers</emphasis>.
- The master sites are not referred to, but can be
+ is described in terms of <emphasis>tiers</emphasis>.
+ The master sites are not referred to but can be
described as <emphasis>Tier-0</emphasis>. Mirrors
that mirror from these sites can be considered
<emphasis>Tier-1</emphasis>, mirrors of <emphasis>Tier-1</emphasis>-mirrors,
are <emphasis>Tier-2</emphasis>, etc.
Official sites are encouraged to be of a low <emphasis>tier</emphasis>,
- but the lower the tier, the higher the requirements in
+ but the lower the tier the higher the requirements in
terms as described in <xref linkend="mirror-requirements">.
Also access to low-tier-mirrors may be restricted, and
access to master sites is definitely restricted.
The <emphasis>tier</emphasis>-hierarchy is not reflected
- by DNS and generally not documented anywhere, except
- for the master sites. However, official mirrors with low numbers,
+ by DNS and generally not documented anywhere except
+ for the master sites. However, official mirrors with low numbers
like 1-4, are usually <emphasis>Tier-1</emphasis>
- (this is just a rough hint, and there's no rule).
+ (this is just a rough hint, and there is no rule).
</para>
</sect2>
<sect2 id="mirror-where-where">
<title>Ok, but where should I get the stuff now?</title>
<para>
+ Under no circumstances should you mirror from <hostid
+ role="fqdn">ftp.FreeBSD.org</hostid>.
The short answer is: from the
- site, that is closest to you in Internet terms, or gives you
+ site that is closest to you in Internet terms, or gives you
the fastest access.
</para>
<sect3 id="mirror-where-simple">
@@ -798,7 +828,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</step>
<step>
<para>
- Check roughly those, which provide fastest access
+ Check for those which provide fastest access
(number of hops, round-trip-times)
and offer the services you intend to
use (like <application>rsync</application>
@@ -807,7 +837,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</step>
<step>
<para>
- Contact the admins of your chosen site, stating your
+ Contact the administrators of your chosen site stating your
request, and asking about their terms and
policies.
</para>
@@ -824,28 +854,36 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<para>
In general the description in <xref linkend="mirror-where-simple">
still applies. Of course you may want to put some
- weight on the fact, that your upstream should be of
+ weight on the fact that your upstream should be of
a low tier.
There are some other considerations about <emphasis>official</emphasis>
- mirrors, that are described in <xref linkend="mirror-official">.
+ mirrors that are described in <xref linkend="mirror-official">.
</para>
</sect3>
<sect3 id="mirror-where-master">
<title>I want to access the master sites!</title>
<para>
- If you have good reasons, and good prerequisites,
+ If you have good reasons and good prerequisites,
you may want and get access to one of the
master sites. Access to these sites is
generally restricted, and there are special policies
for access. If you are already an <emphasis>official</emphasis>
mirror, this certainly helps you getting access.
In any other case make sure your country really needs another mirror.
- If it already has three or more, ask the &a.hubs; first.
+ If it already has three or more, ask the <quote>zone administrator</quote> (<email>hostmaster@CC.freebsd.org</email>) or &a.hubs; first.</para>
+
+ <para>
+ Whoever helped you become, an <emphasis>official</emphasis>
+ should have helped you gain access to an appropriate upstream
+ host, either one of the master sites or a suitable Tier-1
+ site. If not, you can send email to
+ <email>mirror-admin@FreeBSD.org</email> to request help with
+ that.
</para>
<para>
- There are just two master sites, one for the FTP fileset and
+ There are three master sites for the FTP fileset and
one for the CVS repository (the webpages and docs are
- obtained from CVS, so there is no need for it).
+ obtained from CVS, so there is no need for master).
</para>
<sect4 id="mirror-where-master-ftp">
<title>ftp-master.FreeBSD.org</title>
@@ -865,10 +903,6 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
access for the FTP contents, since they are
<emphasis>Tier-1</emphasis>-mirrors.
</para>
- <para>
- To get access to <hostid>ftp-master.FreeBSD.org</hostid>,
- you need to contact &a.ftp-master;.
- </para>
</sect4>
<sect4 id="mirror-where-master-cvsup">
<title>cvsup-master.FreeBSD.org</title>
@@ -956,13 +990,13 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<important>
<para>It is <emphasis>very</emphasis> important for a hub administrator, especially
Tier-1 hub admins, to check the
- <ulink url="http://www.FreeBSD.org/releases/4.6R/schedule.html">release schedule</ulink>
+ <ulink url="http://www.FreeBSD.org/releng/">release schedule</ulink>
for the next FreeBSD release. This is important because it will tell you when the
next release is scheduled
to come out, and thus giving you time to prepare for the big spike of traffic which follows it.
</para>
<para>
- It is also eminent that hub administrators try to keep their mirrors as up-to-date as
+ It is also important that hub administrators try to keep their mirrors as up-to-date as
possible (again, even more crucial for Tier-1 mirrors). If Mirror1 doesn't update for a
while, lower tier mirrors will begin to mirror old data from Mirror1 and thus begins
a downward spiral... Keep your mirrors up to date!
@@ -974,14 +1008,14 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<para>
An interesting question, especially, since the state
of being official comes with some benefits, like a much
- higher bill from your ISP, as more people will be using
- your site. Also it may be a key requirement, to get access
+ higher bill from your ISP as more people will be using
+ your site. Also it may be a key requirement to get access
to a master site.
</para>
<para>
Before applying, please consider (again) if
another official mirror is really needed for
- your region. Ask on the &a.hubs;, if in doubt.
+ your region. Check first with your zone administrator (<email>hostmaster@CC.FreeBSD.org</email>) or, if that fails, ask on the &a.hubs;.
</para>
<para>Ok, here is how to do it:</para>
<procedure>
@@ -998,32 +1032,32 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</step>
<step>
<para>
- If everything works so far, contact the DNS admin, responsible
+ If everything works so far, contact the DNS administrator responsible
for your region/country, and ask for a DNS entry for your
site. The admin should able to be contacted via
- <email>hostmaster@cc.FreeBSD.org</email>, which
- <emphasis>cc</emphasis> being your country code/TLD
- again. Your DNS entry will look like described
+ <email>hostmaster@CC.FreeBSD.org</email>, where
+ <emphasis>CC</emphasis> is your country code/TLD.
+ Your DNS entry will be as described
in <xref linkend="mirror-where-organization">.
</para>
<para>
- If there is no subdomain delegated, yet, for your
- country, you probably need to contact
- <email>hostmaster@FreeBSD.org</email>,
- however, you can try the &a.hubs; first.
+ If there is no subdomain set up for your
+ country yet, you should contact
+ <email>mirror-admin@FreeBSD.org</email>,
+ or you can try the &a.hubs; first.
</para>
</step>
<step>
<para>
- Then you can ask the &a.doc; or the &a.hubs;
- to add your mirror site to the mirror list in the
+ Whoever helps you get an official name should send email
+ to <email>mirror-admin@FreeBSD.org</email> so your site will be
+ added to the mirror list in the
<ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook">FreeBSD
- Handbook</ulink>. Make sure you tell them the email address,
- to list as the maintainer of the site.
+ Handbook</ulink>.
</para>
</step>
</procedure>
- <para>This is it.</para>
+ <para>That is it.</para>
</sect2>
</sect1>
<sect1 id="mirror-statpages">