aboutsummaryrefslogtreecommitdiff
path: root/zh_TW.UTF-8/articles
diff options
context:
space:
mode:
authorRuey-Cherng Yu <rcyu@FreeBSD.org>2017-12-14 12:03:21 +0000
committerRuey-Cherng Yu <rcyu@FreeBSD.org>2017-12-14 12:03:21 +0000
commit81814185f02c917a21b73056c3b0f81ccbb3ef95 (patch)
tree275516197055bdb62a1f8a00a145d0eb912e880d /zh_TW.UTF-8/articles
parent588a3f5e00326a8e1576568d2f195fc5a2ee4e0a (diff)
downloaddoc-81814185f02c917a21b73056c3b0f81ccbb3ef95.tar.gz
doc-81814185f02c917a21b73056c3b0f81ccbb3ef95.zip
- move the old translation strings to PO translation
Notes
Notes: svn path=/head/; revision=51308
Diffstat (limited to 'zh_TW.UTF-8/articles')
-rw-r--r--zh_TW.UTF-8/articles/hubs/article.xml783
-rw-r--r--zh_TW.UTF-8/articles/hubs/zh_TW.po657
2 files changed, 851 insertions, 589 deletions
diff --git a/zh_TW.UTF-8/articles/hubs/article.xml b/zh_TW.UTF-8/articles/hubs/article.xml
index 9700efa6e1..fb8f38938f 100644
--- a/zh_TW.UTF-8/articles/hubs/article.xml
+++ b/zh_TW.UTF-8/articles/hubs/article.xml
@@ -1,33 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
-<!-- $FreeBSD$ -->
-<!-- The FreeBSD Documentation Project -->
-<!-- Mirroring FreeBSD -->
-<!-- Translate into Chinese by chinsan.tw@gmail.com -->
-<!-- English Version: 1.62 -->
-<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="zh_tw">
- <info><title>Mirroring FreeBSD</title>
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
+<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:its="http://www.w3.org/2005/11/its" version="5.0" xml:lang="zh_TW">
+ <info><title xml:lang="en">Mirroring FreeBSD</title>
<authorgroup>
- <author><personname><firstname>Jun</firstname><surname>Kuriyama</surname></personname><affiliation>
- <address><email>kuriyama@FreeBSD.org</email></address>
+ <author xml:lang="en"><personname><firstname>Jun</firstname><surname>Kuriyama</surname></personname><affiliation>
+ <address xml:lang="en"><email>kuriyama@FreeBSD.org</email></address>
</affiliation></author>
- <author><personname><firstname>Valentino</firstname><surname>Vaschetto</surname></personname><affiliation>
- <address><email>logo@FreeBSD.org</email></address>
+ <author xml:lang="en"><personname><firstname>Valentino</firstname><surname>Vaschetto</surname></personname><affiliation>
+ <address xml:lang="en"><email>logo@FreeBSD.org</email></address>
</affiliation></author>
- <author><personname><firstname>Daniel</firstname><surname>Lang</surname></personname><affiliation>
- <address><email>dl@leo.org</email></address>
+ <author xml:lang="en"><personname><firstname>Daniel</firstname><surname>Lang</surname></personname><affiliation>
+ <address xml:lang="en"><email>dl@leo.org</email></address>
</affiliation></author>
- <author><personname><firstname>Ken</firstname><surname>Smith</surname></personname><affiliation>
- <address><email>kensmith@FreeBSD.org</email></address>
+ <author xml:lang="en"><personname><firstname>Ken</firstname><surname>Smith</surname></personname><affiliation>
+ <address xml:lang="en"><email>kensmith@FreeBSD.org</email></address>
</affiliation></author>
</authorgroup>
<legalnotice xml:id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.cvsup;
- &tm-attrib.general;
+ <para>FreeBSD 是 FreeBSD基金會的註冊商標</para>
+ <para>許多製造商和經銷商使用一些稱為商標的圖案或文字設計來彰顯自己的產品。 本文中出現的眾多商標,以及 FreeBSD Project 本身廣所人知的商標,後面將以 <quote>™</quote> 或 <quote>®</quote> 符號來標註。</para>
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
@@ -39,90 +32,75 @@
</abstract>
</info>
+ <note>
+ <para xml:lang="en">We are not accepting new mirrors at this time.</para>
+ </note>
+
<sect1 xml:id="mirror-contact">
<title>聯繫方式</title>
- <para>若要找整個 Mirror 機制的協調者,可以 email 到 <email>mirror-admin@FreeBSD.org</email>。此外,這裡也有份
- &a.hubs;。</para>
+ <para xml:lang="en">The Mirror System Coordinators can be reached through email
+ at <email>mirror-admin@FreeBSD.org</email>. There is also
+ a <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs">FreeBSD mirror sites mailing lists</link>.</para>
</sect1>
<sect1 xml:id="mirror-requirements">
<title>成為 FreeBSD mirrors 的必備條件</title>
<sect2 xml:id="mirror-diskspace">
<title>硬碟空間</title>
- <para>
- 硬碟空間是最重要的必備條件之一。
- 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
- 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 &rel2.current;-RELEASE/&rel.current;-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.
- Here are some approximate figures:
- </para>
+ <para>硬碟空間是最重要的必備條件之一。 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 that <emphasis>official</emphasis> mirrors are probably required to be complete. The web pages should always be mirrored completely. Also note that the numbers stated here are reflecting the current state (at 10.4-RELEASE/11.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. Here are some approximate figures:</para>
<itemizedlist>
- <listitem><para>完整 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>Web pages: 300 MB</para></listitem>
+ <listitem><para xml:lang="en">Full FTP Distribution: 1.4 TB</para></listitem>
+ <listitem><para xml:lang="en">CTM deltas: 10 GB</para></listitem>
+ <listitem><para xml:lang="en">Web pages: 1GB</para></listitem>
</itemizedlist>
+ <para xml:lang="en">
+ The current disk usage of FTP Distribution can be found at
+ <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes">ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes</link>.
+ </para>
</sect2>
<sect2 xml:id="mirror-bandwidth">
<title>網路頻寬</title>
- <para>
- 當然,你一定要能連上 Internet。
- 頻寬需求多少,這要看你所想要的 mirror 程度而定。
- 若只想要 mirror 一部份的 FreeBSD 檔案以作為網站或 intranet 的局部用途,
- 那麼頻寬需求會明顯比成為公共服務用途的小一些。
- 若想成為 official mirror 之一的話,那麼頻寬就勢必得增加才夠用。以下,我們僅列出一些估計值以做為參考:
- </para>
+ <para>當然,你一定要能連上 Internet。 頻寬需求多少,這要看你所想要的 mirror 程度而定。 若只想要 mirror 一部份的 FreeBSD 檔案以作為網站或 intranet 的局部用途, 那麼頻寬需求會明顯比成為公共服務用途的小一些。 若想成為 official mirror 之一的話,那麼頻寬就勢必得增加才夠用。以下,我們僅列出一些估計值以做為參考: </para>
<itemizedlist>
- <listitem><para>Local site, no public access: basically no minimum,
+ <listitem><para xml:lang="en">Local site, no public access: basically no minimum,
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, and your host
+ <listitem><para xml:lang="en">Unofficial public site: 34 Mbps is probably a good start.</para></listitem>
+ <listitem><para xml:lang="en">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 xml:id="mirror-system">
<title>系統需求、CPU、RAM</title>
- <para>
+ <para xml:lang="en">
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
- 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
- indeed consume some CPU. For AnonCVS it might
- be a nice idea to set up a memory resident file system (MFS) of at least
- 300 MB, so you need to take this into account
- for your memory requirements. The following
+ rsync. This can have a huge
+ impact on CPU and memory requirements as it is
+ considered a memory hog.
+ The following
are just examples to give you a very rough hint.
</para>
- <para>
+ <para xml:lang="en">
For a moderately visited site that offers
- <application>Rsync</application>, you might
+ <application>rsync</application>, you might
consider a current CPU with around 800MHz - 1 GHz,
and at least 512MB RAM. This is probably the
minimum you want for an <emphasis>official</emphasis>
site.
</para>
- <para>
+ <para xml:lang="en">
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>
+ <para xml:lang="en">
You also want to consider a fast disk subsystem.
- Operations on the CVS repository require a fast
+ Operations on the SVN repository require a fast
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
@@ -130,8 +108,8 @@
</para>
</sect2>
<sect2 xml:id="mirror-services">
- <title>Services to offer</title>
- <para>
+ <title xml:lang="en">Services to offer</title>
+ <para xml:lang="en">
Every mirror site is required to have a set of core services
available. In addition to these required services, there are
a number of optional services that
@@ -139,8 +117,8 @@
which services you can provide and how to go about implementing them.
</para>
<sect3 xml:id="mirror-serv-ftp">
- <title>FTP (required for FTP fileset)</title>
- <para>
+ <title xml:lang="en">FTP (required for FTP fileset)</title>
+ <para xml:lang="en">
This is one of the most basic services, and
it is required for each mirror offering public
FTP distributions. FTP access must be
@@ -151,42 +129,34 @@
Also the FreeBSD archive should be available under
the path <filename>/pub/FreeBSD</filename>.
</para>
- <para>
+ <para xml:lang="en">
There is a lot of software available which
can be set up to allow anonymous FTP
- (in alphabetical order).
+ (in alphabetical order).</para>
<itemizedlist>
- <listitem><para><command>/usr/libexec/ftpd</command>: FreeBSD's own ftpd
- can be used. Be sure to read &man.ftpd.8;.</para>
+ <listitem><para xml:lang="en"><command>/usr/libexec/ftpd</command>: FreeBSD's own ftpd
+ can be used. Be sure to read <citerefentry><refentrytitle>ftpd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
<listitem>
- <para><package>ftp/ncftpd</package>: A commercial package,
+ <para xml:lang="en"><package>ftp/ncftpd</package>: A commercial package,
free for educational use.</para>
</listitem>
<listitem>
- <para><package>ftp/oftpd</package>: An ftpd designed with
+ <para xml:lang="en"><package>ftp/oftpd</package>: An ftpd designed with
security as a main focus.</para>
</listitem>
<listitem>
- <para><package>ftp/proftpd</package>: A modular and very flexible ftpd.</para>
+ <para xml:lang="en"><package>ftp/proftpd</package>: A modular and very flexible ftpd.</para>
</listitem>
<listitem>
- <para><package>ftp/pure-ftpd</package>: Another ftpd developed with
+ <para xml:lang="en"><package>ftp/pure-ftpd</package>: Another ftpd developed with
security in mind.</para>
</listitem>
- <listitem><para><package>ftp/twoftpd</package>: As above.</para></listitem>
- <listitem><para><package>ftp/vsftpd</package>: The <quote>very secure</quote> ftpd.</para></listitem>
- <listitem>
- <para><package>ftp/wu-ftpd</package>: The ftpd from Washington
- University. It has become infamous, because of the huge
- amount of security issues that have been found in it.
- If you do choose to use this software be sure to
- keep it up to date.
- </para>
- </listitem>
+ <listitem><para xml:lang="en"><package>ftp/twoftpd</package>: As above.</para></listitem>
+ <listitem><para xml:lang="en"><package>ftp/vsftpd</package>: The <quote>very secure</quote> ftpd.</para></listitem>
</itemizedlist>
- FreeBSD's <application>ftpd</application>, <application>proftpd</application>,
- <application>wu-ftpd</application> and maybe <application>ncftpd</application>
+ <para xml:lang="en">FreeBSD's <application>ftpd</application>, <application>proftpd</application>
+ and maybe <application>ncftpd</application>
are among the most commonly used FTPds.
The others do not have a large userbase among mirror sites. One
thing to consider is that you may need flexibility in limiting
@@ -195,8 +165,8 @@
</para>
</sect3>
<sect3 xml:id="mirror-serv-rsync">
- <title>Rsync (optional for FTP fileset)</title>
- <para>
+ <title xml:lang="en">Rsync (optional for FTP fileset)</title>
+ <para xml:lang="en">
<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.
@@ -212,34 +182,30 @@
(this is the preferred method for public rsync servers).
Authentication, connection limits, and other restrictions
may be applied. There is just one software package
- available:
+ available:</para>
<itemizedlist>
- <listitem><para><package>net/rsync</package></para></listitem>
+ <listitem><para xml:lang="en"><package>net/rsync</package></para></listitem>
</itemizedlist>
- </para>
</sect3>
<sect3 xml:id="mirror-serv-http">
- <title>HTTP (required for web pages, optional for FTP fileset)</title>
- <para>
+ <title xml:lang="en">HTTP (required for web pages, optional for FTP fileset)</title>
+ <para xml:lang="en">
If you want to offer the FreeBSD web pages, you will need
to install a web server.
You may optionally offer the FTP fileset via HTTP.
The choice of web server software is left up to the mirror administrator.
- Some of the most popular choices are:
+ Some of the most popular choices are:</para>
<itemizedlist>
<listitem>
- <para><package>www/apache13</package>:
+ <para xml:lang="en"><package>www/apache22</package>:
<application>Apache</application> is the most widely
deployed web server on the Internet. It is used
- extensively by the FreeBSD Project. You may also wish to
- use the next generation of the
- <application>Apache</application> web server, available
- in the ports collection as <package>www/apache22</package>.</para>
+ extensively by the FreeBSD Project.</para>
</listitem>
<listitem>
- <para><package>www/thttpd</package>:
+ <para xml:lang="en"><package>www/thttpd</package>:
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 <application>Apache</application>. It is
@@ -247,7 +213,7 @@
</listitem>
<listitem>
- <para><package>www/boa</package>:
+ <para xml:lang="en"><package>www/boa</package>:
<application>Boa</application> is another alternative to
<application>thttpd</application> and
<application>Apache</application>. It should provide
@@ -257,170 +223,44 @@
contain the same set of optimizations for FreeBSD that
are found in <application>thttpd</application>.</para>
</listitem>
- </itemizedlist>
- </para>
- </sect3>
- <sect3 xml:id="mirror-serv-cvsup">
- <title>CVSup (desired for CVS repository)</title>
- <para>
- <application>CVSup</application> is a very efficient way of distributing files.
- 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>. 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.
- <application>CVSup</application> was developed by &a.jdp;.
- 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
- run <application>CVSup</application>, and can be installed much easier.
- See <link xlink:href="http://www.polstra.com/projects/freeware/ezm3/">Ezm3</link>
- for details. Related ports are:
- <itemizedlist>
- <listitem>
- <para><package>net/cvsup</package>: The native CVSup port (client and server)
- which requires <package>lang/ezm3</package> now.</para>
- </listitem>
<listitem>
- <para><package>net/cvsup-mirror</package>: The CVSup mirror kit, which requires
- <package>net/cvsup-without-gui</package>, and configures it mirror-ready. Some
- site administrators may want a different setup though.
- </para>
+ <para xml:lang="en"><package>www/nginx</package>:
+ <application>Nginx</application> is a high performance edge web
+ server with a low memory footprint and key features to build
+ a modern and efficient web infrastructure. Features include
+ a HTTP server, HTTP and mail reverse proxy, caching, load
+ balancing, compression, request throttling, connection
+ multiplexing and reuse, SSL offload and HTTP media
+ streaming.</para>
</listitem>
</itemizedlist>
-
- There are a few more like
- <package>net/cvsup-without-gui</package> you might want to have
- a look at. If you prefer a static binary package, take a look
- <link xlink:href="http://people.FreeBSD.org/~jdp/s1g/">here</link>.
- This page still refers to the S1G bug that was present
- in <application>CVSup</application>. Maybe
- John will set up a generic download-site to get
- static binaries for various platforms.
- </para>
- <para>
- It is possible to use <application>CVSup</application> to offer
- any kind of fileset, not just CVS repositories,
- but configuration can be complex.
- <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>
- <sect3 xml:id="mirror-anoncvs">
- <title>AnonCVS (optional for CVS repository)</title>
- <para>
- If you have the CVS repository, you may want to offer
- anonymous CVS access. A short warning first:
- 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
- to access a CVS repository remotely: via
- <emphasis>pserver</emphasis> or via <command>ssh</command>
- (we do not consider <command>rsh</command>).
- For anonymous access, <emphasis>pserver</emphasis> is
- very well suited, but some still offer <command>ssh</command>
- access as well. There is a custom crafted
- <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/FreeBSD-CVS/anoncvs.shar">wrapper</link>
- 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. 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 do not need to install any special
- software, since &man.cvs.1; comes with
- FreeBSD. You need to enable access via <command>inetd</command>,
- so add an entry into your <filename>/etc/inetd.conf</filename>
- like this:
- <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. 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 <systemitem class="username">anoncvs</systemitem>.
- 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
- structure in your <filename>/tmp</filename> which is
- 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>
-/dev/da0s1b /anoncvstmp mfs rw,-s=786432,-b=4096,-f=512,-i=560,-c=3,-m=0,nosuid,nodev 0 0
- </programlisting>
- This is (of course) tuned a lot, and was suggested by &a.jdp;.
- </para>
</sect3>
</sect2>
</sect1>
<sect1 xml:id="mirror-howto">
- <title>How to Mirror FreeBSD</title>
- <para>
+ <title xml:lang="en">How to Mirror FreeBSD</title>
+ <para xml:lang="en">
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,
and where to mirror from.
</para>
- <sect2 xml:id="mirror-ftp">
- <title>FTP</title>
- <para>
+ <sect2 xml:id="mirror-ftp-rsync">
+ <title xml:lang="en">Mirroring the FTP site</title>
+ <para xml:lang="en">
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, lots of packages, the ports tree,
- distfiles, and a huge amount of packages. All of course
- for various FreeBSD versions,
- and various architectures.
+ a live file system, and a snapshot of the ports tree. All of
+ course for various FreeBSD versions, and various architectures.
</para>
- <sect3 xml:id="mirror-ftp-ftp">
- <title>With FTP mirror</title>
- <para>
- You can use a <application>FTP mirror</application>
- program to get the files. Some of the most commonly used are:
- <itemizedlist>
- <listitem><para><package>ftp/mirror</package></para></listitem>
- <listitem><para><package>ftp/ftpmirror</package></para></listitem>
- <listitem><para><package>ftp/emirror</package></para></listitem>
- <listitem><para><package>ftp/spegla</package></para></listitem>
- <listitem><para><package>ftp/omi</package></para></listitem>
- <listitem><para><package>ftp/wget</package></para></listitem>
- </itemizedlist>
-
- <package>ftp/mirror</package> was very popular, but seemed
- to have some drawbacks, as it is written in &man.perl.1;,
- 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. 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 xml:id="mirror-ftp-rsync">
- <title>With rsync</title>
- <para>
- A better way to mirror the FTP area is <application>rsync</application>.
+ <para xml:lang="en">
+ The best way to mirror the FTP area is <application>rsync</application>.
You can install the port <package>net/rsync</package> and then use
rsync to sync with your upstream host.
<application>rsync</application> is already mentioned
@@ -428,9 +268,9 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
Since <application>rsync</application> access is not
required, your preferred upstream site may not allow it.
You may need to hunt around a little bit to find a site
- that allows <application>rsync</application> access.
+ that allows <application>rsync</application> access.</para>
<note>
- <para>
+ <para xml:lang="en">
Since the number of <application>rsync</application>
clients will have a significant impact on the server
machine, most admins impose limitations on their
@@ -439,10 +279,9 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
an exception for your host (since you are a mirror).
</para>
</note>
- A command line to mirror FreeBSD might look like:
- <screen>&prompt.user; <userinput>rsync -vaz --delete ftp4.de.FreeBSD.org::FreeBSD/ /pub/FreeBSD/</userinput>
- </screen>
- Consult the documentation for <application>rsync</application>,
+ <para xml:lang="en">A command line to mirror FreeBSD might look like:</para>
+ <screen xml:lang="en"><prompt>%</prompt> <userinput>rsync -vaHz --delete rsync://ftp4.de.FreeBSD.org/FreeBSD/ /pub/FreeBSD/</userinput></screen>
+ <para xml:lang="en">Consult the documentation for <application>rsync</application>,
which is also available at
<link xlink:href="http://rsync.samba.org/">http://rsync.samba.org/</link>,
about the various options to be used with rsync.
@@ -451,260 +290,99 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
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
- via &man.cron.8;.
- </para>
- </sect3>
- <sect3 xml:id="mirror-ftp-cvsup">
- <title>With CVSup</title>
- <para>
- A few sites, including the one-and-only <systemitem class="fqdomainname">ftp-master.FreeBSD.org</systemitem>
- 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 <package>net/cvsup</package>.
- (Also reread <xref linkend="mirror-serv-cvsup"/>.)
- A sample <filename>supfile</filename> suitable for <systemitem class="fqdomainname">ftp-master.FreeBSD.org</systemitem>
- looks like this:
- <programlisting>
- #
- # FreeBSD archive supfile from master server
- #
- *default host=ftp-master.FreeBSD.org
- *default base=/usr
- *default prefix=/pub
- #*default release=all
- *default delete use-rel-suffix
- *default umask=002
-
- # If your network link is a T1 or faster, comment out the following line.
- #*default compress
-
- FreeBSD-archive release=all preserve
- </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.
- <note xml:id="mirror-cvsup-s-option">
- <para>
- Please have look at the <application>CVSup</application> documentation
- like &man.cvsup.1; and consider using the <option>-s</option>
- option. This reduces I/O operations by assuming the
- recorded information about each file is correct.</para>
- </note>
- </para>
- </sect3>
- </sect2>
- <sect2 xml:id="mirror-cvs">
- <title>Mirroring the CVS repository</title>
- <para>There are various ways to mirror the CVS repository.
- <application>CVSup</application> is the most common method.</para>
-
- <sect3 xml:id="mirror-cvs-cvsup">
- <title>Using CVSup</title>
- <para>
- <application>CVSup</application> is described in some
- detail in <xref linkend="mirror-serv-cvsup"/> and <xref linkend="mirror-ftp-cvsup"/>.
- </para>
- <para>It is very easy to setup a
- <application>CVSup</application> mirror. Installing
- <package>net/cvsup-mirror</package> will
- make sure all of the needed programs are installed and then
- gather all the needed information to configure the mirror.</para>
- <note>
- <para>
- Please do not forget to consider the hint
- mentioned in <link linkend="mirror-cvsup-s-option">this note</link>
- above.
- </para>
- </note>
- </sect3>
- <sect3 xml:id="mirror-cvs-other">
- <title>Using other methods</title>
- <para>
- Using other methods than <application>CVSup</application> is
- generally not recommended. We describe them in short here
- anyway. Since most sites offer the CVS repository as
- part of the FTP fileset under the path
- <filename>/pub/FreeBSD/development/FreeBSD-CVS</filename>,
- the following methods could be used.
- <itemizedlist>
- <listitem><para><application>FTP</application></para></listitem>
- <listitem><para><application>Rsync</application></para></listitem>
- <listitem><para><application>HTTP</application></para></listitem>
- </itemizedlist>
-
- <important>
- <para>AnonCVS cannot be used to mirror the CVS repository
- since CVS does not allow you to access the repository
- itself, only checked out versions of the modules.</para>
- </important>
+ via <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>
- </sect3>
</sect2>
<sect2 xml:id="mirror-www">
- <title>Mirroring the WWW pages</title>
- <para>
- 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 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
- for public WWW access. The installation and configuration of a
- web server is not discussed here.
- </para>
+ <title xml:lang="en">Mirroring the WWW pages</title>
+ <para xml:lang="en">
+ The FreeBSD website should only be mirrored via
+ <application>rsync</application>.</para>
+ <para xml:lang="en">A command line to mirror the FreeBSD web site might look like:</para>
+ <screen xml:lang="en"><prompt>%</prompt> <userinput>rsync -vaHz --delete rsync://bit0.us-west.freebsd.org/FreeBSD-www-data/ /usr/local/www/</userinput></screen>
+ </sect2>
+ <sect2 xml:id="mirror-pkgs">
+ <title xml:lang="en">Mirroring Packages</title>
+ <para xml:lang="en">Due to very high requirements of bandwidth, storage and
+ adminstration the FreeBSD Project has decided not to allow public
+ mirrors of packages. For sites with lots of machines, it might
+ be advantagous to run a caching HTTP proxy for the <citerefentry><refentrytitle>pkg</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ process. Alternatively specific packages and their dependencies
+ can be fetched by running something like the following:</para>
- <para>
- If you do not have a local repository, you can use
- <application>CVSup</application> to maintain an <quote>up to date copy</quote>
- of the www pages. A sample supfile can be found in
- <filename>/usr/share/examples/cvsup/www-supfile</filename> and
- could look like this:
- <programlisting>
- #
- # WWW module supfile for FreeBSD
- #
- *default host=cvsup3.de.FreeBSD.org
- *default base=/usr
- *default prefix=/usr/local
- *default release=cvs tag=.
- *default delete use-rel-suffix
+ <screen xml:lang="en"><prompt>%</prompt> <userinput>pkg fetch -d -o <replaceable>/usr/local/mirror</replaceable> <replaceable>vim</replaceable></userinput></screen>
- # If your network link is a T1 or faster, comment out the following line.
- *default compress
+ <para xml:lang="en">Once those packages have been fetched, the repository metadata must be generated by running:</para>
- # This collection retrieves the www/ tree of the FreeBSD repository
- www
- </programlisting>
- </para>
- <para>
- Using <package>ftp/wget</package> or other web-mirror tools is
- not recommended.
- </para>
- <sect3 xml:id="mirror-www-doc">
- <title>Mirroring the FreeBSD documentation</title>
- <para>
- Since the documentation is referenced a lot from the
- web pages, it is recommended that you mirror the
- FreeBSD documentation as well. However, this is not
- as trivial as the www-pages alone.
- </para>
- <para>
- First of all, you should get the doc sources,
- again preferably via <application>CVSup</application>.
- Here is a corresponding sample supfile:
- <programlisting>
- #
- # FreeBSD documentation supfile
- #
- *default host=cvsup3.de.FreeBSD.org
- *default base=/usr
- *default prefix=/usr/share
- *default release=cvs tag=.
- *default delete use-rel-suffix
-
- # If your network link is a T1 or faster, comment out the following line.
- #*default compress
+ <screen xml:lang="en"><prompt>%</prompt> <userinput>pkg repo <replaceable>/usr/local/mirror</replaceable></userinput></screen>
- # This will retrieve the entire doc branch of the FreeBSD repository.
- # This includes the handbook, FAQ, and translations thereof.
- doc-all
- </programlisting>
- </para>
- <para>
- Then you need to install a couple of ports.
- You are lucky, there is a meta-port:
- <package>textproc/docproj</package> to do the work
- 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>
- (copy <filename>/usr/share/examples/etc/make.conf</filename> if
- 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 your doc directory (<filename>/usr/share/doc</filename>
- by default) and build the documentation.
- Again you need to make it accessible for your web server
- 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 the
- <link xlink:href="&url.books.fdp-primer;">&os; Documentation
- Project Primer</link>.
- Please read this piece of documentation, especially if you
- have problems building the documentation.
- </para>
- </important>
- </para>
- </sect3>
+ <para xml:lang="en">Once the packages have been fetched and the metadata for the
+ repository has been generated, serve the packages up to the
+ client machines via HTTP. For additional information see the
+ man pages for <citerefentry><refentrytitle>pkg</refentrytitle><manvolnum>8</manvolnum></citerefentry>, specifically the <citerefentry><refentrytitle>pkg-repo</refentrytitle><manvolnum>8</manvolnum></citerefentry> page.
+ </para>
</sect2>
<sect2 xml:id="mirror-how-often">
- <title>How often should I mirror?</title>
- <para>
- Every mirror should be updated on a regular
- basis. You will certainly need some script
- 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
- like this:
+ <title xml:lang="en">How often should I mirror?</title>
+ <para xml:lang="en">
+ Every mirror should be updated at a minimum of once per day.
+ Certainly a script with locking to prevent multiple runs
+ happening at the same time will be needed to run from
+ <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Since nearly every admin does this in their own
+ way, specific instructions cannot be provided. It could work
+ something like this:
</para>
<procedure>
<step>
- <para>
+ <para xml:lang="en">
Put the command to run your mirroring application
in a script. Use of a plain <command>/bin/sh</command>
script is recommended.
</para>
</step>
<step>
- <para>
+ <para xml:lang="en">
Add some output redirections so diagnostic
messages are logged to a file.
</para>
</step>
<step>
- <para>
+ <para xml:lang="en">
Test if your script works. Check the logs.
</para>
</step>
<step>
- <para>
- Use &man.crontab.1; to add the script to the
- appropriate user's &man.crontab.5;. This should be a
+ <para xml:lang="en">
+ Use <citerefentry><refentrytitle>crontab</refentrytitle><manvolnum>1</manvolnum></citerefentry> to add the script to the
+ appropriate user's <citerefentry><refentrytitle>crontab</refentrytitle><manvolnum>5</manvolnum></citerefentry>. 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;
+ FTP. This is used to <quote>stage</quote> releases —
making sure all of the official mirror sites have all of the
necessary release files on release day.
</para>
</step>
</procedure>
- <para>
- Here are some recommended schedules:
+ <para xml:lang="en">
+ Here are some recommended schedules:</para>
<itemizedlist>
- <listitem><para>FTP fileset: daily</para></listitem>
- <listitem><para>CVS repository: hourly</para></listitem>
- <listitem><para>WWW pages: daily</para></listitem>
+ <listitem><para xml:lang="en">FTP fileset: daily</para></listitem>
+ <listitem><para xml:lang="en">WWW pages: daily</para></listitem>
</itemizedlist>
- </para>
</sect2>
</sect1>
<sect1 xml:id="mirror-where">
- <title>Where to mirror from</title>
- <para>
+ <title xml:lang="en">Where to mirror from</title>
+ <para xml:lang="en">
This is an important issue. So this section will
spend some effort to explain the backgrounds. We will say this
several times: under no circumstances should you mirror from
<systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem>.
</para>
<sect2 xml:id="mirror-where-organization">
- <title>A few words about the organization</title>
- <para>
+ <title xml:lang="en">A few words about the organization</title>
+ <para xml:lang="en">
Mirrors are organized by country. All
official mirrors have a DNS entry of the form
<systemitem class="fqdomainname">ftpN.CC.FreeBSD.org</systemitem>.
@@ -714,7 +392,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<emphasis>N</emphasis> is a number,
telling that the host would be the <emphasis>Nth</emphasis>
mirror in that country.
- (Same applies to <systemitem>cvsupN.CC.FreeBSD.org</systemitem>,
+ (Same applies to
<systemitem>wwwN.CC.FreeBSD.org</systemitem>, etc.)
There are mirrors with no <emphasis>CC</emphasis> part.
These are the mirror sites that are very well connected and
@@ -727,7 +405,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem> so automated mirroring
systems should find a different machine to mirror from.
</para>
- <para>
+ <para xml:lang="en">
Additionally there exists a hierarchy of mirrors, which
is described in terms of <emphasis>tiers</emphasis>.
The master sites are not referred to but can be
@@ -748,54 +426,46 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</para>
</sect2>
<sect2 xml:id="mirror-where-where">
- <title>Ok, but where should I get the stuff now?</title>
- <para>
+ <title xml:lang="en">Ok, but where should I get the stuff now?</title>
+ <para xml:lang="en">
Under no circumstances should you mirror from <systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem>.
The short answer is: from the
site that is closest to you in Internet terms, or gives you
the fastest access.
</para>
<sect3 xml:id="mirror-where-simple">
- <title>I just want to mirror from somewhere!</title>
- <para>
+ <title xml:lang="en">I just want to mirror from somewhere!</title>
+ <para xml:lang="en">
If you have no special intentions or
requirements, the statement in <xref linkend="mirror-where-where"/>
applies. This means:
</para>
<procedure>
<step>
- <para>
- Look at available mirrors in your country.
- The <link xlink:href="http://mirrorlist.FreeBSD.org/">FreeBSD
- Mirror Database</link> can help you with this.
- </para>
- </step>
- <step>
- <para>
+ <para xml:lang="en">
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>
- or <application>CVSup</application>).
+ use (like <application>rsync</application>).
</para>
</step>
<step>
- <para>
+ <para xml:lang="en">
Contact the administrators of your chosen site stating your
request, and asking about their terms and
policies.
</para>
</step>
<step>
- <para>
+ <para xml:lang="en">
Set up your mirror as described above.
</para>
</step>
</procedure>
</sect3>
<sect3 xml:id="mirror-where-official">
- <title>I am an official mirror, what is the right site for me?</title>
- <para>
+ <title xml:lang="en">I am an official mirror, what is the right site for me?</title>
+ <para xml:lang="en">
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
@@ -805,8 +475,8 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</para>
</sect3>
<sect3 xml:id="mirror-where-master">
- <title>I want to access the master sites!</title>
- <para>
+ <title xml:lang="en">I want to access the master sites!</title>
+ <para xml:lang="en">
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
@@ -814,9 +484,9 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
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 <quote>zone administrator</quote> (<email>hostmaster@CC.FreeBSD.org</email>) or &a.hubs; first.</para>
+ If it already has three or more, ask the <quote>zone administrator</quote> (<email>hostmaster@CC.FreeBSD.org</email>) or <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs">FreeBSD mirror sites mailing lists</link> first.</para>
- <para>
+ <para xml:lang="en">
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
@@ -824,123 +494,72 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
<email>mirror-admin@FreeBSD.org</email> to request help with
that.
</para>
- <para>
- There are three master sites for the FTP fileset and
- one for the CVS repository (the web pages and docs are
- obtained from CVS, so there is no need for master).
+ <para xml:lang="en">
+ There is one master site for the FTP fileset.
</para>
<sect4 xml:id="mirror-where-master-ftp">
- <title>ftp-master.FreeBSD.org</title>
- <para>
+ <title xml:lang="en">ftp-master.FreeBSD.org</title>
+ <para xml:lang="en">
This is the master site for the FTP fileset.
</para>
- <para>
+ <para xml:lang="en">
<systemitem>ftp-master.FreeBSD.org</systemitem> provides
- <application>rsync</application> and <application>CVSup</application>
+ <application>rsync</application>
access, in addition to FTP.
- Refer to <xref linkend="mirror-ftp-rsync"/> and
- <xref linkend="mirror-ftp-cvsup"/> how to access
- via these protocols.
+ Refer to <xref linkend="mirror-ftp-rsync"/>.
</para>
- <para>
+ <para xml:lang="en">
Mirrors are also encouraged to allow <application>rsync</application>
access for the FTP contents, since they are
<emphasis>Tier-1</emphasis>-mirrors.
</para>
</sect4>
- <sect4 xml:id="mirror-where-master-cvsup">
- <title>cvsup-master.FreeBSD.org</title>
- <para>
- This is the master site for the CVS repository.
- </para>
- <para>
- <systemitem>cvsup-master.FreeBSD.org</systemitem> provides
- <application>CVSup</application> access only.
- See <xref linkend="mirror-cvs-cvsup"/> for details.
- </para>
- <?ignore
- <para>
- To get access, you need to contact the &a.cvsup-master;.
- Make sure you read the
- <link xlink:href="http://people.FreeBSD.org/~jdp/cvsup-access/">FreeBSD CVSup Access Policy</link>
- first!
- </para>
- ?>
- <para>
- Set up the required authentication by following
- <link xlink:href="http://people.FreeBSD.org/~jdp/cvpasswd/">these
- instructions</link>. Make sure you specify the server as
- <systemitem>freefall.FreeBSD.org</systemitem> on the <command>cvpasswd</command>
- command line, as described in this document,
- even when you are contacting
- <systemitem>cvsup-master.FreeBSD.org</systemitem>
- </para>
- </sect4>
</sect3>
</sect2>
</sect1>
<sect1 xml:id="mirror-official">
- <title>Official Mirrors</title>
- <para>
- Official mirrors 站為具有下列條件的 mirror 站
+ <title xml:lang="en">Official Mirrors</title>
+ <para> Official mirrors 站為具有下列條件的 mirror 站 </para>
<itemizedlist>
<listitem>
- <para>
- a) 有 <systemitem>FreeBSD.org</systemitem> DNS entry
- (通常為 CNAME 紀錄)。
- </para>
+ <para>a) 有 FreeBSD.org DNS entry (通常為 CNAME 紀錄)。 </para>
</listitem>
<listitem>
- <para>
- b) 被 FreeBSD 文件列為 offical mirror 站(像是 handbook)。
- </para>
+ <para> b) 被 FreeBSD 文件列為 offical mirror 站(像是 handbook)。 </para>
</listitem>
</itemizedlist>
- 除了以上述方式來分辨是否為 official mirrors 站之外,
- Official mirrors 站不一定得為 <emphasis>Tier-1</emphasis>-mirrors 站。
- 然而,只要是 <emphasis>Tier-1</emphasis>-mirror 站的話,就一定會是
- official mirrors 站。
- </para>
+ <para> 除了以上述方式來分辨是否為 official mirrors 站之外, Official mirrors 站不一定得為 <emphasis>Tier-1</emphasis>-mirrors 站。 然而,只要是 <emphasis>Tier-1</emphasis>-mirror 站的話,就一定會是 official mirrors 站。 </para>
<sect2 xml:id="mirror-official-requirements">
- <title>Special Requirements for official (tier-1) mirrors</title>
- <para>
+ <title xml:lang="en">Special Requirements for official (tier-1) mirrors</title>
+ <para xml:lang="en">
It is not so easy to state requirements for all
official mirrors, since the project is sort of
tolerant here. It is more easy to say,
what <emphasis>official tier-1 mirrors</emphasis>
are required to. All other official mirrors
- can consider this a big <emphasis>should</emphasis>.
- <note>
- <para>
- The following applies mainly to the FTP fileset,
- since a CVS repository should always be mirrored
- completely, and the web pages are a case of
- its own.
- </para>
- </note>
- </para>
- <para>
- Tier-1 mirrors are required to:
+ can consider this a big <emphasis>should</emphasis>.</para>
+ <para xml:lang="en">
+ Tier-1 mirrors are required to:</para>
<itemizedlist>
- <listitem><para>carry the complete fileset</para></listitem>
- <listitem><para>allow access to other mirror sites</para></listitem>
- <listitem><para>provide <application>FTP</application> and
+ <listitem><para xml:lang="en">carry the complete fileset</para></listitem>
+ <listitem><para xml:lang="en">allow access to other mirror sites</para></listitem>
+ <listitem><para xml:lang="en">provide <application>FTP</application> and
<application>rsync</application> access</para></listitem>
</itemizedlist>
- Furthermore, admins should be subscribed to the &a.hubs;.
- See <link xlink:href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">this link</link> for details, how to subscribe.
+ <para xml:lang="en">Furthermore, admins should be subscribed to the <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs">FreeBSD mirror sites mailing lists</link>.
+ See <link xlink:href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">this link</link> for details, how to subscribe.
</para>
<important>
- <para>It is <emphasis>very</emphasis> important for a hub administrator, especially
+ <para xml:lang="en">It is <emphasis>very</emphasis> important for a hub administrator, especially
Tier-1 hub admins, to check the
- <link xlink:href="http://www.FreeBSD.org/releng/">release schedule</link>
+ <link xlink:href="https://www.FreeBSD.org/releng/">release schedule</link>
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>
+ <para xml:lang="en">
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 does not update for a
while, lower tier mirrors will begin to mirror old data from Mirror1 and thus begins
@@ -949,7 +568,8 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</important>
</sect2>
<sect2 xml:id="mirror-official-become">
- <title>How to become official then?</title>
+ <title xml:lang="en">How to become official then?</title>
+ <!--
<para>
An interesting question, especially, since the state
of being official comes with some benefits, like a much
@@ -972,7 +592,7 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</step>
<step>
<para>
- <link xlink:href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">Subscribe</link> to the &a.hubs;.
+ <ulink url="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">Subscribe</ulink> to the &a.hubs;.
</para>
</step>
<step>
@@ -997,25 +617,29 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
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
- <link xlink:href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook">FreeBSD
- Handbook</link>.
+ <ulink url="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook">FreeBSD
+ Handbook</ulink>.
</para>
</step>
</procedure>
<para>That is it.</para>
+ -->
+ <para xml:lang="en">
+ We are not accepting any new mirrors at this time.
+ </para>
</sect2>
</sect1>
<sect1 xml:id="mirror-statpages">
- <title>Some statistics from mirror sites</title>
- <para>
+ <title xml:lang="en">Some statistics from mirror sites</title>
+ <para xml:lang="en">
Here are links to the stat pages of your favorite mirrors
(a.k.a. the only ones who feel like providing stats).
</para>
<sect2 xml:id="mirror-statpagesftp">
- <title>FTP site statistics</title>
+ <title xml:lang="en">FTP site statistics</title>
<itemizedlist>
<listitem>
- <para>ftp.is.FreeBSD.org - <email>hostmaster@is.FreeBSD.org</email> -
+ <para xml:lang="en">ftp.is.FreeBSD.org - <email>hostmaster@is.FreeBSD.org</email> -
<link xlink:href="http://www.rhnet.is/status/draupnir/draupnir.html">
(Bandwidth)</link> <link xlink:href="http://www.rhnet.is/status/ftp/ftp-notendur.html">(FTP
processes)</link> <link xlink:href="http://www.rhnet.is/status/ftp/http-notendur.html">(HTTP processes)
@@ -1023,31 +647,12 @@ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --all
</para>
</listitem>
<listitem>
- <para>ftp.cz.FreeBSD.org - <email>cejkar@fit.vutbr.cz</email> -
- <link xlink:href="http://www.cz.FreeBSD.org/stats/mrtg/net.html">(Bandwidth)</link>
- <link xlink:href="http://www.freebsd.cz/stats/mrtg/ftpd.html">(FTP processes)</link>
- <link xlink:href="http://www.freebsd.cz/stats/mrtg/rsyncd.html">(rsync processes)</link>
- </para>
- </listitem>
- <listitem>
- <para>ftp2.ru.FreeBSD.org - <email>mirror@macomnet.ru</email> -
+ <para xml:lang="en">ftp2.ru.FreeBSD.org - <email>mirror@macomnet.ru</email> -
<link xlink:href="http://mirror.macomnet.net/mrtg/mirror.macomnet.net_195.128.64.25.html">(Bandwidth)</link>
<link xlink:href="http://mirror.macomnet.net/mrtg/mirror.macomnet.net_proc.html">(HTTP and FTP users)</link>
</para>
</listitem>
</itemizedlist>
</sect2>
- <sect2 xml:id="mirror-statpagescvsup">
- <title>CVSup site stats</title>
- <itemizedlist>
- <listitem>
- <para>cvsup[23456].jp.FreeBSD.org - <email>kuriyama@FreeBSD.org</email> - <link xlink:href="http://home.jp.FreeBSD.org/stats/mrtg/cvsup/">(CVSup processes)</link></para>
- </listitem>
- <listitem>
- <para>cvsup.cz.FreeBSD.org - <email>cejkar@fit.vutbr.cz</email> -
- <link xlink:href="http://www.freebsd.cz/stats/mrtg/cvsupd.html">(CVSup processes)</link></para>
- </listitem>
- </itemizedlist>
- </sect2>
</sect1>
</article>
diff --git a/zh_TW.UTF-8/articles/hubs/zh_TW.po b/zh_TW.UTF-8/articles/hubs/zh_TW.po
new file mode 100644
index 0000000000..96dc32e211
--- /dev/null
+++ b/zh_TW.UTF-8/articles/hubs/zh_TW.po
@@ -0,0 +1,657 @@
+# $FreeBSD$
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2017-12-15 03:12+0800\n"
+"PO-Revision-Date: 2017-12-14 19:24+0800\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"X-Generator: Poedit 1.8.11\n"
+
+#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
+msgctxt "_"
+msgid "translator-credits"
+msgstr ""
+
+#. (itstool) path: info/title
+#: article.translate.xml:4
+msgid "Mirroring FreeBSD"
+msgstr ""
+
+#. (itstool) path: affiliation/address
+#: article.translate.xml:8
+#, no-wrap
+msgid "<email>kuriyama@FreeBSD.org</email>"
+msgstr ""
+
+#. (itstool) path: authorgroup/author
+#: article.translate.xml:7
+msgid "<personname><firstname>Jun</firstname><surname>Kuriyama</surname></personname><affiliation> <_:address-1/> </affiliation>"
+msgstr ""
+
+#. (itstool) path: affiliation/address
+#: article.translate.xml:11
+#, no-wrap
+msgid "<email>logo@FreeBSD.org</email>"
+msgstr ""
+
+#. (itstool) path: authorgroup/author
+#: article.translate.xml:10
+msgid "<personname><firstname>Valentino</firstname><surname>Vaschetto</surname></personname><affiliation> <_:address-1/> </affiliation>"
+msgstr ""
+
+#. (itstool) path: affiliation/address
+#: article.translate.xml:14
+#, no-wrap
+msgid "<email>dl@leo.org</email>"
+msgstr ""
+
+#. (itstool) path: authorgroup/author
+#: article.translate.xml:13
+msgid "<personname><firstname>Daniel</firstname><surname>Lang</surname></personname><affiliation> <_:address-1/> </affiliation>"
+msgstr ""
+
+#. (itstool) path: affiliation/address
+#: article.translate.xml:17
+#, no-wrap
+msgid "<email>kensmith@FreeBSD.org</email>"
+msgstr ""
+
+#. (itstool) path: authorgroup/author
+#: article.translate.xml:16
+msgid "<personname><firstname>Ken</firstname><surname>Smith</surname></personname><affiliation> <_:address-1/> </affiliation>"
+msgstr ""
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:22
+msgid "FreeBSD is a registered trademark of the FreeBSD Foundation."
+msgstr "FreeBSD 是 FreeBSD基金會的註冊商標"
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:24
+msgid "Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the <quote>™</quote> or the <quote>®</quote> symbol."
+msgstr "許多製造商和經銷商使用一些稱為商標的圖案或文字設計來彰顯自己的產品。 本文中出現的眾多商標,以及 FreeBSD Project 本身廣所人知的商標,後面將以 <quote>™</quote> 或 <quote>®</quote> 符號來標註。"
+
+#. (itstool) path: info/pubdate
+#. (itstool) path: info/releaseinfo
+#: article.translate.xml:32 article.translate.xml:34
+msgid "$FreeBSD$"
+msgstr "$FreeBSD$"
+
+#. (itstool) path: abstract/para
+#: article.translate.xml:37
+msgid "An in-progress article on how to mirror FreeBSD, aimed at hub administrators."
+msgstr "這是份還在草稿中的文章,主要是(尤其是給各區網中心管理者的參考)介紹如何 mirror FreeBSD。"
+
+#. (itstool) path: note/para
+#: article.translate.xml:43
+msgid "We are not accepting new mirrors at this time."
+msgstr ""
+
+#. (itstool) path: sect1/title
+#: article.translate.xml:47
+msgid "Contact Information"
+msgstr "聯繫方式"
+
+#. (itstool) path: sect1/para
+#: article.translate.xml:49
+msgid "The Mirror System Coordinators can be reached through email at <email>mirror-admin@FreeBSD.org</email>. There is also a <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs\">FreeBSD mirror sites mailing lists</link>."
+msgstr ""
+
+#. (itstool) path: sect1/title
+#: article.translate.xml:55
+msgid "Requirements for FreeBSD mirrors"
+msgstr "成為 FreeBSD mirrors 的必備條件"
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:57
+msgid "Disk Space"
+msgstr "硬碟空間"
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:58
+msgid "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 that <emphasis>official</emphasis> mirrors are probably required to be complete. The web pages should always be mirrored completely. Also note that the numbers stated here are reflecting the current state (at 10.4-RELEASE/11.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. Here are some approximate figures:"
+msgstr "硬碟空間是最重要的必備條件之一。 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 that <emphasis>official</emphasis> mirrors are probably required to be complete. The web pages should always be mirrored completely. Also note that the numbers stated here are reflecting the current state (at 10.4-RELEASE/11.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. Here are some approximate figures:"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:74
+msgid "Full FTP Distribution: 1.4 TB"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:75
+msgid "CTM deltas: 10 GB"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:76
+msgid "Web pages: 1GB"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:78
+msgid "The current disk usage of FTP Distribution can be found at <link xlink:href=\"ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes\">ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes</link>."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:84
+msgid "Network Connection/Bandwidth"
+msgstr "網路頻寬"
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:85
+msgid "Of course, you need to be connected to the Internet. 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. If you intend to become an official mirror, the bandwidth required will be even higher. We can only give rough estimates here:"
+msgstr "當然,你一定要能連上 Internet。 頻寬需求多少,這要看你所想要的 mirror 程度而定。 若只想要 mirror 一部份的 FreeBSD 檔案以作為網站或 intranet 的局部用途, 那麼頻寬需求會明顯比成為公共服務用途的小一些。 若想成為 official mirror 之一的話,那麼頻寬就勢必得增加才夠用。以下,我們僅列出一些估計值以做為參考: "
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:96
+msgid "Local site, no public access: basically no minimum, but &lt; 2 Mbps could make syncing too slow."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:98
+msgid "Unofficial public site: 34 Mbps is probably a good start."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:99
+msgid "Official site: &gt; 100 Mbps is recommended, and your host should be connected as close as possible to your border router."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:104
+msgid "System Requirements, CPU, RAM"
+msgstr "系統需求、CPU、RAM"
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:105
+msgid "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 rsync. This can have a huge impact on CPU and memory requirements as it is considered a memory hog. The following are just examples to give you a very rough hint."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:117
+msgid "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 minimum you want for an <emphasis>official</emphasis> site."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:125
+msgid "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."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:131
+msgid "You also want to consider a fast disk subsystem. Operations on the SVN repository require a fast 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 large number of small modifications to the disk."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:141
+msgid "Services to offer"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:142
+msgid "Every mirror site is required to have a set of core services 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."
+msgstr ""
+
+#. (itstool) path: sect3/title
+#: article.translate.xml:150
+msgid "FTP (required for FTP fileset)"
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:151
+msgid "This is one of the most basic services, and 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). Upload capability is not required (and <emphasis>must</emphasis> never be allowed for the FreeBSD file space). Also the FreeBSD archive should be available under the path <filename>/pub/FreeBSD</filename>."
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:162
+msgid "There is a lot of software available which can be set up to allow anonymous FTP (in alphabetical order)."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:167
+msgid "<command>/usr/libexec/ftpd</command>: FreeBSD's own ftpd can be used. Be sure to read <citerefentry><refentrytitle>ftpd</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:171
+msgid "<package>ftp/ncftpd</package>: A commercial package, free for educational use."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:175
+msgid "<package>ftp/oftpd</package>: An ftpd designed with security as a main focus."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:179
+msgid "<package>ftp/proftpd</package>: A modular and very flexible ftpd."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:182
+msgid "<package>ftp/pure-ftpd</package>: Another ftpd developed with security in mind."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:185
+msgid "<package>ftp/twoftpd</package>: As above."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:186
+msgid "<package>ftp/vsftpd</package>: The <quote>very secure</quote> ftpd."
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:188
+msgid "FreeBSD's <application>ftpd</application>, <application>proftpd</application> and maybe <application>ncftpd</application> are among the most commonly used FTPds. 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."
+msgstr ""
+
+#. (itstool) path: sect3/title
+#: article.translate.xml:198
+msgid "Rsync (optional for FTP fileset)"
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:199
+msgid "<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 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 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 its own protocol for stand-alone access (this is the preferred method for public rsync servers). Authentication, connection limits, and other restrictions may be applied. There is just one software package available:"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:217
+msgid "<package>net/rsync</package>"
+msgstr ""
+
+#. (itstool) path: sect3/title
+#: article.translate.xml:221
+msgid "HTTP (required for web pages, optional for FTP fileset)"
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:222
+msgid "If you want to offer the FreeBSD web pages, you will need to install a web server. You may optionally offer the FTP fileset via HTTP. The choice of web server software is left up to the mirror administrator. Some of the most popular choices are:"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:231
+msgid "<package>www/apache22</package>: <application>Apache</application> is the most widely deployed web server on the Internet. It is used extensively by the FreeBSD Project."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:238
+msgid "<package>www/thttpd</package>: 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 <application>Apache</application>. It is optimized for excellent performance on FreeBSD."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:246
+msgid "<package>www/boa</package>: <application>Boa</application> is another alternative to <application>thttpd</application> and <application>Apache</application>. It should provide considerably better performance than <application>Apache</application> for purely static content. It does not, at the time of this writing, contain the same set of optimizations for FreeBSD that are found in <application>thttpd</application>."
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:258
+msgid "<package>www/nginx</package>: <application>Nginx</application> is a high performance edge web server with a low memory footprint and key features to build a modern and efficient web infrastructure. Features include a HTTP server, HTTP and mail reverse proxy, caching, load balancing, compression, request throttling, connection multiplexing and reuse, SSL offload and HTTP media streaming."
+msgstr ""
+
+#. (itstool) path: sect1/title
+#: article.translate.xml:272
+msgid "How to Mirror FreeBSD"
+msgstr ""
+
+#. (itstool) path: sect1/para
+#: article.translate.xml:273
+msgid "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, and where to mirror from."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:281
+msgid "Mirroring the FTP site"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:282
+msgid "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 a snapshot of the ports tree. All of course for various FreeBSD versions, and various architectures."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:292
+msgid "The best way to mirror the FTP area is <application>rsync</application>. You can install the port <package>net/rsync</package> 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. You may need to hunt around a little bit to find a site that allows <application>rsync</application> access."
+msgstr ""
+
+#. (itstool) path: note/para
+#: article.translate.xml:303
+msgid "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 an exception for your host (since you are a mirror)."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:312
+msgid "A command line to mirror FreeBSD might look like:"
+msgstr ""
+
+#. (itstool) path: sect2/screen
+#: article.translate.xml:313
+#, no-wrap
+msgid "<prompt>%</prompt> <userinput>rsync -vaHz --delete rsync://ftp4.de.FreeBSD.org/FreeBSD/ /pub/FreeBSD/</userinput>"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:314
+msgid "Consult the documentation for <application>rsync</application>, which is also available at <link xlink:href=\"http://rsync.samba.org/\">http://rsync.samba.org/</link>, about the various options to be used with rsync. If you sync the whole module (unlike subdirectories), 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 via <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:327
+msgid "Mirroring the WWW pages"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:328
+msgid "The FreeBSD website should only be mirrored via <application>rsync</application>."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:331
+msgid "A command line to mirror the FreeBSD web site might look like:"
+msgstr ""
+
+#. (itstool) path: sect2/screen
+#: article.translate.xml:332
+#, no-wrap
+msgid "<prompt>%</prompt> <userinput>rsync -vaHz --delete rsync://bit0.us-west.freebsd.org/FreeBSD-www-data/ /usr/local/www/</userinput>"
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:335
+msgid "Mirroring Packages"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:336
+msgid "Due to very high requirements of bandwidth, storage and adminstration the FreeBSD Project has decided not to allow public mirrors of packages. For sites with lots of machines, it might be advantagous to run a caching HTTP proxy for the <citerefentry><refentrytitle>pkg</refentrytitle><manvolnum>8</manvolnum></citerefentry> process. Alternatively specific packages and their dependencies can be fetched by running something like the following:"
+msgstr ""
+
+#. (itstool) path: sect2/screen
+#: article.translate.xml:343
+#, no-wrap
+msgid "<prompt>%</prompt> <userinput>pkg fetch -d -o <replaceable>/usr/local/mirror</replaceable> <replaceable>vim</replaceable></userinput>"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:345
+msgid "Once those packages have been fetched, the repository metadata must be generated by running:"
+msgstr ""
+
+#. (itstool) path: sect2/screen
+#: article.translate.xml:347
+#, no-wrap
+msgid "<prompt>%</prompt> <userinput>pkg repo <replaceable>/usr/local/mirror</replaceable></userinput>"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:349
+msgid "Once the packages have been fetched and the metadata for the repository has been generated, serve the packages up to the client machines via HTTP. For additional information see the man pages for <citerefentry><refentrytitle>pkg</refentrytitle><manvolnum>8</manvolnum></citerefentry>, specifically the <citerefentry><refentrytitle>pkg-repo</refentrytitle><manvolnum>8</manvolnum></citerefentry> page."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:356
+msgid "How often should I mirror?"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:357
+msgid "Every mirror should be updated at a minimum of once per day. Certainly a script with locking to prevent multiple runs happening at the same time will be needed to run from <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Since nearly every admin does this in their own way, specific instructions cannot be provided. It could work something like this:"
+msgstr ""
+
+#. (itstool) path: step/para
+#: article.translate.xml:367
+msgid "Put the command to run your mirroring application in a script. Use of a plain <command>/bin/sh</command> script is recommended."
+msgstr ""
+
+#. (itstool) path: step/para
+#: article.translate.xml:374
+msgid "Add some output redirections so diagnostic messages are logged to a file."
+msgstr ""
+
+#. (itstool) path: step/para
+#: article.translate.xml:380
+msgid "Test if your script works. Check the logs."
+msgstr ""
+
+#. (itstool) path: step/para
+#: article.translate.xml:385
+msgid "Use <citerefentry><refentrytitle>crontab</refentrytitle><manvolnum>1</manvolnum></citerefentry> to add the script to the appropriate user's <citerefentry><refentrytitle>crontab</refentrytitle><manvolnum>5</manvolnum></citerefentry>. 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 — making sure all of the official mirror sites have all of the necessary release files on release day."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:397
+msgid "Here are some recommended schedules:"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:400
+msgid "FTP fileset: daily"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:401
+msgid "WWW pages: daily"
+msgstr ""
+
+#. (itstool) path: sect1/title
+#: article.translate.xml:406
+msgid "Where to mirror from"
+msgstr ""
+
+#. (itstool) path: sect1/para
+#: article.translate.xml:407
+msgid "This is an important issue. So this section will spend some effort to explain the backgrounds. We will say this several times: under no circumstances should you mirror from <systemitem class=\"fqdomainname\">ftp.FreeBSD.org</systemitem>."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:414
+msgid "A few words about the organization"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:415
+msgid "Mirrors are organized by country. All official mirrors have a DNS entry of the form <systemitem class=\"fqdomainname\">ftpN.CC.FreeBSD.org</systemitem>. <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 <systemitem>wwwN.CC.FreeBSD.org</systemitem>, etc.) There are mirrors with no <emphasis>CC</emphasis> part. These are the mirror sites that are very well connected and allow a large number of concurrent users. <systemitem class=\"fqdomainname\">ftp.FreeBSD.org</systemitem> 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 <systemitem class=\"fqdomainname\">ftp.FreeBSD.org</systemitem> so automated mirroring systems should find a different machine to mirror from."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:438
+msgid "Additionally there exists a hierarchy of mirrors, which 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 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 like 1-4, are usually <emphasis>Tier-1</emphasis> (this is just a rough hint, and there is no rule)."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:459
+msgid "Ok, but where should I get the stuff now?"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:460
+msgid "Under no circumstances should you mirror from <systemitem class=\"fqdomainname\">ftp.FreeBSD.org</systemitem>. The short answer is: from the site that is closest to you in Internet terms, or gives you the fastest access."
+msgstr ""
+
+#. (itstool) path: sect3/title
+#: article.translate.xml:467
+msgid "I just want to mirror from somewhere!"
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:468
+msgid "If you have no special intentions or requirements, the statement in <xref linkend=\"mirror-where-where\"/> applies. This means:"
+msgstr ""
+
+#. (itstool) path: step/para
+#: article.translate.xml:475
+msgid "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>)."
+msgstr ""
+
+#. (itstool) path: step/para
+#: article.translate.xml:483
+msgid "Contact the administrators of your chosen site stating your request, and asking about their terms and policies."
+msgstr ""
+
+#. (itstool) path: step/para
+#: article.translate.xml:490
+msgid "Set up your mirror as described above."
+msgstr ""
+
+#. (itstool) path: sect3/title
+#: article.translate.xml:497
+msgid "I am an official mirror, what is the right site for me?"
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:498
+msgid "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 a low tier. There are some other considerations about <emphasis>official</emphasis> mirrors that are described in <xref linkend=\"mirror-official\"/>."
+msgstr ""
+
+#. (itstool) path: sect3/title
+#: article.translate.xml:508
+msgid "I want to access the master sites!"
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:509
+msgid "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 <quote>zone administrator</quote> (<email>hostmaster@CC.FreeBSD.org</email>) or <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs\">FreeBSD mirror sites mailing lists</link> first."
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:519
+msgid "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."
+msgstr ""
+
+#. (itstool) path: sect3/para
+#: article.translate.xml:527
+msgid "There is one master site for the FTP fileset."
+msgstr ""
+
+#. (itstool) path: sect4/title
+#: article.translate.xml:531
+msgid "ftp-master.FreeBSD.org"
+msgstr ""
+
+#. (itstool) path: sect4/para
+#: article.translate.xml:532
+msgid "This is the master site for the FTP fileset."
+msgstr ""
+
+#. (itstool) path: sect4/para
+#: article.translate.xml:535
+msgid "<systemitem>ftp-master.FreeBSD.org</systemitem> provides <application>rsync</application> access, in addition to FTP. Refer to <xref linkend=\"mirror-ftp-rsync\"/>."
+msgstr ""
+
+#. (itstool) path: sect4/para
+#: article.translate.xml:541
+msgid "Mirrors are also encouraged to allow <application>rsync</application> access for the FTP contents, since they are <emphasis>Tier-1</emphasis>-mirrors."
+msgstr ""
+
+#. (itstool) path: sect1/title
+#: article.translate.xml:551
+msgid "Official Mirrors"
+msgstr ""
+
+#. (itstool) path: sect1/para
+#: article.translate.xml:552
+msgid "Official mirrors are mirrors that"
+msgstr " Official mirrors 站為具有下列條件的 mirror 站 "
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:556
+msgid "a) have a <systemitem>FreeBSD.org</systemitem> DNS entry (usually a CNAME)."
+msgstr "a) 有 FreeBSD.org DNS entry (通常為 CNAME 紀錄)。 "
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:562
+msgid "b) are listed as an official mirror in the FreeBSD documentation (like handbook)."
+msgstr " b) 被 FreeBSD 文件列為 offical mirror 站(像是 handbook)。 "
+
+#. (itstool) path: sect1/para
+#: article.translate.xml:569
+msgid "So far to distinguish official mirrors. Official mirrors are not necessarily <emphasis>Tier-1</emphasis>-mirrors. However you probably will not find a <emphasis>Tier-1</emphasis>-mirror, that is not also official."
+msgstr " 除了以上述方式來分辨是否為 official mirrors 站之外, Official mirrors 站不一定得為 <emphasis>Tier-1</emphasis>-mirrors 站。 然而,只要是 <emphasis>Tier-1</emphasis>-mirror 站的話,就一定會是 official mirrors 站。 "
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:575
+msgid "Special Requirements for official (tier-1) mirrors"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:576
+msgid "It is not so easy to state requirements for all official mirrors, since the project is sort of tolerant here. It is more easy to say, what <emphasis>official tier-1 mirrors</emphasis> are required to. All other official mirrors can consider this a big <emphasis>should</emphasis>."
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:583
+msgid "Tier-1 mirrors are required to:"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:586
+msgid "carry the complete fileset"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:587
+msgid "allow access to other mirror sites"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:588
+msgid "provide <application>FTP</application> and <application>rsync</application> access"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:592
+msgid "Furthermore, admins should be subscribed to the <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs\">FreeBSD mirror sites mailing lists</link>. See <link xlink:href=\"https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL\">this link</link> for details, how to subscribe."
+msgstr ""
+
+#. (itstool) path: important/para
+#: article.translate.xml:596
+msgid "It is <emphasis>very</emphasis> important for a hub administrator, especially Tier-1 hub admins, to check the <link xlink:href=\"https://www.FreeBSD.org/releng/\">release schedule</link> 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."
+msgstr ""
+
+#. (itstool) path: important/para
+#: article.translate.xml:603
+msgid "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 does not 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!"
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:612
+msgid "How to become official then?"
+msgstr ""
+
+#. (itstool) path: sect2/para
+#: article.translate.xml:668
+msgid "We are not accepting any new mirrors at this time."
+msgstr ""
+
+#. (itstool) path: sect1/title
+#: article.translate.xml:674
+msgid "Some statistics from mirror sites"
+msgstr ""
+
+#. (itstool) path: sect1/para
+#: article.translate.xml:675
+msgid "Here are links to the stat pages of your favorite mirrors (a.k.a. the only ones who feel like providing stats)."
+msgstr ""
+
+#. (itstool) path: sect2/title
+#: article.translate.xml:680
+msgid "FTP site statistics"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:683
+msgid "ftp.is.FreeBSD.org - <email>hostmaster@is.FreeBSD.org</email> - <link xlink:href=\"http://www.rhnet.is/status/draupnir/draupnir.html\"> (Bandwidth)</link> <link xlink:href=\"http://www.rhnet.is/status/ftp/ftp-notendur.html\">(FTP processes)</link> <link xlink:href=\"http://www.rhnet.is/status/ftp/http-notendur.html\">(HTTP processes) </link>"
+msgstr ""
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:691
+msgid "ftp2.ru.FreeBSD.org - <email>mirror@macomnet.ru</email> - <link xlink:href=\"http://mirror.macomnet.net/mrtg/mirror.macomnet.net_195.128.64.25.html\">(Bandwidth)</link> <link xlink:href=\"http://mirror.macomnet.net/mrtg/mirror.macomnet.net_proc.html\">(HTTP and FTP users)</link>"
+msgstr ""