svn commit: r39577 - in head/pt_BR.ISO8859-1/articles: . hubs
Edson Brandi
ebrandi at FreeBSD.org
Tue Sep 18 09:15:09 UTC 2012
Author: ebrandi
Date: Tue Sep 18 09:15:08 2012
New Revision: 39577
URL: http://svn.freebsd.org/changeset/doc/39577
Log:
- Add new Brazilian Portuguese translation of the Mirroring FreeBSD article
Obtained from: The FreeBSD Brazilian Portuguese Documentation Project
(http://doc.fug.com.br)
Approved by: gabor (mentor)
Added:
head/pt_BR.ISO8859-1/articles/hubs/
head/pt_BR.ISO8859-1/articles/hubs/Makefile (contents, props changed)
head/pt_BR.ISO8859-1/articles/hubs/article.sgml (contents, props changed)
Modified:
head/pt_BR.ISO8859-1/articles/Makefile
Modified: head/pt_BR.ISO8859-1/articles/Makefile
==============================================================================
--- head/pt_BR.ISO8859-1/articles/Makefile Mon Sep 17 21:11:48 2012 (r39576)
+++ head/pt_BR.ISO8859-1/articles/Makefile Tue Sep 18 09:15:08 2012 (r39577)
@@ -13,6 +13,7 @@ SUBDIR+= contributing
SUBDIR+= contributing-ports
SUBDIR+= explaining-bsd
SUBDIR+= freebsd-questions
+SUBDIR+= hubs
SUBDIR+= linux-users
SUBDIR+= new-users
SUBDIR+= problem-reports
Added: head/pt_BR.ISO8859-1/articles/hubs/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/pt_BR.ISO8859-1/articles/hubs/Makefile Tue Sep 18 09:15:08 2012 (r39577)
@@ -0,0 +1,22 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD Brazilian Portuguese Documentation Project
+#
+# $FreeBSD$
+#
+# Original revision: r38826
+#
+# Article: Mirroring FreeBSD
+
+DOC?= article
+
+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"
Added: head/pt_BR.ISO8859-1/articles/hubs/article.sgml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/pt_BR.ISO8859-1/articles/hubs/article.sgml Tue Sep 18 09:15:08 2012 (r39577)
@@ -0,0 +1,1369 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
+ "../../../share/sgml/freebsd42.dtd" [
+ <!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//PT"
+ "../../share/sgml/entities.ent">
+ %entities;
+]>
+
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD Brazilian Portuguese Documentation Project
+
+ Original revision: r39544
+-->
+
+<article lang='pt_br'>
+ <articleinfo>
+ <title>Espelhando o FreeBSD</title>
+ <authorgroup>
+ <author>
+ <firstname>Jun</firstname>
+ <surname>Kuriyama</surname>
+ <affiliation>
+ <address><email>kuriyama at FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Valentino</firstname>
+ <surname>Vaschetto</surname>
+ <affiliation>
+ <address><email>logo at FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Daniel</firstname>
+ <surname>Lang</surname>
+ <affiliation>
+ <address><email>dl at leo.org</email></address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Ken</firstname>
+ <surname>Smith</surname>
+ <affiliation>
+ <address><email>kensmith at FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <legalnotice id="trademarks" role="trademarks">
+ &tm-attrib.freebsd;
+ &tm-attrib.cvsup;
+ &tm-attrib.general;
+ </legalnotice>
+
+ <pubdate>$FreeBSD$</pubdate>
+
+ <releaseinfo>$FreeBSD$</releaseinfo>
+
+ <abstract>
+ <para>Este artigo aborda a configuração de um site espelho
+ destinado à distribuição do FreeBSD e tem como público alvo
+ os administradores destes sites. Este é um trabalho em
+ andamento.</para>
+ </abstract>
+ </articleinfo>
+
+ <note>
+ <para>Neste momento nós não estamos aceitando
+ novos sites espelho.</para>
+ </note>
+
+ <sect1 id="mirror-contact">
+ <title>Informações de Contato</title>
+
+ <para>Os coordenadores do sistema de sites espelho podem ser
+ contatados por email no endereço
+ <email>mirror-admin at FreeBSD.org</email>. Também existe a
+ &a.hubs;.</para>
+ </sect1>
+
+ <sect1 id="mirror-requirements">
+ <title>Requisitos para espelhar o FreeBSD</title>
+
+ <sect2 id="mirror-diskspace">
+ <title>Espaço em disco</title>
+
+ <para>Espaço em disco é um dos requisitos mais
+ importantes. Dependendo do conjunto de releases, de
+ arquiteturas e do grau de cobertura que você deseja que
+ seu site espelho tenha, uma enorme quantia de espaço em
+ disco pode ser consumida. Também tenha em mente que os sites
+ <emphasis>oficiais</emphasis> provavelmente precisam estar
+ completos. O repositório CVS e as páginas web devem
+ ser sempre espelhados de forma completa. Também
+ observe que os números mencionados neste artigo estão
+ refletindo o estado atual
+ (&rel2.current;-RELEASE/&rel.current;-RELEASE).
+ Desenvolvimentos futuros e novas releases apenas irão
+ aumentar o espaço requerido. Certifique-se de manter
+ algum espaço extra (entre 10 e 20%) disponível, em
+ relação as estimativas abaixo, apenas por
+ segurança. Aqui estão algumas estimativas
+ aproximadas:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Distribuição FTP completa: 1.0 TB</para>
+ </listitem>
+ <listitem>
+ <para>Repositório CVS: 5.4 GB</para>
+ </listitem>
+ <listitem>
+ <para>Deltas CTM: 3.2 GB</para>
+ </listitem>
+ <listitem>
+ <para>Páginas Web: 463 MB</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>O uso atual de espaço em disco pela
+ distribuição FTP pode ser encontrada em
+ <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>Conectividade de rede e largura de banda</title>
+
+ <para>É claro que você precisa estar conectado à
+ Internet. A largura de banda que será
+ necessária dependerá do uso previsto para o seu
+ site espelho. Se você só quer espelhar algumas
+ partes do FreeBSD para uso local no seu Site/Intranet, a
+ demanda pode ser muito menor do que se você quiser
+ tornar os arquivos disponíveis publicamente. Se
+ você pretende se tornar um site espelho oficial, a
+ largura de banda necessária será ainda maior.
+ Desta forma, nós só podemos dar estimativas
+ grosseiras em relação a este item:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Site local, sem acesso público: basicamente
+ nenhum, mas um link menor que 2 Mbps pode tornar o
+ processo de sincronismo muito lento.</para>
+ </listitem>
+
+ <listitem>
+ <para>Site público não oficial: um link de
+ 34 Mbps é provavelmente um bom ponto de
+ partida.</para>
+ </listitem>
+
+ <listitem>
+ <para>Site oficial: recomenda-se um link de no
+ mínimo 100 Mbps, e o seu servidor deverá
+ estar conectado o mais próximo possível
+ do seu roteador de borda.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2 id="mirror-system">
+ <title>Requisitos de sistema, CPU e Memória RAM</title>
+
+ <para>O dimensionamento destes itens depende do número
+ esperado de clientes simultâneos, o que é
+ determinado pela política de uso do servidor. Estes
+ requisitos também são afetados pelo tipo de
+ serviço que você deseja oferecer.
+ Serviços básicos de FTP ou HTTP podem não
+ necessitar de uma grande quantidade de recursos. Mas fique
+ atento se você for disponibilizar os serviços de
+ CVSup, rsync ou mesmo de AnonCVS. Estes serviços podem
+ ter um enorme impacto nos requisitos de CPU e de
+ memória. Especialmente o rsync, o qual é
+ considerado um devorador de memória, e o CVSup
+ certamente consome um pouco da CPU. No caso do AnonCVS pode
+ ser interessante configurar um sistemas de arquivos residente
+ em memória (MFS) de no mínimo 300 MB, desta
+ forma você precisa considerar este consumo quando
+ avaliar a quantidade de memória requerida. A seguir você
+ irá encontrar alguns exemplos, os quais visam apenas
+ lhe dar uma idéia por alto das necessidades.</para>
+
+ <para>Para um site de visitação moderada o qual
+ ofereça o serviço de
+ <application>Rsync</application>, você pode considerar
+ uma CPU entre 800 MHz e 1 GHz, e pelo menos 512 MB de
+ memória RAM. Esta é provavelmente a
+ configuração mínima para um site espelho
+ <emphasis>oficial</emphasis>.</para>
+
+ <para>Para um site de visitação frequente,
+ você definitivamente vai precisar de mais memória
+ RAM (considere 2 GB como um bom ponto de partida) e
+ possivelmente de mais poder de processamento (CPU), o que
+ pode significar que você precisará ir para um
+ sistema multiprocessado (SMP).</para>
+
+ <para>Você também pode considerar o uso de um
+ subsistema de discos rápidos. As
+ operações em um repositório CVS
+ necessitam de um subsistema de discos rápido (o uso de
+ RAID é altamente desejável). Uma controladora
+ SCSI que possua cache dedicado também pode melhorar a
+ velocidade uma vez que a maioria destes serviços
+ incorre na realização de um grande número
+ de pequenas modificações no disco.</para>
+ </sect2>
+
+ <sect2 id="mirror-services">
+ <title>Serviços para oferecer</title>
+
+ <para>Todo site espelho é obrigado a disponibilizar um
+ conjunto de serviços básicos. Em
+ adição a estes serviços
+ obrigatórios, existe um grande número de
+ serviços opcionais os quais o administrador do servidor
+ pode optar por oferecer. Esta sessão irá
+ detalhar quais serviços você pode oferecer, bem
+ como implementá-los.</para>
+
+ <sect3 id="mirror-serv-ftp">
+ <title>FTP (necessário para o conjunto de arquivos
+ do FTP)</title>
+
+ <para>Este é um dos serviços mais básicos, e ele é
+ requerido em todos os sites espelhos que oferecem
+ acesso público às distribuições
+ via FTP. O acesso ao FTP deve ser anônimo, e não
+ é permitido o uso de nenhum controle nas taxas de
+ upload/download (o que seria uma coisa ridícula de
+ qualquer maneira). Não é necessário
+ ter o upload de arquivos habilitado (e isso
+ <emphasis>nunca</emphasis> deve ser permitido na área
+ onde os arquivos do FreeBSD são mantidos). Os
+ arquivos do FreeBSD devem ficar disponíveis sob o
+ caminho <filename>/pub/FreeBSD</filename>.</para>
+
+ <para>Existem diversos softwares disponíveis os quais
+ podem ser configurados para operar como um servidor de FTP
+ anônimo. Por exemplo (em ordem
+ alfabética).</para>
+ <itemizedlist>
+ <listitem>
+ <para><command>/usr/libexec/ftpd</command>: Este
+ é o servidor de FTP nativo do FreeBSD.
+ Certifique-se de ler o &man.ftpd.8;.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/ncftpd</filename>: Um
+ pacote comercial, gratuito para uso com fins
+ educacionais.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/oftpd</filename>: Um
+ servidor de FTP desenvolvido tendo a segurança
+ como seu foco principal.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/proftpd</filename>:
+ Um servidor FTP modular e muito
+ flexível.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/pure-ftpd</filename>:
+ Outro servidor de FTP desenvolvido tendo a
+ segurança em mente.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/twoftpd</filename>:
+ Mais um servidor desenvolvido com foco em
+ segurança.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/vsftpd</filename>:
+ Um ftpd <quote>muito seguro</quote>.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">ftp/wu-ftpd</filename>:
+ O ftpd da universidade de Washington. Ele se tornou
+ impopular, por causa da enorme quantidade de problemas
+ de segurança que foram descobertos nele. Se
+ você optar por utilizar este software,
+ certifique-se de mantê-lo atualizado.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>O <application>ftpd</application> nativo do FreeBSD, o
+ <application>proftpd</application>, o
+ <application>wu-ftpd</application> e talvez o
+ <application>ncftpd</application> são alguns dos
+ servidores de FTP mais comumente utilizados. Os demais
+ não possuem uma grande base de usuários
+ entre os sites espelhos. Um item a ser considerado
+ é que você pode precisar de flexibilidade
+ para controlar quantas conexões simultâneas
+ serão permitidas no servidor, limitando desta forma
+ o consumo do seu link IP e dos demais recursos do
+ sistema.</para>
+ </sect3>
+
+ <sect3 id="mirror-serv-rsync">
+ <title>Rsync (opcional para o conjunto de arquivos
+ do FTP)</title>
+
+ <para>O <application>Rsync</application> é muitas vezes
+ oferecido para acesso ao conteúdo da área de
+ FTP de um site espelho do FreeBSD, desta forma outros sites
+ espelhos podem utilizar o seu sistema como fonte para se
+ espelhar. O protocolo do rsync é diferente do FTP em
+ muitos aspectos. Ele é muito mais amigável em
+ relação ao consumo de banda IP, uma vez que
+ quando um arquivo é alterado ao invés de
+ transferí-lo por completo novamente, ele transfere
+ apenas as diferenças entre as duas versões do
+ arquivo. O <application>Rsync</application> requer uma
+ grande quantidade de memória para cada
+ instância. A quantidade de memória alocada
+ depende do tamanho do modulo sincronizado em termos do
+ número de diretórios e de arquivos. O
+ <application>Rsync</application> pode utilizar o
+ <command>rsh</command> e o <command>ssh</command> (que agora
+ é padrão) para transporte dos dados, ou
+ então utilizar o seu próprio protocolo para
+ acesso stand-alone (este é o método preferido
+ para um servidor público de
+ <application>Rsync</application>). Obrigatoriedade de
+ autenticação, limites ao número de
+ conexões simultâneas e outras restrições
+ podem ser aplicadas. Há apenas um pacote de software
+ disponível para se implementar um servidor de
+ <application>Rsync</application>:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename role="package">net/rsync</filename>
+ </para></listitem>
+ </itemizedlist>
+ </sect3>
+ <sect3 id="mirror-serv-http">
+ <title>HTTP (necessário para as páginas web,
+ opcional para o conjunto de arquivos do FTP)</title>
+
+ <para>Se você deseja disponibilizar as páginas
+ web do FreeBSD, você vai precisar instalar um
+ servidor web. Opcionalmente você poderá oferecer
+ acesso a sua árvore de FTP via HTTP. A escolha do
+ software do servidor web é uma escolha do
+ administrador do site espelho. As opções
+ mais populares são:</para>
+ <itemizedlist>
+ <listitem>
+ <para><filename role="package">www/apache22</filename>:
+ O <application>Apache</application> é o
+ servidor web mais amplamente utilizado na internet.
+ Ele é usado extensivamente pelo projeto
+ FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename role="package">www/thttpd</filename>:
+ Se você for servir uma grande quantidade de
+ conteúdo estático, você pode
+ constatar que o uso de uma aplicação
+ como o thttpd é mais eficiente do que o uso do
+ <application>Apache</application>. Ele está
+ otimizado para operar sob a máxima performance
+ no FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename role="package">www/boa</filename>:
+ O <application>Boa</application> é uma outra
+ alternativa ao <application>thttpd</application> e ao
+ <application>Apache</application>. Ele deve prover
+ uma performance consideravelmente melhor que a do
+ Apache para conteúdos puramente
+ estáticos. Ele não possui, pelo menos
+ até o momento em que esse artigo está
+ sendo escrito, o mesmo conjunto de
+ otimizações para o ambiente FreeBSD que
+ encontramos disponíveis no
+ <application>thttpd</application>.</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3 id="mirror-serv-cvsup">
+ <title>CVSup (desejado para repositórios CVS)</title>
+
+ <para>O <application>CVSup</application> é um meio
+ muito eficiente de distribuição de arquivos.
+ Ele trabalha de forma semelhante ao
+ <application>rsync</application>, mas foi especialmente
+ projetado para uso com repositórios CVS. Se
+ você deseja disponibilizar o repositório CVS do
+ FreeBSD, você deve considerar seriamente fazê-lo
+ via <application>CVSup</application>. É
+ possível oferecer acesso a um repositório CVS
+ via <application>AnonCVS</application>, FTP,
+ <application>rsync</application> ou HTTP, mas as pessoas
+ vão se beneficiar muito mais de um acesso via
+ <application>CVSup</application>. O
+ <application>CVSup</application> foi desenvolvido pelo
+ &a.jdp;. É um pouco complicado instalá-lo em
+ uma plataforma diferente do FreeBSD, uma vez que ele foi
+ escrito em Modula-3 e consequentemente necessita de um
+ ambiente Modula-3 disponível. O John Polstra preparou
+ uma versão simplificada do M3 a qual é
+ suficiente para executar o <application>CVSup</application>,
+ e que pode ser facilmente instalada. Consulte <ulink
+ url="http://www.polstra.com/projects/freeware/ezm3/">Ezm3</ulink>
+ para maiores detalhes. Os ports relacionados
+ são:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename role="package">net/cvsup</filename>:
+ O port nativo do CVSup (cliente e servidor) o qual
+ requer a instalalação do <filename
+ role="package">lang/ezm3</filename>.</para>
+ </listitem>
+ <listitem>
+ <para><filename role="package">net/cvsup-mirror</filename>:
+ O kit de espelhamento do CVSup, o qual requer o
+ <filename
+ role="package">net/cvsup-without-gui</filename>, e que
+ o configura para atuar no espelhamento dos
+ serviços. Alguns administradores podem preferir
+ utilizar uma forma diferente de configurar um site
+ espelho.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Existem alguns outros, como o <filename
+ role="package">net/cvsup-without-gui</filename> o qual
+ você pode desejar olhar. Se você preferir um
+ pacote binário, compilado estaticamente, de uma
+ olhada <ulink
+ url="http://people.FreeBSD.org/~jdp/s1g/">aqui</ulink>.
+ Esta página continua mencionando o erro SG1, o qual
+ esteve presente no <application>CVSup</application>. Talvez
+ o John venha a criar no futuro um site genérico para
+ download de binários estáticos para
+ várias plataformas.</para>
+
+ <para>É possível utilizar o
+ <application>CVSup</application> para disponibilizar
+ qualquer tipo de arquivo, e não apenas
+ repositórios CVS, mas a configuração
+ pode ser complexa. O <application>CVSup</application>
+ é conhecido por consumir um pouco de CPU tanto no
+ servidor quanto no cliente, uma vez que ele precisa comparar
+ muitos arquivos.</para>
+ </sect3>
+
+ <sect3 id="mirror-anoncvs">
+ <title>AnonCVS (Opcional para reposittórios
+ CVS)</title>
+
+ <para>Se você possui o repositório CVS,
+ você pode desejar disponibilizá-lo via cvs
+ anônimo. Um pequeno aviso antes: Não existe
+ muita demanda para este tipo de acesso, ele requer alguma
+ experiência, e você precisa saber o que
+ está fazendo.</para>
+
+ <para>Geralmente há duas formas de se acessar um
+ repositório CVS remotamente: via
+ <emphasis>pserver</emphasis> ou via <command>ssh</command>
+ (nós não consideramos o
+ <command>rsh</command>). Para acesso anônimo, o uso
+ do <emphasis>pserver</emphasis> é bastante adequado,
+ mas alguns optam por também oferecer acesso via
+ <command>ssh</command>. Existe um <ulink
+ url="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/FreeBSD-CVS/anoncvs.shar">wrapper</ulink>
+ customizado no repositório CVS, para ser utilizado
+ como shell para uma conta anônima de ssh. Ele faz um
+ chroot, e portanto requer que o repositório CVS
+ esteja disponível no diretório home do
+ usuário anônimo. Isto pode não ser
+ possível para todos os sites. Se você for
+ oferecer apenas acesso via <emphasis>pserver</emphasis>,
+ esta restrição não se aplica, mas
+ você pode ficar sujeito a um risco maior de
+ segurança. Você não precisa instalar
+ nenhum software especial, uma vez que o &man.cvs.1; vem por
+ padrão na instalação básica do
+ FreeBSD. Você precisa habilitar o acesso
+ através do <command>inetd</command>, para isto basta
+ adicionar uma entrada ao seu
+ <filename>/etc/inetd.conf</filename> semelhante a
+ esta:</para>
+
+ <programlisting>
+cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --allow-root=/home/ncvs pserver
+ </programlisting>
+
+ <para>Consulte o manual para detalhes das
+ opções. Consulte também a
+ página de <emphasis>info</emphasis> do CVS sobre
+ formas adicionais de certificar-se de que o acesso ao
+ repositório está configurado apenas para
+ leitura. Recomenda-se que você crie uma conta
+ não privilegiada, preferencialmente chamada
+ <username>anoncvs</username>.
+ Você também precisa criar um arquivo
+ <filename>passwd</filename> no seu
+ <filename>/home/ncvs/CVSROOT</filename> e atribuir um
+ password (em branco ou anoncvs) para acesso deste
+ usuário ao CVS. O diretório
+ <filename>/anoncvstmp</filename> é um sistema de
+ arquivo baseado em memória que tem um
+ propósito especial. Ele não é
+ obrigatório mas seu uso é recomendado, uma
+ vez que o &man.cvs.1; cria uma estrutura de
+ diretórios ocultos no seu <filename>/tmp</filename>
+ a qual não é utilizada depois da
+ operação, mas que deixa as coisas
+ dramaticamente lentas se forem necessárias
+ operações reais de escrita e leitura para o
+ disco. Aqui está um exemplo de configuração no
+ <filename>/etc/fstab</filename>, de como configurar um
+ 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>Esta é (naturalmente) uma sintaxe otimizada ao
+ máximo, e foi sugerida pelo &a.jdp;.</para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="mirror-howto">
+ <title>Como espelhar o FreeBSD</title>
+
+ <para>Ok, agora você conhece os requisitos e sabe como oferecer
+ os serviços, mas não sabe como começar. :-)
+ Esta sessão explica como realizar realmente o
+ espelhamento de várias partes do FreeBSD, que ferramentas
+ utilizar e a partir de onde espelhar.</para>
+
+ <sect2 id="mirror-ftp">
+ <title>FTP</title>
+ <para>A área de FTP representa o maior volume de dados a
+ serem espelhados. Ele inclui os <emphasis>conjuntos de
+ distribuição</emphasis> os quais são
+ requeridos para as instalações via rede, os
+ ramos (<emphasis>branches</emphasis>) do sistema dos quais se
+ tira snapshots a partir da árvore de código
+ fonte, as <emphasis>imagens ISO</emphasis> para gravar CDs de
+ instalação do sistema, um sistema de arquivos
+ vivo, a árvore do ports, os distifiles (código
+ fonte necessários para compilar o ports) e uma
+ quantidade enorme de pacotes. Tudo, é claro, para as
+ várias versões do FreeBSD, e para as
+ várias arquiteturas.</para>
+
+ <sect3 id="mirror-ftp-ftp">
+ <title>Espelhando com FTP</title>
+
+ <para>Você pode utilizar um aplicativo de espelhamento
+ de FTP para obter os arquivos. Alguns dos mais utilizados
+ são:</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>O <filename role="package">ftp/mirror</filename> era
+ muito popular, mas parece ter alguns inconvenientes, como
+ ele está escrito em &man.perl.1; ele possui alguns
+ problemas reais para espelhar grandes diretórios
+ como os de um site espelho do FreeBSD. Existem rumores de
+ que a versão atual corrigiu isso ao permitir que
+ seja especificado um algoritmo diferente para comparar a
+ estrutura de diretórios.</para>
+
+ <para>Em geral o FTP não é muito bom para
+ tarefas de espelhamento. Ele transfere o arquivo inteiro
+ se o mesmo for alterado, e não cria um fluxo
+ único de dados do qual ele se beneficiaria no caso
+ de ocorrer uma grande janela de congestionamento TCP.</para>
+ </sect3>
+
+ <sect3 id="mirror-ftp-rsync">
+ <title>Espelhando com o Rsync</title>
+
+ <para>A melhor forma de espelhar a área FTP é
+ através do uso do <application>rsync</application>.
+ Você pode instalar o port <filename
+ role="package">net/rsync</filename> e então
+ utilizá-lo para sincronizar com o seu servidor de
+ <literal>upstream</literal>. O
+ <application>rsync</application> já foi mencionado na
+ <xref linkend="mirror-serv-rsync" />. Uma vez que a
+ disponibilização de acesso via
+ <application>rsync</application> não é
+ obrigatória, o seu site preferido de
+ <literal>upstream</literal> pode não disponibilizá-lo.
+ Você pode precisar gastar algum tempo procurando até
+ encontrar um servidor que permita o acesso via
+ <application>rsync</application>.</para>
+
+ <note>
+ <para>Uma vez que o número de clientes
+ <application>rsync</application> gera um impacto
+ significativo no servidor, muitos administradores
+ definem limites para o número de acessos
+ simultâneos aos seus servidores. Você deve
+ consultar o responsável pelo servidor de
+ <literal>upstream</literal> que você está
+ utilizando, sobre as regras do servidor, e sobre a
+ possibilidade dele abrir uma exceção para o seu
+ servidor (uma vez que você é um site
+ espelho).</para>
+ </note>
+
+ <para>A linha de comando para espelhar o FreeBSD será
+ parecida com esta:</para>
+
+ <screen>&prompt.user; <userinput>rsync -vaz --delete ftp4.de.FreeBSD.org::FreeBSD/ /pub/FreeBSD/</userinput>
+ </screen>
+
+ <para>Consulte a documentação do
+ <application>rsync</application>, a qual está
+ disponível em <ulink
+ url="http://rsync.samba.org/">http://rsync.samba.org/</ulink>,
+ para conhecer as várias opções que
+ podem ser utilizadas com o
+ <application>rsync</application>. Se você
+ sincronizar o módulo inteiro (ao contrário
+ de apenas alguns subdiretórios), esteja ciente de
+ que o módulo-diretório (normalmente
+ "FreeBSD") não será criado, de forma que
+ você não deve omitir o diretório alvo.
+ Além disso, você pode desejar criar um script
+ de trabalho para ser executado pelo &man.cron.8;, para
+ automatizar o processo de espelhamento.</para>
+ </sect3>
+
+ <sect3 id="mirror-ftp-cvsup">
+ <title>Espelhando com o CVSup</title>
+
+ <para>Alguns sites, incluindo o <hostid
+ role="fqdn">ftp-master.FreeBSD.org</hostid>
+ oferecem acesso via <application>CVSup</application> para
+ espelhamento do conteúdo da área de FTP.
+ Você precisa instalar um cliente
+ <application>CVSup</application>, preferencialmente a partir
+ do port <filename role="package">net/cvsup</filename>.
+ (consulte também a <xref
+ linkend="mirror-serv-cvsup" />). Abaixo você encontra um
+ exemplo de arquivo <filename>supfile</filename> pronto para
+ uso com o
+ <hostid role="fqdn">ftp-master.FreeBSD.org</hostid>:</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>Ao que parece o <application>CVSup</application>
+ seria a melhor opção para espelhar os arquivos em
+ termos eficiência, mas infelizmente ele só
+ está disponível em alguns poucos
+ sites.</para>
+
+ <note id="mirror-cvsup-s-option">
+ <para>Por favor, consulte a documentação do
+ <application>CVSup</application>, como por exemplo a
+ &man.cvsup.1; e considere o uso da opção
+ <option>-s</option>. Esta opção reduz as
+ operações de leitura e escrita para o seu
+ disco rígido, assumindo que as
+ informações gravadas sobre cada arquivo
+ estão corretas.</para>
+ </note>
+ </sect3>
+ </sect2>
+ <sect2 id="mirror-cvs">
+ <title>Espelhando o repositório CVS</title>
+
+ <para>Existem várias formas de se espelhar o
+ repositório CVS. O <application>CVSup</application>
+ é o método mais comum.</para>
+
+ <sect3 id="mirror-cvs-cvsup">
+ <title>Usando o CVSup</title>
+
+ <para>O <application>CVSup</application> foi descrito com
+ algum detalhe na <xref linkend="mirror-serv-cvsup" /> e na
+ <xref linkend="mirror-ftp-cvsup" />.</para>
+
+ <para>É muito fácil configurar um site espelho
+ com o <application>CVSup</application>. Basta instalar o
+ port <filename role="package">net/cvsup-mirror</filename>
+ para que você tenha todos os programas
+ necessários instalados, e para que todas as
+ informações necessárias para a
+ configuração do site espelho sejam
+ coletadas.</para>
+
+ <note>
+ <para>Por favor não se esqueça de avaliar a
+ sugestão mencionada na <link
+ linkend="mirror-cvsup-s-option">nota acima</link></para>
+ </note>
+ </sect3>
+
+ <sect3 id="mirror-cvs-other">
+ <title>Utilizando outros métodos</title>
+
+ <para>A utilização de outros métodos que
+ não o <application>CVSup</application> geralmente
+ não é recomendada. De qualquer forma,
+ nós vamos descrevê-los rapidamente aqui. Uma
+ vez que a maioria dos sites oferece o repositório
+ CVS como parte da área de FTP, sob o caminho
+ <filename>/pub/FreeBSD/development/FreeBSD-CVS</filename>,
+ os seguintes métodos podem ser utilizados:</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>O <emphasis>AnonCVS</emphasis> não pode ser
+ utilizado para espelhar o repositório CVS, uma
+ vez que o CVS não permite que você acesse o
+ próprio repositório em si (arquivos ",v"),
+ permitindo o acesso somente as versões limpas dos
+ módulos.</para>
+ </important>
+ </sect3>
+ </sect2>
+
+ <sect2 id="mirror-www">
+ <title>Espelhando as páginas WWW</title>
+
+ <para>A melhor forma é realizar um <quote><literal>check
+ out</literal></quote> da distribuição www do
+ servidor de CVS. Se você tem um mirror local do
+ repositório CVS, isto será tão simples
+ quanto executar:</para>
+
+ <screen>&prompt.user; <userinput>cvs -d /home/ncvs co www</userinput></screen>
+
+ <para>e agendar uma tarefa no <emphasis>cron</emphasis>,
+ que execute periodicamente o comando
+ <command>cvs up -d -P</command>, imediatamente
+ após a execução do processo que atualiza
+ o seu repositório. É claro que os arquivos
+ precisam ser colocados em um diretório disponível para
+ acesso público via WWW. A instalação e
+ configuração de um servidor web não
+ serão abordadas neste artigo.</para>
+
+ <para>Se você não tem um repositório local,
+ você pode utilizar o <application>CVSup</application>
+ para manter uma <quote>cópia atualizada</quote> das
+ páginas www. Um supfile de exemplo para esta tarefa
+ pode ser encontrado em
+ <filename>/usr/share/examples/cvsup/www-supfile</filename>, o
+ qual irá se parecer com isto:</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>A utilização do <filename
+ role="package">ftp/wget</filename> ou de outras ferramentas
+ de espelhamento web (<literal>web-mirror</literal>)
+ não é recomendado.</para>
+
+ <sect3 id="mirror-www-doc">
+ <title>Espelhando a documentação do FreeBSD</title>
+
+ <para>Uma vez que a documentação é referenciada em diversas
+ páginas web, é recomendado que você também espelhe a
+ documentação do FreeBSD. No entanto, isto não é tão
+ trivial quanto o espelhamento das páginas www
+ isoladamente.</para>
+
+ <para>Em primeiro lugar, você deve obter os fontes da
+ documentação, e recomendamos que você faça isso
+ preferencialmente via <application>CVSup</application>.
+ Aqui está um exemplo de supfile para esta tarefa:</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>Então você precisará instalar alguns
+ ports. Mas você está com sorte pois existe um
+ meta-port, o <filename
+ role="package">textproc/docproj</filename>, para fazer o
+ trabalho por você. Você precisa configurar
+ algumas variáveis de ambiente, como por exemplo
+ <literal>SGML_CATALOG_FILES</literal>. Também de uma
+ olhada no seu <filename>/etc/make.conf</filename>
+ (faça uma cópia do
+ <filename>/usr/share/examples/etc/make.conf</filename> se
+ você não possuir um), e verifique a
+ variável <literal>DOC_LANG</literal>. Agora
+ você provavelmente já está pronto para
+ executar o comando <command>make</command> dentro do
+ diretório com os fontes da documentação
+ (<filename>/usr/share/doc</filename> por padrão) para
+ construí-la. De novo, você precisa tornar os arquivos
+ acessíveis através do seu servidor web, certificando-se de
+ que os links apontam para o local correto.</para>
+
+ <important>
+ <para>A construção da documentação, assim como as diversas
+ tarefas associadas ao processo, estão documentadas
+ no <ulink url="&url.books.fdp-primer;">&os; Documentation
+ Project Primer</ulink>. Por favor, leia este documento,
+ especialmente se você está tendo problemas
+ para construir a documentação.</para>
+ </important>
+ </sect3>
+ </sect2>
+
+ <sect2 id="mirror-how-often">
+ <title>Com que frequência devo espelhar?</title>
+
+ <para>Todo site espelho deve ser atualizado regularmente.
+ Você certamente irá precisar de alguns scripts
+ para automatizar este processo de atualização
+ com a ajuda do &man.cron.8;. Uma vez que praticamente cada
+ administrador implementa este procedimento do seu
+ próprio jeito, nós não temos como fornecer
+ instruções específicas de como proceder.
+ O processo poderia ser resumido em:</para>
+
+ <procedure>
+ <step>
+ <para>Coloque o comando para executar a sua
+ aplicação de espelhamento em um script. O
+ uso de um script simples em <command>/bin/sh</command>
+ é recomendado.</para>
+ </step>
+ <step>
+ <para>Adicione alguns redirecionamentos para arquivo das
+ mensagens dos programas, de forma que possa usar o mesmo
+ com a finalidade de diagnóstico de problemas.</para>
+ </step>
+ <step>
+ <para>Teste se o seu script funciona. Verifique o arquivo de
+ log.</para>
+ </step>
+ <step>
+ <para>Utilize o &man.crontab.1; para adicionar o script ao
+ &man.crontab.5; do usuário apropriado. O qual deve
+ ser um usuário diferente do usuário sob o
+ qual o servidor de FTP é executado, desta forma
+ não será permitido o acesso via FTP
+ anônimo aos arquivos presentes na área de FTP,
+ os quais não possuam permissões que
+ possibilitem a leitura por todos os demais usuários.
+ Isto é utilizado para a fase de <quote>stage</quote>
+ das novas distribuições — garantindo
+ que todos os sites espelhos oficiais possuam todos os
+ arquivos necessários de uma
+ distribuição, no dia em que a mesma é
+ liberada.</para>
+ </step>
+ </procedure>
+
+ <para>Aqui estão alguns exemplos da periodicidade
+ recomendada para atualização de um site
+ espelho:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Conjunto de arquivos do FTP: diária</para>
+ </listitem>
+ <listitem>
+ <para>Repositório CVS: horária</para>
+ </listitem>
+ <listitem>
+ <para>Páginas WWW: diária</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="mirror-where">
+ <title>De onde espelhar</title>
+
+ <para>Esta é uma questão importante. Portanto, esta
+ seção irá gastar algum esforço para
+ explicá-la. Vamos dizer isso várias vezes: em
+ nenhuma circunstância você deve espelhar a partir do
+ <hostid role="fqdn">ftp.FreeBSD.org</hostid>.</para>
+
+ <sect2 id="mirror-where-organization">
+ <title>Algumas palavras sobre a
+ organização</title>
+
+ <para>Os sites espelhos são organizados por país.
+ Todos os sites espelhos oficiais possuem uma entrada de DNS no
+ formato <hostid role="fqdn">ftpN.CC.FreeBSD.org</hostid>. No
+ qual <emphasis>CC</emphasis> (i.e. código do
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-all
mailing list