Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Carga inicial do artigo sobre hubs para traducao

  • Loading branch information...
commit 27878a8962f86f009ff9790313930f8550a2e39b 1 parent e0e86d7
@ebrandi ebrandi authored
View
23 pt_BR.ISO8859-1/articles/hubs/Makefile
@@ -0,0 +1,23 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD Brazilian Portuguese Documentation Project
+#
+# $FreeBSD$
+#
+# Original revision: r38826
+#
+# Article: Mirroring FreeBSD
+
+DOC?= article
+NO_TIDY=YES
+
+FORMATS?= html html-split
+WITH_ARTICLE_TOC?= YES
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
View
1,092 pt_BR.ISO8859-1/articles/hubs/article.sgml
@@ -0,0 +1,1092 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD Brazilian Portuguese Documentation Project
+
+ Original revision: r39385
+-->
+
+
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
+<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//PTBR">
+%articles.ent;
+<!ENTITY % not.published "IGNORE">
+]>
+
+<article>
+ <articleinfo>
+ <title>Mirroring FreeBSD</title>
+ <pubdate>$FreeBSD$</pubdate>
+ <authorgroup>
+ <author>
+ <firstname>Jun</firstname>
+ <surname>Kuriyama</surname>
+ <affiliation>
+ <address><email>kuriyama@FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Valentino</firstname>
+ <surname>Vaschetto</surname>
+ <affiliation>
+ <address><email>logo@FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Daniel</firstname>
+ <surname>Lang</surname>
+ <affiliation>
+ <address><email>dl@leo.org</email></address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Ken</firstname>
+ <surname>Smith</surname>
+ <affiliation>
+ <address><email>kensmith@FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <legalnotice id="trademarks" role="trademarks">
+ &tm-attrib.freebsd;
+ &tm-attrib.cvsup;
+ &tm-attrib.general;
+ </legalnotice>
+
+ <abstract>
+ <para>An in-progress article on how to mirror FreeBSD, aimed at
+ hub administrators.</para>
+ </abstract>
+ </articleinfo>
+
+ <note>
+ <para>We are not accepting new mirrors at this time.</para>
+ </note>
+
+ <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">
+ <title>Disk Space</title>
+ <para>
+ 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 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>
+ <itemizedlist>
+ <listitem><para>Full FTP Distribution: 1.0 TB</para></listitem>
+ <listitem><para>CVS repository: 5.4 GB</para></listitem>
+ <listitem><para>CTM deltas: 3.2 GB</para></listitem>
+ <listitem><para>Web pages: 463 MB</para></listitem>
+ </itemizedlist>
+ <para>
+ The current disk usage of FTP Distribution can be found at
+ <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes">ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes</ulink>.
+ </para>
+ </sect2>
+ <sect2 id="mirror-bandwidth">
+ <title>Network Connection/Bandwidth</title>
+ <para>
+ 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:
+ </para>
+ <itemizedlist>
+ <listitem><para>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
+ 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>
+ 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
+ are just examples to give you a very rough hint.
+ </para>
+ <para>
+ 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.
+ </para>
+ <para>
+ 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 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.
+ </para>
+ </sect2>
+ <sect2 id="mirror-services">
+ <title>Services to offer</title>
+ <para>
+ 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.
+ </para>
+ <sect3 id="mirror-serv-ftp">
+ <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
+ 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>.
+ </para>
+ <para>
+ There is a lot of software available which
+ can be set up to allow anonymous FTP
+ (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>
+ <listitem>
+ <para><filename role="package">ftp/ncftpd</filename>: A commercial package,
+ free for educational use.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/oftpd</filename>: An ftpd designed with
+ security as a main focus.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/proftpd</filename>: A modular and very flexible ftpd.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/pure-ftpd</filename>: Another ftpd developed with
+ security in mind.</para>
+ </listitem>
+ <listitem><para><filename role="package">ftp/twoftpd</filename>: As above.</para></listitem>
+ <listitem><para><filename role="package">ftp/vsftpd</filename>: The <quote>very secure</quote> ftpd.</para></listitem>
+ <listitem>
+ <para><filename role="package">ftp/wu-ftpd</filename>: 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>
+ </itemizedlist>
+ <para>FreeBSD's <application>ftpd</application>, <application>proftpd</application>,
+ <application>wu-ftpd</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.
+ </para>
+ </sect3>
+ <sect3 id="mirror-serv-rsync">
+ <title>Rsync (optional for FTP fileset)</title>
+ <para>
+ <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:</para>
+ <itemizedlist>
+ <listitem><para><filename role="package">net/rsync</filename></para></listitem>
+ </itemizedlist>
+ </sect3>
+ <sect3 id="mirror-serv-http">
+ <title>HTTP (required for web pages, optional for FTP fileset)</title>
+ <para>
+ 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:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename role="package">www/apache22</filename>:
+ <application>Apache</application> is the most widely
+ deployed web server on the Internet. It is used
+ extensively by the FreeBSD Project.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename role="package">www/thttpd</filename>:
+ 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.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename role="package">www/boa</filename>:
+ <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>.</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+ <sect3 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 <ulink url="http://www.polstra.com/projects/freeware/ezm3/">Ezm3</ulink>
+ for details. Related ports are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename role="package">net/cvsup</filename>: The native CVSup port (client and server)
+ which requires <filename role="package">lang/ezm3</filename> now.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">net/cvsup-mirror</filename>: The CVSup mirror kit, which requires
+ <filename role="package">net/cvsup-without-gui</filename>, and configures it mirror-ready. Some
+ site administrators may want a different setup though.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>There are a few more like
+ <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
+ 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 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
+ <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/FreeBSD-CVS/anoncvs.shar">wrapper</ulink>
+ 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:</para>
+ <programlisting>
+cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --allow-root=/home/ncvs pserver
+ </programlisting>
+ <para>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
+ 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:</para>
+ <programlisting>
+/dev/da0s1b /anoncvstmp mfs rw,-s=786432,-b=4096,-f=512,-i=560,-c=3,-m=0,nosuid 0 0
+ </programlisting>
+ <para>This is (of course) tuned a lot, and was suggested by &a.jdp;.
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+ <sect1 id="mirror-howto">
+ <title>How to Mirror FreeBSD</title>
+ <para>
+ 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 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>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.
+ </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. Some of the most commonly used are:</para>
+ <itemizedlist>
+ <listitem><para><filename role="package">ftp/mirror</filename></para></listitem>
+ <listitem><para><filename role="package">ftp/ftpmirror</filename></para></listitem>
+ <listitem><para><filename role="package">ftp/emirror</filename></para></listitem>
+ <listitem><para><filename role="package">ftp/spegla</filename></para></listitem>
+ <listitem><para><filename role="package">ftp/omi</filename></para></listitem>
+ <listitem><para><filename role="package">ftp/wget</filename></para></listitem>
+ </itemizedlist>
+
+ <para><filename role="package">ftp/mirror</filename> 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 id="mirror-ftp-rsync">
+ <title>With rsync</title>
+ <para>
+ 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.
+ You may need to hunt around a little bit to find a site
+ that allows <application>rsync</application> access.</para>
+ <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
+ an exception for your host (since you are a mirror).
+ </para>
+ </note>
+ <para>A command line to mirror FreeBSD might look like:</para>
+ <screen>&prompt.user; <userinput>rsync -vaz --delete ftp4.de.FreeBSD.org::FreeBSD/ /pub/FreeBSD/</userinput>
+ </screen>
+ <para>Consult the documentation for <application>rsync</application>,
+ which is also available at
+ <ulink url="http://rsync.samba.org/">http://rsync.samba.org/</ulink>,
+ 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 &man.cron.8;.
+ </para>
+ </sect3>
+ <sect3 id="mirror-ftp-cvsup">
+ <title>With CVSup</title>
+ <para>
+ 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>.
+ (Also reread <xref linkend="mirror-serv-cvsup">.)
+ A sample <filename>supfile</filename> suitable for <hostid role="fqdn">ftp-master.FreeBSD.org</hostid>
+ looks like this:</para>
+ <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>
+
+ <para>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.</para>
+ <note 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>
+ </sect3>
+ </sect2>
+ <sect2 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 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
+ <filename role="package">net/cvsup-mirror</filename> 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 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.</para>
+ <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>
+ </sect3>
+ </sect2>
+ <sect2 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:</para>
+ <screen>&prompt.user; <userinput>cvs -d /home/ncvs co www</userinput></screen>
+ <para>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>
+
+ <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:</para>
+ <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
+
+ # If your network link is a T1 or faster, comment out the following line.
+ *default compress
+
+ # This collection retrieves the www/ tree of the FreeBSD repository
+ www
+ </programlisting>
+ <para>
+ Using <filename role="package">ftp/wget</filename> or other web-mirror tools is
+ not recommended.
+ </para>
+ <sect3 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:</para>
+ <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
+
+ # This will retrieve the entire doc branch of the FreeBSD repository.
+ # This includes the handbook, FAQ, and translations thereof.
+ doc-all
+ </programlisting>
+ <para>
+ Then you need to install a couple of ports.
+ You are lucky, there is a meta-port:
+ <filename role="package">textproc/docproj</filename> 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.</para>
+ <important>
+ <para>
+ The building of the documentation, as well as lots
+ of side issues, is documented itself in the
+ <ulink url="&url.books.fdp-primer;">&os; Documentation
+ Project Primer</ulink>.
+ Please read this piece of documentation, especially if you
+ have problems building the documentation.
+ </para>
+ </important>
+ </sect3>
+ </sect2>
+ <sect2 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:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ 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>
+ Add some output redirections so diagnostic
+ messages are logged to a file.
+ </para>
+ </step>
+ <step>
+ <para>
+ 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
+ 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>
+ <para>
+ 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>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+ <sect1 id="mirror-where">
+ <title>Where to mirror from</title>
+ <para>
+ 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
+ <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 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 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 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).
+ </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
+ the fastest access.
+ </para>
+ <sect3 id="mirror-where-simple">
+ <title>I just want to mirror from somewhere!</title>
+ <para>
+ 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 <ulink url="http://mirrorlist.FreeBSD.org/">FreeBSD
+ Mirror Database</ulink> can help you with this.
+ </para>
+ </step>
+ <step>
+ <para>
+ 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>).
+ </para>
+ </step>
+ <step>
+ <para>
+ Contact the administrators of your chosen site stating your
+ request, and asking about their terms and
+ policies.
+ </para>
+ </step>
+ <step>
+ <para>
+ Set up your mirror as described above.
+ </para>
+ </step>
+ </procedure>
+ </sect3>
+ <sect3 id="mirror-where-official">
+ <title>I am an official mirror, what is the right site for me?</title>
+ <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
+ a low tier.
+ There are some other considerations about <emphasis>official</emphasis>
+ 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,
+ 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 &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 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>
+ <sect4 id="mirror-where-master-ftp">
+ <title>ftp-master.FreeBSD.org</title>
+ <para>
+ This is the master site for the FTP fileset.
+ </para>
+ <para>
+ <hostid>ftp-master.FreeBSD.org</hostid> provides
+ <application>rsync</application> and <application>CVSup</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.
+ </para>
+ <para>
+ 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 id="mirror-where-master-cvsup">
+ <title>cvsup-master.FreeBSD.org</title>
+ <para>
+ This is the master site for the CVS repository.
+ </para>
+ <para>
+ <hostid>cvsup-master.FreeBSD.org</hostid> provides
+ <application>CVSup</application> access only.
+ See <xref linkend="mirror-cvs-cvsup"> for details.
+ </para>
+ <para>
+ To get access, you need to contact the &a.cvsup-master;.
+ Make sure you read the
+ <ulink url="http://people.FreeBSD.org/~jdp/cvsup-access/">FreeBSD CVSup Access Policy</ulink>
+ first!
+ </para>
+ <para>
+ Set up the required authentication by following
+ <ulink url="http://people.FreeBSD.org/~jdp/cvpasswd/">these
+ instructions</ulink>. Make sure you specify the server as
+ <hostid>freefall.FreeBSD.org</hostid> on the <command>cvpasswd</command>
+ command line, as described in this document,
+ even when you are contacting
+ <hostid>cvsup-master.FreeBSD.org</hostid>
+ </para>
+ </sect4>
+ </sect3>
+ </sect2>
+ </sect1>
+ <sect1 id="mirror-official">
+ <title>Official Mirrors</title>
+ <para>
+ Official mirrors are mirrors that</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ a) have a <hostid>FreeBSD.org</hostid> DNS entry
+ (usually a CNAME).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ b) are listed as an official mirror in the FreeBSD
+ documentation (like handbook).
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>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.
+ </para>
+ <sect2 id="mirror-official-requirements">
+ <title>Special Requirements for official (tier-1) mirrors</title>
+ <para>
+ 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>.</para>
+ <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>
+ 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
+ <application>rsync</application> access</para></listitem>
+ </itemizedlist>
+
+ <para>Furthermore, admins should be subscribed to the &a.hubs;.
+ See <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">this link</ulink> for details, how to subscribe.
+ </para>
+ <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/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 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!
+ </para>
+ </important>
+ </sect2>
+ <sect2 id="mirror-official-become">
+ <title>How to become official then?</title>
+ <!--
+ <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
+ to a master site.
+ </para>
+ <para>
+ Before applying, please consider (again) if
+ another official mirror is really needed for
+ 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>
+ <step>
+ <para>
+ Get the mirror running in first place (maybe not
+ using a master site, yet).
+ </para>
+ </step>
+ <step>
+ <para>
+ <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">Subscribe</ulink> to the &a.hubs;.
+ </para>
+ </step>
+ <step>
+ <para>
+ 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>, 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 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>
+ 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>.
+ </para>
+ </step>
+ </procedure>
+ <para>That is it.</para>
+ -->
+ <para>
+ We are not accepting any new mirrors at this time.
+ </para>
+ </sect2>
+ </sect1>
+ <sect1 id="mirror-statpages">
+ <title>Some statistics from mirror sites</title>
+ <para>
+ Here are links to the stat pages of your favorite mirrors
+ (a.k.a. the only ones who feel like providing stats).
+ </para>
+ <sect2 id="mirror-statpagesftp">
+ <title>FTP site statistics</title>
+ <itemizedlist>
+ <listitem>
+ <para>ftp.is.FreeBSD.org - <email>hostmaster@is.FreeBSD.org</email> -
+ <ulink url="http://www.rhnet.is/status/draupnir/draupnir.html">
+ (Bandwidth)</ulink> <ulink url="http://www.rhnet.is/status/ftp/ftp-notendur.html">(FTP
+ processes)</ulink> <ulink url="http://www.rhnet.is/status/ftp/http-notendur.html">(HTTP processes)
+ </ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>ftp.cz.FreeBSD.org - <email>cejkar@fit.vutbr.cz</email> -
+ <ulink url="http://www.cz.FreeBSD.org/stats/mrtg/net.html">(Bandwidth)</ulink>
+ <ulink url="http://www.freebsd.cz/stats/mrtg/ftpd.html">(FTP processes)</ulink>
+ <ulink url="http://www.freebsd.cz/stats/mrtg/rsyncd.html">(rsync processes)</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>ftp2.ru.FreeBSD.org - <email>mirror@macomnet.ru</email> -
+ <ulink url="http://mirror.macomnet.net/mrtg/mirror.macomnet.net_195.128.64.25.html">(Bandwidth)</ulink>
+ <ulink url="http://mirror.macomnet.net/mrtg/mirror.macomnet.net_proc.html">(HTTP and FTP users)</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ <sect2 id="mirror-statpagescvsup">
+ <title>CVSup site stats</title>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup[23456].jp.FreeBSD.org - <email>kuriyama@FreeBSD.org</email> - <ulink
+ url="http://home.jp.FreeBSD.org/stats/mrtg/cvsup/index.en.html">(CVSup processes)</ulink></para>
+ </listitem>
+ <listitem>
+ <para>cvsup.cz.FreeBSD.org - <email>cejkar@fit.vutbr.cz</email> -
+ <ulink url="http://www.freebsd.cz/stats/mrtg/cvsupd.html">(CVSup processes)</ulink></para>
+ </listitem>
+ <listitem>
+ <para>cvsup4.ru.FreeBSD.org - <email>maxim@FreeBSD.org</email> -
+ <ulink url="http://ftp.mtu.ru/mrtg/ftp.mtu.ru_proc2.html">(CVSup processes)</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+</article>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ End:
+-->
View
3  pt_BR.ISO8859-1/articles/rc-scripting/article.sgml
@@ -12,7 +12,8 @@
<article>
<articleinfo>
- <title>Practical rc.d scripting in BSD</title>
+ <title>Introdu&ccedil;&atilde;o pr&aacute;tica aos scripts
+ rc.d no BSD</title>
<author>
<firstname>Yar</firstname>
Please sign in to comment.
Something went wrong with that request. Please try again.