                              Espelhando o FreeBSD

  Jun Kuriyama

   <kuriyama@FreeBSD.org>

  Valentino Vaschetto

   <logo@FreeBSD.org>

  Daniel Lang

   <dl@leo.org>

  Ken Smith

   <kensmith@FreeBSD.org>

   Revisao: 43126

   FreeBSD is a registered trademark of the FreeBSD Foundation.

   CVSup is a registered trademark of John D. Polstra.

   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 "(TM)" or the "(R)"
   symbol.

   2013-11-07 por gabor.
   Resumo

   Este artigo aborda a configurac,ao de um site espelho destinado `a
   distribuic,ao do FreeBSD e tem como publico alvo os administradores destes
   sites. Este e um trabalho em andamento.

     ----------------------------------------------------------------------

   Indice

   1. Informac,oes de Contato

   2. Requisitos para espelhar o FreeBSD

   3. Como espelhar o FreeBSD

   4. De onde espelhar

   5. Sites Espelhos Oficiais

   6. Algumas estatisticas dos sites espelhos

  Nota:

   Neste momento nos nao estamos aceitando novos sites espelho.

1. Informac,oes de Contato

   Os coordenadores do sistema de sites espelho podem ser contatados por
   email no enderec,o <mirror-admin@FreeBSD.org>. Tambem existe a lista de
   discussao sobre sites espelhos do FreeBSD.

2. Requisitos para espelhar o FreeBSD

  2.1. Espac,o em disco

   Espac,o em disco e um dos requisitos mais importantes. Dependendo do
   conjunto de releases, de arquiteturas e do grau de cobertura que voce
   deseja que seu site espelho tenha, uma enorme quantia de espac,o em disco
   pode ser consumida. Tambem tenha em mente que os sites oficiais
   provavelmente precisam estar completos. O repositorio CVS e as paginas web
   devem ser sempre espelhados de forma completa. Tambem observe que os
   numeros mencionados neste artigo estao refletindo o estado atual
   (8.4-RELEASE/9.2-RELEASE). Desenvolvimentos futuros e novas releases
   apenas irao aumentar o espac,o requerido. Certifique-se de manter algum
   espac,o extra (entre 10 e 20%) disponivel, em relac,ao as estimativas
   abaixo, apenas por seguranc,a. Aqui estao algumas estimativas aproximadas:

     * Distribuic,ao FTP completa: 1.0 TB

     * Repositorio CVS: 5.4 GB

     * Deltas CTM: 3.2 GB

     * Paginas Web: 463 MB

   O uso atual de espac,o em disco pela distribuic,ao FTP pode ser encontrada
   em ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes.

  2.2. Conectividade de rede e largura de banda

   E claro que voce precisa estar conectado `a Internet. A largura de banda
   que sera necessaria dependera do uso previsto para o seu site espelho. Se
   voce so quer espelhar algumas partes do FreeBSD para uso local no seu
   Site/Intranet, a demanda pode ser muito menor do que se voce quiser tornar
   os arquivos disponiveis publicamente. Se voce pretende se tornar um site
   espelho oficial, a largura de banda necessaria sera ainda maior. Desta
   forma, nos so podemos dar estimativas grosseiras em relac,ao a este item:

     * Site local, sem acesso publico: basicamente nenhum, mas um link menor
       que 2 Mbps pode tornar o processo de sincronismo muito lento.

     * Site publico nao oficial: um link de 34 Mbps e provavelmente um bom
       ponto de partida.

     * Site oficial: recomenda-se um link de no minimo 100 Mbps, e o seu
       servidor devera estar conectado o mais proximo possivel do seu
       roteador de borda.

  2.3. Requisitos de sistema, CPU e Memoria RAM

   O dimensionamento destes itens depende do numero esperado de clientes
   simultaneos, o que e determinado pela politica de uso do servidor. Estes
   requisitos tambem sao afetados pelo tipo de servic,o que voce deseja
   oferecer. Servic,os basicos de FTP ou HTTP podem nao necessitar de uma
   grande quantidade de recursos. Mas fique atento se voce for disponibilizar
   os servic,os de CVSup, rsync ou mesmo de AnonCVS. Estes servic,os podem
   ter um enorme impacto nos requisitos de CPU e de memoria. Especialmente o
   rsync, o qual e considerado um devorador de memoria, e o CVSup certamente
   consome um pouco da CPU. No caso do AnonCVS pode ser interessante
   configurar um sistemas de arquivos residente em memoria (MFS) de no minimo
   300 MB, desta forma voce precisa considerar este consumo quando avaliar a
   quantidade de memoria requerida. A seguir voce ira encontrar alguns
   exemplos, os quais visam apenas lhe dar uma ideia por alto das
   necessidades.

   Para um site de visitac,ao moderada o qual oferec,a o servic,o de Rsync,
   voce pode considerar uma CPU entre 800 MHz e 1 GHz, e pelo menos 512 MB de
   memoria RAM. Esta e provavelmente a configurac,ao minima para um site
   espelho oficial.

   Para um site de visitac,ao frequente, voce definitivamente vai precisar de
   mais memoria RAM (considere 2 GB como um bom ponto de partida) e
   possivelmente de mais poder de processamento (CPU), o que pode significar
   que voce precisara ir para um sistema multiprocessado (SMP).

   Voce tambem pode considerar o uso de um subsistema de discos rapidos. As
   operac,oes em um repositorio CVS necessitam de um subsistema de discos
   rapido (o uso de RAID e altamente desejavel). Uma controladora SCSI que
   possua cache dedicado tambem pode melhorar a velocidade uma vez que a
   maioria destes servic,os incorre na realizac,ao de um grande numero de
   pequenas modificac,oes no disco.

  2.4. Servic,os para oferecer

   Todo site espelho e obrigado a disponibilizar um conjunto de servic,os
   basicos. Em adic,ao a estes servic,os obrigatorios, existe um grande
   numero de servic,os opcionais os quais o administrador do servidor pode
   optar por oferecer. Esta sessao ira detalhar quais servic,os voce pode
   oferecer, bem como implementa-los.

    2.4.1. FTP (necessario para o conjunto de arquivos do FTP)

   Este e um dos servic,os mais basicos, e ele e requerido em todos os sites
   espelhos que oferecem acesso publico `as distribuic,oes via FTP. O acesso
   ao FTP deve ser anonimo, e nao e permitido o uso de nenhum controle nas
   taxas de upload/download (o que seria uma coisa ridicula de qualquer
   maneira). Nao e necessario ter o upload de arquivos habilitado (e isso
   nunca deve ser permitido na area onde os arquivos do FreeBSD sao
   mantidos). Os arquivos do FreeBSD devem ficar disponiveis sob o caminho
   /pub/FreeBSD.

   Existem diversos softwares disponiveis os quais podem ser configurados
   para operar como um servidor de FTP anonimo. Por exemplo (em ordem
   alfabetica).

     * /usr/libexec/ftpd: Este e o servidor de FTP nativo do FreeBSD.
       Certifique-se de ler o ftpd(8).

     * ftp/ncftpd: Um pacote comercial, gratuito para uso com fins
       educacionais.

     * ftp/oftpd: Um servidor de FTP desenvolvido tendo a seguranc,a como seu
       foco principal.

     * ftp/proftpd: Um servidor FTP modular e muito flexivel.

     * ftp/pure-ftpd: Outro servidor de FTP desenvolvido tendo a seguranc,a
       em mente.

     * ftp/twoftpd: Mais um servidor desenvolvido com foco em seguranc,a.

     * ftp/vsftpd: Um ftpd "muito seguro".

     * ftp/wu-ftpd: O ftpd da universidade de Washington. Ele se tornou
       impopular, por causa da enorme quantidade de problemas de seguranc,a
       que foram descobertos nele. Se voce optar por utilizar este software,
       certifique-se de mante-lo atualizado.

   O ftpd nativo do FreeBSD, o proftpd, o wu-ftpd e talvez o ncftpd sao
   alguns dos servidores de FTP mais comumente utilizados. Os demais nao
   possuem uma grande base de usuarios entre os sites espelhos. Um item a ser
   considerado e que voce pode precisar de flexibilidade para controlar
   quantas conexoes simultaneas serao permitidas no servidor, limitando desta
   forma o consumo do seu link IP e dos demais recursos do sistema.

    2.4.2. Rsync (opcional para o conjunto de arquivos do FTP)

   O Rsync e muitas vezes oferecido para acesso ao conteudo da area 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 e
   diferente do FTP em muitos aspectos. Ele e muito mais amigavel em relac,ao
   ao consumo de banda IP, uma vez que quando um arquivo e alterado ao inves
   de transferi-lo por completo novamente, ele transfere apenas as
   diferenc,as entre as duas versoes do arquivo. O Rsync requer uma grande
   quantidade de memoria para cada instancia. A quantidade de memoria alocada
   depende do tamanho do modulo sincronizado em termos do numero de
   diretorios e de arquivos. O Rsync pode utilizar o rsh e o ssh (que agora e
   padrao) para transporte dos dados, ou entao utilizar o seu proprio
   protocolo para acesso stand-alone (este e o metodo preferido para um
   servidor publico de Rsync). Obrigatoriedade de autenticac,ao, limites ao
   numero de conexoes simultaneas e outras restric,oes podem ser aplicadas.
   Ha apenas um pacote de software disponivel para se implementar um servidor
   de Rsync:

     * net/rsync

    2.4.3. HTTP (necessario para as paginas web, opcional para o conjunto de
    arquivos do FTP)

   Se voce deseja disponibilizar as paginas web do FreeBSD, voce vai precisar
   instalar um servidor web. Opcionalmente voce podera oferecer acesso a sua
   arvore de FTP via HTTP. A escolha do software do servidor web e uma
   escolha do administrador do site espelho. As opc,oes mais populares sao:

     * www/apache22: O Apache e o servidor web mais amplamente utilizado na
       internet. Ele e usado extensivamente pelo projeto FreeBSD.

     * www/thttpd: Se voce for servir uma grande quantidade de conteudo
       estatico, voce pode constatar que o uso de uma aplicac,ao como o
       thttpd e mais eficiente do que o uso do Apache. Ele esta otimizado
       para operar sob a maxima performance no FreeBSD.

     * www/boa: O Boa e uma outra alternativa ao thttpd e ao Apache. Ele deve
       prover uma performance consideravelmente melhor que a do Apache para
       conteudos puramente estaticos. Ele nao possui, pelo menos ate o
       momento em que esse artigo esta sendo escrito, o mesmo conjunto de
       otimizac,oes para o ambiente FreeBSD que encontramos disponiveis no
       thttpd.

    2.4.4. CVSup (desejado para repositorios CVS)

   O CVSup e um meio muito eficiente de distribuic,ao de arquivos. Ele
   trabalha de forma semelhante ao rsync, mas foi especialmente projetado
   para uso com repositorios CVS. Se voce deseja disponibilizar o repositorio
   CVS do FreeBSD, voce deve considerar seriamente faze-lo via CVSup. E
   possivel oferecer acesso a um repositorio CVS via AnonCVS, FTP, rsync ou
   HTTP, mas as pessoas vao se beneficiar muito mais de um acesso via CVSup.
   O CVSup foi desenvolvido pelo John Polstra. E um pouco complicado
   instala-lo em uma plataforma diferente do FreeBSD, uma vez que ele foi
   escrito em Modula-3 e consequentemente necessita de um ambiente Modula-3
   disponivel. O John Polstra preparou uma versao simplificada do M3 a qual e
   suficiente para executar o CVSup, e que pode ser facilmente instalada.
   Consulte Ezm3 para maiores detalhes. Os ports relacionados sao:

     * net/cvsup: O port nativo do CVSup (cliente e servidor) o qual requer a
       instalalac,ao do lang/ezm3.

     * net/cvsup-mirror: O kit de espelhamento do CVSup, o qual requer o
       net/cvsup-without-gui, e que o configura para atuar no espelhamento
       dos servic,os. Alguns administradores podem preferir utilizar uma
       forma diferente de configurar um site espelho.

   Existem alguns outros, como o net/cvsup-without-gui o qual voce pode
   desejar olhar. Se voce preferir um pacote binario, compilado
   estaticamente, de uma olhada aqui. Esta pagina continua mencionando o erro
   SG1, o qual esteve presente no CVSup. Talvez o John venha a criar no
   futuro um site generico para download de binarios estaticos para varias
   plataformas.

   E possivel utilizar o CVSup para disponibilizar qualquer tipo de arquivo,
   e nao apenas repositorios CVS, mas a configurac,ao pode ser complexa. O
   CVSup e conhecido por consumir um pouco de CPU tanto no servidor quanto no
   cliente, uma vez que ele precisa comparar muitos arquivos.

    2.4.5. AnonCVS (Opcional para reposittorios CVS)

   Se voce possui o repositorio CVS, voce pode desejar disponibiliza-lo via
   cvs anonimo. Um pequeno aviso antes: Nao existe muita demanda para este
   tipo de acesso, ele requer alguma experiencia, e voce precisa saber o que
   esta fazendo.

   Geralmente ha duas formas de se acessar um repositorio CVS remotamente:
   via pserver ou via ssh (nos nao consideramos o rsh). Para acesso anonimo,
   o uso do pserver e bastante adequado, mas alguns optam por tambem oferecer
   acesso via ssh. Existe um wrapper customizado no repositorio CVS, para ser
   utilizado como shell para uma conta anonima de ssh. Ele faz um chroot, e
   portanto requer que o repositorio CVS esteja disponivel no diretorio home
   do usuario anonimo. Isto pode nao ser possivel para todos os sites. Se
   voce for oferecer apenas acesso via pserver, esta restric,ao nao se
   aplica, mas voce pode ficar sujeito a um risco maior de seguranc,a. Voce
   nao precisa instalar nenhum software especial, uma vez que o cvs(1) vem
   por padrao na instalac,ao basica do FreeBSD. Voce precisa habilitar o
   acesso atraves do inetd, para isto basta adicionar uma entrada ao seu
   /etc/inetd.conf semelhante a esta:

 cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --allow-root=/home/ncvs pserver
          

   Consulte o manual para detalhes das opc,oes. Consulte tambem a pagina de
   info do CVS sobre formas adicionais de certificar-se de que o acesso ao
   repositorio esta configurado apenas para leitura. Recomenda-se que voce
   crie uma conta nao privilegiada, preferencialmente chamada anoncvs. Voce
   tambem precisa criar um arquivo passwd no seu /home/ncvs/CVSROOT e
   atribuir um password (em branco ou anoncvs) para acesso deste usuario ao
   CVS. O diretorio /anoncvstmp e um sistema de arquivo baseado em memoria
   que tem um proposito especial. Ele nao e obrigatorio mas seu uso e
   recomendado, uma vez que o cvs(1) cria uma estrutura de diretorios ocultos
   no seu /tmp a qual nao e utilizada depois da operac,ao, mas que deixa as
   coisas dramaticamente lentas se forem necessarias operac,oes reais de
   escrita e leitura para o disco. Aqui esta um exemplo de configurac,ao no
   /etc/fstab, de como configurar um MFS:

 /dev/da0s1b /anoncvstmp mfs rw,-s=786432,-b=4096,-f=512,-i=560,-c=3,-m=0,nosuid 0 0
          

   Esta e (naturalmente) uma sintaxe otimizada ao maximo, e foi sugerida pelo
   John Polstra.

3. Como espelhar o FreeBSD

   Ok, agora voce conhece os requisitos e sabe como oferecer os servic,os,
   mas nao sabe como comec,ar. :-) Esta sessao explica como realizar
   realmente o espelhamento de varias partes do FreeBSD, que ferramentas
   utilizar e a partir de onde espelhar.

  3.1. FTP

   A area de FTP representa o maior volume de dados a serem espelhados. Ele
   inclui os conjuntos de distribuic,ao os quais sao requeridos para as
   instalac,oes via rede, os ramos (branches) do sistema dos quais se tira
   snapshots a partir da arvore de codigo fonte, as imagens ISO para gravar
   CDs de instalac,ao do sistema, um sistema de arquivos vivo, a arvore do
   ports, os distifiles (codigo fonte necessarios para compilar o ports) e
   uma quantidade enorme de pacotes. Tudo, e claro, para as varias versoes do
   FreeBSD, e para as varias arquiteturas.

    3.1.1. Espelhando com FTP

   Voce pode utilizar um aplicativo de espelhamento de FTP para obter os
   arquivos. Alguns dos mais utilizados sao:

     * ftp/mirror

     * ftp/ftpmirror

     * ftp/emirror

     * ftp/spegla

     * ftp/omi

     * ftp/wget

   O ftp/mirror era muito popular, mas parece ter alguns inconvenientes, como
   ele esta escrito em perl(1) ele possui alguns problemas reais para
   espelhar grandes diretorios como os de um site espelho do FreeBSD. Existem
   rumores de que a versao atual corrigiu isso ao permitir que seja
   especificado um algoritmo diferente para comparar a estrutura de
   diretorios.

   Em geral o FTP nao e muito bom para tarefas de espelhamento. Ele transfere
   o arquivo inteiro se o mesmo for alterado, e nao cria um fluxo unico de
   dados do qual ele se beneficiaria no caso de ocorrer uma grande janela de
   congestionamento TCP.

    3.1.2. Espelhando com o Rsync

   A melhor forma de espelhar a area FTP e atraves do uso do rsync. Voce pode
   instalar o port net/rsync e entao utiliza-lo para sincronizar com o seu
   servidor de upstream. O rsync ja foi mencionado na Sec,ao 2.4.2, "Rsync
   (opcional para o conjunto de arquivos do FTP)". Uma vez que a
   disponibilizac,ao de acesso via rsync nao e obrigatoria, o seu site
   preferido de upstream pode nao disponibiliza-lo. Voce pode precisar gastar
   algum tempo procurando ate encontrar um servidor que permita o acesso via
   rsync.

  Nota:

   Uma vez que o numero de clientes rsync gera um impacto significativo no
   servidor, muitos administradores definem limites para o numero de acessos
   simultaneos aos seus servidores. Voce deve consultar o responsavel pelo
   servidor de upstream que voce esta utilizando, sobre as regras do
   servidor, e sobre a possibilidade dele abrir uma excec,ao para o seu
   servidor (uma vez que voce e um site espelho).

   A linha de comando para espelhar o FreeBSD sera parecida com esta:

 % rsync -vaz --delete ftp4.de.FreeBSD.org::FreeBSD/ /pub/FreeBSD/
          

   Consulte a documentac,ao do rsync, a qual esta disponivel em
   http://rsync.samba.org/, para conhecer as varias opc,oes que podem ser
   utilizadas com o rsync. Se voce sincronizar o modulo inteiro (ao contrario
   de apenas alguns subdiretorios), esteja ciente de que o modulo-diretorio
   (normalmente "FreeBSD") nao sera criado, de forma que voce nao deve omitir
   o diretorio alvo. Alem disso, voce pode desejar criar um script de
   trabalho para ser executado pelo cron(8), para automatizar o processo de
   espelhamento.

    3.1.3. Espelhando com o CVSup

   Alguns sites, incluindo o ftp-master.FreeBSD.org oferecem acesso via CVSup
   para espelhamento do conteudo da area de FTP. Voce precisa instalar um
   cliente CVSup, preferencialmente a partir do port net/cvsup. (consulte
   tambem a Sec,ao 2.4.4, "CVSup (desejado para repositorios CVS)"). Abaixo
   voce encontra um exemplo de arquivo supfile pronto para uso com o
   ftp-master.FreeBSD.org:

           #
           # 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
          

   Ao que parece o CVSup seria a melhor opc,ao para espelhar os arquivos em
   termos eficiencia, mas infelizmente ele so esta disponivel em alguns
   poucos sites.

  Nota:

   Por favor, consulte a documentac,ao do CVSup, como por exemplo a cvsup(1)
   e considere o uso da opc,ao -s. Esta opc,ao reduz as operac,oes de leitura
   e escrita para o seu disco rigido, assumindo que as informac,oes gravadas
   sobre cada arquivo estao corretas.

  3.2. Espelhando o repositorio CVS

   Existem varias formas de se espelhar o repositorio CVS. O CVSup e o metodo
   mais comum.

    3.2.1. Usando o CVSup

   O CVSup foi descrito com algum detalhe na Sec,ao 2.4.4, "CVSup (desejado
   para repositorios CVS)" e na Sec,ao 3.1.3, "Espelhando com o CVSup".

   E muito facil configurar um site espelho com o CVSup. Basta instalar o
   port net/cvsup-mirror para que voce tenha todos os programas necessarios
   instalados, e para que todas as informac,oes necessarias para a
   configurac,ao do site espelho sejam coletadas.

  Nota:

   Por favor nao se esquec,a de avaliar a sugestao mencionada na nota acima

    3.2.2. Utilizando outros metodos

   A utilizac,ao de outros metodos que nao o CVSup geralmente nao e
   recomendada. De qualquer forma, nos vamos descreve-los rapidamente aqui.
   Uma vez que a maioria dos sites oferece o repositorio CVS como parte da
   area de FTP, sob o caminho /pub/FreeBSD/development/FreeBSD-CVS, os
   seguintes metodos podem ser utilizados:

     * FTP

     * Rsync

     * HTTP

  Importante:

   O AnonCVS nao pode ser utilizado para espelhar o repositorio CVS, uma vez
   que o CVS nao permite que voce acesse o proprio repositorio em si
   (arquivos ",v"), permitindo o acesso somente as versoes limpas dos
   modulos.

  3.3. Espelhando as paginas WWW

   A melhor forma e realizar um "check out" da distribuic,ao www do servidor
   de CVS. Se voce tem um mirror local do repositorio CVS, isto sera tao
   simples quanto executar:

 % cvs -d /home/ncvs co www

   e agendar uma tarefa no cron, que execute periodicamente o comando cvs up
   -d -P, imediatamente apos a execuc,ao do processo que atualiza o seu
   repositorio. E claro que os arquivos precisam ser colocados em um
   diretorio disponivel para acesso publico via WWW. A instalac,ao e
   configurac,ao de um servidor web nao serao abordadas neste artigo.

   Se voce nao tem um repositorio local, voce pode utilizar o CVSup para
   manter uma "copia atualizada" das paginas www. Um supfile de exemplo para
   esta tarefa pode ser encontrado em /usr/share/examples/cvsup/www-supfile,
   o qual ira se parecer com isto:

         #
         # 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
        

   A utilizac,ao do ftp/wget ou de outras ferramentas de espelhamento web
   (web-mirror) nao e recomendado.

    3.3.1. Espelhando a documentac,ao do FreeBSD

   Uma vez que a documentac,ao e referenciada em diversas paginas web, e
   recomendado que voce tambem espelhe a documentac,ao do FreeBSD. No
   entanto, isto nao e tao trivial quanto o espelhamento das paginas www
   isoladamente.

   Em primeiro lugar, voce deve obter os fontes da documentac,ao, e
   recomendamos que voce fac,a isso preferencialmente via CVSup. Aqui esta um
   exemplo de supfile para esta tarefa:

          #
          # 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
         

   Entao voce precisara instalar alguns ports. Mas voce esta com sorte pois
   existe um meta-port, o textproc/docproj, para fazer o trabalho por voce.
   Voce precisa configurar algumas variaveis de ambiente, como por exemplo
   SGML_CATALOG_FILES. Tambem de uma olhada no seu /etc/make.conf (fac,a uma
   copia do /usr/share/examples/etc/make.conf se voce nao possuir um), e
   verifique a variavel DOC_LANG. Agora voce provavelmente ja esta pronto
   para executar o comando make dentro do diretorio com os fontes da
   documentac,ao (/usr/share/doc por padrao) para construi-la. De novo, voce
   precisa tornar os arquivos acessiveis atraves do seu servidor web,
   certificando-se de que os links apontam para o local correto.

  Importante:

   A construc,ao da documentac,ao, assim como as diversas tarefas associadas
   ao processo, estao documentadas no FreeBSD Documentation Project Primer.
   Por favor, leia este documento, especialmente se voce esta tendo problemas
   para construir a documentac,ao.

  3.4. Com que frequencia devo espelhar?

   Todo site espelho deve ser atualizado regularmente. Voce certamente ira
   precisar de alguns scripts para automatizar este processo de atualizac,ao
   com a ajuda do cron(8). Uma vez que praticamente cada administrador
   implementa este procedimento do seu proprio jeito, nos nao temos como
   fornecer instruc,oes especificas de como proceder. O processo poderia ser
   resumido em:

    1. Coloque o comando para executar a sua aplicac,ao de espelhamento em um
       script. O uso de um script simples em /bin/sh e recomendado.

    2. Adicione alguns redirecionamentos para arquivo das mensagens dos
       programas, de forma que possa usar o mesmo com a finalidade de
       diagnostico de problemas.

    3. Teste se o seu script funciona. Verifique o arquivo de log.

    4. Utilize o crontab(1) para adicionar o script ao crontab(5) do usuario
       apropriado. O qual deve ser um usuario diferente do usuario sob o qual
       o servidor de FTP e executado, desta forma nao sera permitido o acesso
       via FTP anonimo aos arquivos presentes na area de FTP, os quais nao
       possuam permissoes que possibilitem a leitura por todos os demais
       usuarios. Isto e utilizado para a fase de "stage" das novas
       distribuic,oes - garantindo que todos os sites espelhos oficiais
       possuam todos os arquivos necessarios de uma distribuic,ao, no dia em
       que a mesma e liberada.

   Aqui estao alguns exemplos da periodicidade recomendada para atualizac,ao
   de um site espelho:

     * Conjunto de arquivos do FTP: diaria

     * Repositorio CVS: horaria

     * Paginas WWW: diaria

4. De onde espelhar

   Esta e uma questao importante. Portanto, esta sec,ao ira gastar algum
   esforc,o para explica-la. Vamos dizer isso varias vezes: em nenhuma
   circunstancia voce deve espelhar a partir do ftp.FreeBSD.org.

  4.1. Algumas palavras sobre a organizac,ao

   Os sites espelhos sao organizados por pais. Todos os sites espelhos
   oficiais possuem uma entrada de DNS no formato ftpN.CC.FreeBSD.org. No
   qual CC (i.e. codigo do pais / country code) e o dominio de primeiro nivel
   (TLD) do pais no qual o site espelho esta localizado. O N e um numero, o
   qual diz que o servidor e o de numero N naquele pais. (o mesmo se aplica
   para cvsupN.CC.FreeBSD.org, wwwN.CC.FreeBSD.org, etc.) Existem sites
   espelho que nao possuem os componentes CC em suas entradas de DNS. Estes
   sao os sites espelhos que estao muito bem conectados e que permitem um
   grande numero de usuarios simultaneos. O ftp.FreeBSD.org e composto
   atualmente por 2 servidores, um esta localizado a Dinamarca e o outro nos
   Estados Unidos. Ele NAO e um site mestre e nao deve nunca ser utilizado
   como servidor de upstream para o seu espelhamento. Um grande numero de
   documentos online conduzem de forma interativa o usuario para
   ftp.FreeBSD.org, de forma que os sistemas de espelhamento automatico devem
   buscar um servidor diferente para usar como fonte.

   Adicionalmente existe uma hierarquia para os sites espelhos, a qual e
   descrita em termos de niveis (tiers). Os sites mestres nao sao
   referenciados, mas eles poderiam ser descritos como sendo um Tier-0. Os
   sites espelhos construidos a partir destes servidores podem ser
   considerados Tier-1, os espelhos dos espelhos-Tier-1 sao considerados
   Tier-2, etc. Os sites oficiais sao encorajados a serem um tier baixo,
   porem quanto mais baixo o tier, maiores as exigencias nos termos descritos
   na Sec,ao 2, "Requisitos para espelhar o FreeBSD". O acesso aos sites
   espelhos de baixo tier pode ser restito, e o acesso aos sites mestres e
   definitivamente restrito. A hierarquia de tier nao e refletida pelo DNS, e
   geralmente nao e documentada em nenhum lugar exceto para os sites mestres.
   Entretanto, os sites espelhos oficiais com numeros baixos, de 1 a 4,
   normalmente sao Tier-1 (esta e apenas uma sugestao aproximada, pois nao
   existe uma regra).

  4.2. Ok, mas de onde eu devo obter o material agora?

   Sob nenhuma circunstancia voce deve espelhar o seu servidor a partir do
   ftp.FreeBSD.org. A resposta curta e: A partir do site que for mais proximo
   de voce em termos de saltos na internet, ou entao do que lhe
   disponibilizar o acesso mais rapido.

    4.2.1. Eu quero apenas espelhar a partir de algum lugar!

   Se voce nao possui nenhuma intenc,ao ou necessidade especial, as
   instruc,oes da Sec,ao 4.2, "Ok, mas de onde eu devo obter o material
   agora?" se aplicam. Isso significa:

    1. Verifique os sites espelhos disponiveis no seu pais. O Banco de dados
       de sites espelho do FreeBSD pode ajuda-lo neste processo.

    2. Verifique qual deles disponibiliza o acesso mais rapido (numero de
       saltos, tempo de latencia, etc.) e que oferece os servic,os que voce
       planeja utilizar (tal como rsync ou CVSup).

    3. Entre em contato com o administrador do site que voce escolheu,
       mencione sua intenc,ao e pergunte sobre os termos e regras para uso do
       servidor.

    4. Configure o seu site espelho como foi descrito anteriormente.

    4.2.2. Eu sou um site espelho oficial, qual e o site correto para mim?

   Em geral a orientac,ao da Sec,ao 4.2.1, "Eu quero apenas espelhar a partir
   de algum lugar!" continua valida. E claro que voce pode querer colocar
   algum peso sobre o fato de que o seu site de upstream deveria ser um
   servidor de tier baixo. Existem algumas outras considerac,oes sobre sites
   espelhos oficiais que estao descritos na Sec,ao 5, "Sites Espelhos
   Oficiais".

    4.2.3. Eu quero acessar um site mestre!

   Se voce tem boas razoes e bons pre-requisitos, voce pode querer e ter
   acesso a um dos servidores mestres. O acesso a estes sites geralmente e
   restrito e existem regras especiais para o acesso. Se voce ja e um site
   espelho oficial, isto certamente ira ajuda-lo a conseguir o acesso. Em
   qualquer outro caso, certifique-se de que o seu pais realmente necessita
   de outro site espelho. Se ele ja possui 3 ou mais, pergunte ao
   "administrador da zona" (<hostmaster@CC.FreeBSD.org>) ou primeiro na lista
   de discussao sobre sites espelhos do FreeBSD.

   Quem o ajudou a se tornar um site espelho oficial, deveria te-lo ajudado a
   ganhar acesso a um servidor apropriado de upstream, seja `a um dos
   servidores mestre ou a um servidor Tier-1 adequado. Se isso nao ocorreu,
   voce pode enviar um email para o enderec,o <mirror-admin@FreeBSD.org> e
   solicitar ajuda com isto.

   Existem 3 servidores mestres para o conjunto de arquivos do FTP e um para
   o repositorio de CVS (as paginas web e os demais documentos sao obtidos a
   partir do CVS, por isso nao existe necessidade de se ter um servidor
   mestre para eles).

      4.2.3.1. ftp-master.FreeBSD.org

   Este e o servidor mestre para o conjunto de arquivos do FTP.

   O ftp-master.FreeBSD.org disponibiliza os servic,os de rsync e de CVSup,
   alem do servic,o de FTP. Consulte a Sec,ao 3.1.2, "Espelhando com o Rsync"
   e a Sec,ao 3.1.3, "Espelhando com o CVSup" para maiores informac,oes sobre
   como acessar utilizando estes protocolos.

   Os sites espelhos sao encorajados a tambem disponibilizarem acesso via
   rsync `a area de FTP, desde que sejam sites espelho-Tier-1.

      4.2.3.2. cvsup-master.FreeBSD.org

   Este e o servidor mestre do repositorio de CVS.

   O cvsup-master.FreeBSD.org disponibiliza apenas o servic,o de CVSup.
   Consulte a Sec,ao 3.2.1, "Usando o CVSup" para maiores detalhes.

   Para obter acesso, voce vai precisar entrar em contato com o Coordenador
   de sites espelho CVSup <cvsup-master@FreeBSD.org>. Certifique-se de ter
   lido antes as Regras de Acesso ao CVSup do FreeBSD!

   Configure a autenticac,ao necessaria seguindo estas instruc,oes.
   Certifique-se de que voce especificou o servidor como sendo
   freefall.FreeBSD.org na linha de comando do cvpasswd, como descrito no
   documento anterior, mesmo quando voce estiver contatando o
   cvsup-master.FreeBSD.org.

5. Sites Espelhos Oficiais

   Um site espelho oficial e um site espelho que:

     * a) Possui uma entrada FreeBSD.org no DNS (usualmente um CNAME).

     * b) Esta listado como um site espelho oficial na documentac,ao do
       FreeBSD (como por exemplo no Handbook).

   Por enquanto isto deve ser o suficiente para que voce possa distinguir os
   sites espelhos oficiais. Os sites espelhos oficiais nao sao
   necessariamente espelhos-Tier-1. Entretanto, voce provavelmente nao ira
   encontrar um site espelho-Tier-1, que nao seja oficial.

  5.1. Requisitos especiais para os sites espelhos oficiais (Tier-1)

   Nao e assim facil indicar exigencias para todos os sites espelho oficiais,
   uma vez que o projeto e um tanto quanto tolerante neste ponto. E mais
   facil dizer o que e exigido dos sites espelhos oficiais Tier-1. Todos os
   outros sites espelhos oficiais devem considerar a lista abaixo apenas como
   orientac,ao.

  Nota:

   O que esta descrito a seguir aplica-se basicamente `a arvore de FTP, uma
   vez que o repositorio de CVS deve ser sempre espelhado completamente, e as
   paginas web sao um caso `a parte.

   Os sites espelho Tier-1 devem:

     * Carregar o conjunto completo de arquivos do FTP.

     * Permitir o acesso de outros sites espelho.

     * Disponibilizar os servic,os de FTP e de rsync

   Alem disso, os administradores devem se inscrever na lista de discussao
   sobre sites espelhos do FreeBSD. Consulte este link para maiores
   informac,oes sobre como se inscrever.

  Importante:

   E muito importante para um administrador de um site espelho, especialmente
   para os administradores de um site espelho Tier-1, verificar o calendario
   de lanc,amento da proxima versao do FreeBSD. Isto e importante porque ele
   ira lhe dizer para quando esta previsto o lanc,amento da proxima versao,
   dando a voce tempo para se preparar para o grande pico de trafego que se
   segue a este tipo de evento.

   Tambem e importante para um administrador de um site espelho tentar manter
   o seu servidor o mais atualizado possivel (de novo, isto e ainda mais
   crucial para os sites espelhos Tier-1). Se os sites espelhos Tier-1
   ficarem um bom tempo sem se atualizarem, os sites espelhos de tiers mais
   elevados vao comec,ar a espelhar dados antigos a partir dos sites espelhos
   Tier-1, comec,ando desta forma uma espiral descendente... Portanto,
   mantenham os seus sites espelhos atualizados!

  5.2. Como se tornar um site espelho oficial?

   Nos nao estamos aceitando nenhum novo site espelho no momento.

6. Algumas estatisticas dos sites espelhos

   Aqui voce encontra links para as paginas de estatisticas de acesso aos
   seus sites espelhos favoritos (isto e, pelo menos para os sites que as
   disponibilizam).

  6.1. Estatisticas dos sites de FTP

     * ftp.is.FreeBSD.org - <hostmaster@is.FreeBSD.org> - (Consumo de banda
       IP) (Processos FTP) (Processos HTTP)

     * ftp.cz.FreeBSD.org - <cejkar@fit.vutbr.cz> - (Consumo de banda IP)
       (Processos FTP) (Processos rsync)

     * ftp2.ru.FreeBSD.org - <mirror@macomnet.ru> - (Consumo de banda IP)
       (Usuarios HTTP e FTP)

  6.2. Estatisticas dos sites de CVSup

     * cvsup[23456].jp.FreeBSD.org - <kuriyama@FreeBSD.org> - (Processos
       CVSup)

     * cvsup.cz.FreeBSD.org - <cejkar@fit.vutbr.cz> - (Processos CVSup)

     * cvsup4.ru.FreeBSD.org - <maxim@FreeBSD.org> - (Processos CVSup)
