Espelhando o FreeBSD

$FreeBSD: /repoman/r/dcvs/doc/en_US.ISO8859-1/articles/hubs/article.sgml,v 1.42 2003/12/24 00:26:39 simon Exp $

FreeBSD is a registered trademark of the FreeBSD Foundation.

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 " or the ® symbol.

Este é um artigo que trata sobre como espelhar o FreeBSD, o mesmo esta em fase de elaboração pelos coordenadores do sites espelho.


Índice
1. Informações para contato
2. Requisitos para espelhar o FreeBSD
3. Como espelhar o FreeBSD
4. De onde espelhar
5. Sites espelhos oficiais
6. Algumas estatísticas dos sites espelhos

1. Informações para contato

Os coordenadores do sistema de espelhos podem ser alcançados através do email . Existe também a lista de discussão FreeBSD de sítios espelho.


2. Requisitos para espelhar o FreeBSD

2.1. Espaço em disco

Espaço em disco é o requisito mais importante. Dependendo do conjunto de releases, arquiteturas, e de quão completo você deseja que seja o seu site espelho, uma enorme quantidade de espaço em disco pode ser consumida. Tenha também em mente que provávelmente é exigido dos sites espelhos oficiais que sejam completos. O repositório de CVS e as páginas web devem ser sempre espelhados completamente. Note também que os números aqui mencionados estão refletindo o estado atual (4.9-RELEASE e 5.1-RELEASE). Abrigar outras releases, bem como desenvolvimentos adicionais apenas irá aumentar a quantia necessária. Certifique-se de manter algum espaço extra (entre 10 e 20%) disponível, além do mencionado abaixo, apenas por segurança. Aqui estão algumas estimativas aproximadas:

  • Servidor de FTP completo: 126 GB

  • Repositório CVS: 2.7 GB

  • Deltas CTM: 1.8 GB

  • Páginas Web: 300 MB


2.2. Conectividade de rede e disponibilidade de banda IP

Obviamente, você precisa estar conectado a Internet. A largura de banda requerida depende do uso pretendido para o seu site espelho. Se você deseja apenas espelhar algumas partes do FreeBSD para uso local no seu site e/ou na sua intranet, a demanda pode ser muito menor do que se você desejar disponibilizar os arquivos publicamente. Se você pretende se tornar um site espelho official, a largura de banda requerida será mesmo mais elevada. Nós só podemos dar estimativas grosseiras aqui:

  • Site local, sem acesso público: basicamente não existe um minímo, mas < que 2 Mbps pode tornar o processo de sincronismo muito lento.

  • Site público não-oficial: 34 Mbps é provavelmente um bom começo.

  • Site Oficial: > 100 Mbps é o recomendado, e o seu servidor deve estar conectado o mais perto possível do seu roteador de borda.


2.3. Requisitos de sistema, CPU e Memória

Isto é algo que depende do número esperado de clientes simultâneos, o que é determinado pela politica de uso do servidor. Ele também é afetado pelo tipo de serviços 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 grande 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 sistema de arquivos residente em memória (MFS) de no minimo 300MB, assim você precisa considerar este consumo quando avaliar a memória requerida. A seguir temos alguns exemplos e sugestões grosseiras.

Para um site de visitação média o qual ofereça o serviço de rsync, você pode considerar o uso de um servidor com uma CPU com clock entre 800MHz e 1 GHz, e com um mínimo de 512MB de memória RAM. Esta é provavelmente a configuração mínima para um site espelho oficial.

Para um site de visitação frequente, você definitivamente vai precisar de mais memória RAM (considere 2 GB como um bom começo) e possivelmente mais poder de processamento (CPU), o que pode significar que você precisa ir para um sistema multi processado (SMP).

Você também pode considerar o uso de um subsistema rápido de discos. As operações em um repositório CVS necesistam 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 para o disco.


2.4. Serviços para oferecer

Cada site espelho deve disponibilizar obrigatoriamente 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 proceder para implementá-los.


2.4.1. FTP

Este é um dos serviços mais básicos, e ele é requerido em todos os mirrors 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 taxas de upload/download (algo ridículo de qualquer forma). Nao é necessário ter o upload de arquivos habilitado (e ele nunca deve ser permitido na área onde os arquivos do FreeBSD são mantidos). Os arquivos do FreeBSD devem ficar disponíveis sob o caminho /pub/FreeBSD .

Abaixo você encontra diversos softwares disponíveis os quais podem ser configurados para operarem como servidor de FTP Anônimo (em ordem alfabética).

  • /usr/libexec/ftpd: É o servidor de FTP nativo do FreeBSD. Consulte o ftpd(8).

  • ftp/ncftpd: Um pacote comercial, gratuito para uso educacional.

  • ftp/oftpd: Um ftpd desenvolvido com foco principal voltado para a segurança.

  • ftp/proftpd: Um ftpd modular e muito flexível

  • ftp/pure-ftpd: Outro ftpd desenvolvido com foco na segurança.

  • ftp/twoftpd: Ftpd desenvolvido com foco na seguranç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 segurança que foram descobertos nele. Se você optar por utilizar este software, certifique-se de mantê-lo atualizado.

O ftpd nativo do FreeBSD, o proftpd, o wu-ftpd e talvez o ncftpd são os programas utilizados com mais frequência. Os demais não possuem uma grande base de usuários entre nossos sites espelho. Um item a ser considerado é que você pode precisar de flexibilidade para controlar quantas conexoes simultâneas serão permitidas no servidor, limitando quanto da banda IP e dos recursos do sistema são consumidos.


2.4.2. RSYNC

O rsync pode ser oferecido como opção para acesso ao conteúdo da area de FTP do FreeBSD, desta forma outros sites espelho podem utilizar o seu sistema como fonte para o sistema deles. O protocolo do rsync é diferente do FTP em muitos aspectos. Ele é muito mais amigável com relação ao consumo de banda IP, uma vez que apenas as diferenças entre os arquivos são tranferidas ao invés de transferir o arquivo completo quando ele se altera. O rsync necessita de uma grande quantidade de memória para cada instância. A quantidade de memória alocada depende do tamanho do modulo sincronizado em termos de número de diretórios e de arquivos. O rsync pode utilizar o rsh e o ssh (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 rsync). Autenticação, limite para o número de conexoes e outras restrições podem ser aplicadas. Até o momento só existe um pacote de software disponível para implementar um servidor de rsync:


2.4.3. HTTP (Necessário para as páginas web, Opcional nos servidores FTP)

Se você deseja oferecer as páginas web do FreeBSD, você precisa instalar um servidor web, conhecido por httpd. Opcionalmente você pode 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:

  • www/apache13: O apache é o servidor web mais amplamente utilizado na Internet. Ele é usado extensivamente pelo projeto FreeBSD. Você também pode desejar utilizar a nova geração do servidor web apache, disponível na coleção de ports como www/apache2 .

  • www/thttpd: 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 Apache. Ele é otimizado para operar sob a máxima performance no FreeBSD.

  • www/boa: O Boa é uma outra alternativa ao uso do tHttpd e do Apache. 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 tHttpd.


2.4.4. CVSup (desejado para repositórios CVS)

O CVSup é um meio muito eficiente de distribuição de arquivos. Ele trabalha de forma semelhante ao rsync, porém foi desenvolvido para uso com repositórios CVS. Se você desejar disponibilizar um repositório CVS do FreeBSD, você deve considerar fortemente fazê-lo via CVSup . É possível oferecer acesso a um repositório CVS via AnonCVS, FTP, Rsync ou HTTP, mas as pessoas vão se beneficiar muito mais de um acesso via CVSup . O CVSup foi desenvolvido pelo John Polstra . É 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 CVSup, a qual pode ser facilmente instalada. Consulte Ezm3 para maiores detalhes. Os ports relacionados são:

  • net/cvsup: O port nativo do CVSup (cliente e servidor) o qual requer a instalação do lang/ezm3 .

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

Existem alguns outros, como o net/cvsup-without-gui o qual você pode desejar olhar. Se você preferir um pacote binário, compilado estaticamente, de uma olhada aqui. Esta página continua mencionando o erro SG1, o qual esteve presente no CVSup. Pode ser que o John venha a definir no futuro um site genérico para download de binários estáticos para várias plataformas.

É possível utilizar o CVSup para disponibilizar qualquer tipo de arquivo, e não apenas repositórios CVS, mas a configuração será mais complexa. O CVSup é conhecido por comer um pouco de CPU tanto no servidor quanto no cliente, o que ocorre porque ele precisa comparar muitos arquivos.


2.4.5. AnonCVS (Opcional para um repositório CVS)

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.

Geralmente há duas formas de se acessar um repositório CVS remotamente: via pserver ou via ssh (nós não consideramos o rsh ). Para acesso anônimo, o uso do pserver é mais que suficiente, porém alguns também oferecem acesso via ssh. Existe um wrapper customizado no repositório CVS, para ser utilizado como shell para uma conta de ssh anônimo. Ele faz um chroot, e consequentemente 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 pserver, 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 cvs(1) vem por padrão na instalação básica do FreeBSD. Você precisa habilitar o acesso através 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 opções. Consulte também a página de info do CVS sobre formas adicionais de certificar-se de que o acesso é de apenas leitura. Recomenda-se que você crie uma conta não privilegiada, preferencialmente chamada anoncvs . Você também precisa criar um arquivo passwd no seu /home/ncvs/CVSROOT e atribuir um password (em branco ou anoncvs) para acesso deste usuário ao CVS. O diretório /anoncvstmp é 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 cvs(1) cria uma estrutura de diretórios ocultos no seu /tmp a qual não é utilizada depois da operação, mas que deixa as coisas dramáticamente lentas se forem necessárias operações reais de escrita/leitura para o disco. Aqui está um fragmento do /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,nodev 0 0
          

Esta é (naturalmente) uma sintaxe ajustada ao máximo, e foi sugerida pelo John Polstra .


3. Como espelhar o FreeBSD

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 apartir de onde espelhar.


3.1. FTP

A área de FTP representa o maior volume de dados a serem espelhados. Ele inclui os conjuntos de distribuição os quais são requeridos para as instalações via rede, os ramos (branches) do sistema dos quais se tira snapshots a partir da árvore de código fonte, as imagens ISO 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 naturalmente para as várias versões do FreeBSD, e para as várias arquiteturas.


3.1.1. Espelhando com FTP

Você pode utilizar um programa de espelhamento de FTP para obter os arquivos. Existem muitos programas disponíveis, os quais são amplamente utilizados tais como:

O ftp/mirror é muito popular, mas parece ter alguns inconvenientes, ele é escrito em perl(1), e possui alguns problemas reais para espelhar grandes diretórios como o site FreeBSD. Existem rumores de que a versão atual corrigiu isso ao permitir que seja especificado um algoritimo diferente para comparar a estrutura de diretórios.

Em geral o FTP não é bom para tarefas de espelhamento. Ele transfere o arquivo inteiro se ele for alterado, e não cria um único stream de dados o qual o beneficiaria de uma grande janela de congestão TCP.


3.1.2. Espelhando com RSYNC

Uma forma melhor de espelhar uma área FTP é através do uso do rsync. Você pode instalar o port net/rsync e então utilizá-lo para sincronizar com o seu servidor de upstream. O rsync já foi mencionado na Seção 2.4.2. Uma vez que a disponibilização de acesso via rsync não é obrigatória, o seu site preferido de upstream pode não adotá-lo. Você pode ter um pouco de trabalho para encontrar um servidor que permita o acesso via rsync.

Nota: Uma vez que o número de clientes rsync terão um impacto significativo no servidor, muitos administradores impõe limitações no número de acessos simultâneos aos seus servidores. Para um espelhamento, você deve consultar o responsável pelo servidor de upstream que você está utilizando, sobre as regras do servidor, e sobre a possibilidade dele abrir uma excessão para o seu servidor (uma vez que você é um site espelho).

A linha de comando para espelhar o FreeBSD pode ser parecida com essa:

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

Consulte a documentação do rsync, a qual está disponível em http://rsync.samba.org/, sobre as várias opções que podem ser utilizadas com o rsync. 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, assim você não deve omitir o diretório alvo. Você também pode desejar configurar um script de trabalho o qual seria executado como um comando pelo cron(8), para automatizar o processo.


3.1.3. Espelhando com o CVSup

Poucos sites, incluindo o ftp-master.FreeBSD.org, oferecem acesso via CVSup para espelhamento da área de FTP. Você deve instalar um cliente de cvsup, preferencialmente a partir do port net/cvsup (também visto na Seção 2.4.4). Um exemplo de arquivo supfile para fazer o espelhamento a partir do ftp-master.FreeBSD.org se pareceria com isto:

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

Parece que o CVSup seria a melhor forma de espelhar o arquivo em termos de eficiência, mas infelizmente ele está disponível em apenas alguns sites.

Nota: Por favor consulte a documentação do CVSup, como por exemplo a cvsup(1) e considere o uso da opção -s uma vez que ela pode reduzir em muito o trabalho a ser realizado.


3.2. Espelhando o repositório CVS

De novo você possui várias possibilidades para realizar esta tarefa, mas o mais recomendado é utilizar o CVSup.


3.2.1. Utilizando o CVSup

O CVSup já foi descrito em algum detalhe na Seção 2.4.4 e na Seção 3.1.3.

Abaixo você encontra um exemplo de supfile para realizar esta tarefa:

         #
          # FreeBSD CVS supfile from master server
          #
          *default host=cvsup-master.FreeBSD.org
          *default base=/usr
          *default prefix=/pub/FreeBSD/development/FreeBSD-CVS
          *default release=cvs
          *default delete use-rel-suffix
          *default umask=002

          # If your network link is a T1 or faster, comment out the following line.
          #*default compress

          cvs-all
          

Você também deve dar uma olhada em /usr/share/examples/cvsup.

Nota: Por favor não esqueça de considerar a dica mencionada na nota acima.


3.2.2. Utilizando outros métodos

Geralmente não se recomenda o uso de outros métodos que não o CVSup. De qualquer forma, vamos descrever rapidamente como fazer. Uma vez que a maioria dos sites oferecem o repositório CVS como parte da área de FTP, sob o caminho /pub/FreeBSD/development/FreeBSD-CVS, os seguintes métodos podem ser utilizados.

  • FTP

  • RSYNC

  • e talvez HTTP

Se você encontrar um site que suporte, você pode utilizar o net/sup. Mas ele é inferior ao CVSup e foram as suas deficiências que levaram o John Polstra a desenvolver o CVSup, então o seu uso é claramente não recomendado.

Importante: Você não deve utilizar o AnonCVS para espelhar o repositório CVS, uma vez que o CVS não permite que você acesse o repositório propriamente dito (arquivos ",v"), mas sim apenas as versões limpas dos módulos.


3.3. Espelhando as páginas WWW

A melhor forma é realizar um "check out" da distribuição www do servidor de CVS. Se você tem um mirror local do repositório CVS, provavelmente será tão simples quanto executar:

% cvs -d /home/ncvs co www

e um cronjob, o qual executa um cvs update -d -P periodicamente, talvez imediatamente depois de cada atualização do seu repositório. Naturalmente, os arquivos necessitam ficar 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á abordada neste artigo.

Nota: Para que o site web fique disponível, você precisa executar o comando make(1) dentro do diretório principal do www. Este comando irá criar os arquivos *.html para serem visualizados via web. Para que o comando possa ser executado com sucesso, o port textproc/docproj precisa estar instalado.

Se você não possui um repositório local, você pode utilizar o CVSup para manter uma cópia atualizada das páginas www. Um exemplo de supfile para esta tarefa pode ser encontrado em /usr/share/examples/cvsup/www-supfile o qual irá 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
        

Não recomendamos o uso do ftp/wget ou de outras ferramentas de espelhamento web.


3.3.1. Espelhando a documentação do FreeBSD

Uma vez que a documentação é fortemente referênciada a partir das páginas web, recomenda-se que você também espelhe a documentação do FreeBSD. Entretanto, isto não é tão trivial quando espelhar as páginas www isoladamente.

Antes de mais nada, você deve obter os fontes da documentação, e de novo o método preferencial é via CVSup. Aqui está um exemplo do supfile correspondente:

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

Então você terá que instalar diversos ports. Mas você está com sorte, pois existe um meta port: textproc/docproj que faz o trabalho para você. Você precisa configurar algumas variáveis de ambiente, como por exemplo SGML_CATALOG_FILES. Também de uma olhada no seu /etc/make.conf (faça uma cópia do /etc/defaults/make.conf se você não possuir um), e verifique a variável DOC_LANG . Agora você já está provavelmente pronto para executar o comando make no seu diretório dos fontes da documentação (por padrão /usr/share/doc) para construí-la. De novo, você precisa torná-lo acessível através do seu servidor web e certifique-se de que os links apontam para o local correto.

Importante: A construção da documentação, assim como as diversas tarefas associadas ao processo, estão documentadas no fdp-primer. Por favor leia este documento, especialmente se você está tendo problemas para contruir a documentação.


3.4. Com que frequência atualizar o site espelho?

Cada site espelho deve ser atualizado regularmente. Você certamente irá precisar de alguns scripts de trabalho, os quais serão executados pelo cron(8), automatizando o processo de atualização. Uma vez que cada administrador implementa estes scripts da sua própria maneira, nós não podemos dar instruções específicas sobre como proceder. Mas de uma forma geral o processo de implementação poderia ser resumido como:

  1. Coloque os comandos para executar a sua aplicação de espelhamento em um script. Recomenda-se utilizar um script simples em /bin/sh.

  2. Adicione alguns redirecionamentos para arquivo das mensagens dos programas, de forma que possa usar o mesmo com a finalidade de diagnóstico 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 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 a 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 estágio das distribuições -- garantindo que todos os site espelhos oficiais possuam todos os arquivos necessários de uma distribuição, no dia em que a mesma é liberada.

Aqui estão alguns dos agendamentos recomendados para a atualização de um site espelho:

  • Servidor FTP: diário

  • Repositório CVS: diário a horário

  • Páginas WWW: diário


4. De onde espelhar

Este é um ponto importante. Desta forma esta sessão irá gastar algum esforço para explicá-lo. Nós iremos mencionar isto diversas vezes: Sob nenhuma circunstância você deve espelhar o seu servidor a partir do ftp.FreeBSD.org.


4.1. Algumas palavras sobre a organização

Os sites espelhos são organizados por país. Todos os sites espelhos oficiais possuem uma entrada DNS do tipo ftpN.CC.FreeBSD.org. Onde CC (i.e. código do país) é o dominio de primeiro nível (TLD) do país no qual o site espelho está localizado. O N é um número, o qual diz que o servidor é o de número N naquele país. (o mesmo se apliva para cvsupN.CC.FreeBSD.org, wwwN.CC.FreeBSD.org, etc.) Existem sites espelhos que não possuem componentes CC em suas entradas de DNS. Estes são os sites espelhos que estão muito bem conectados e que permitem um grande número de usuários simultâneos. O ftp.FreeBSD.org é composto atualmente por duas máquinas , uma atualmente está localizada na Dinamarca e a outra nos Estados Unidos. Ele não é um servidor mestre e não deve ser utilizado como fonte para um espelhamento. Diversos documentos online, conduzem de forma interativa o usuário para ftp.FreeBSD.org, assim os sistemas de espelhamento automático devem procurar uma máquina diferente como fonte para se espelhar.

Adicionalmente existe uma hierarquia para os sites espelhos, a qual é descrita em termos de tiers. Os sites mestres não são 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 são Tier-2, etc. Os sites oficiais são encorajados a serem um tier baixo, porém quanto mais baixo o tier, maiores as exigências nos termos descritos na Seção 2. O acesso aos sites espelhos de baixo tier pode ser restito, e o acesso aos sites mestre são definitivamente restritos. A hierarquia de tier não é refletida pelo DNS, e geralmente não é documentado em nenhum lugar exceto para os sites mestre. Entretanto os sites espelhos com números baixos, são usualmente Tier-1 (esta é apenas uma sugestão aproximada, e não é uma regra).


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

Sob nenhuma circunstância você deve montar seu site espelho a partir do ftp.FreeBSD.org. A resposta curta é: Apartir do site que for mais próximo de você em termos de conexão internet, ou então do que lhe disponibilizar o acesso mais rápido.


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

Se você não possui nenhuma intenção ou necessidade especial, a indicação da Seção 4.2 se aplica. Isto significa:

  1. Verifique os sites espelhos disponíveis no seu país. O Banco de dados de sites espelho do FreeBSD pode ajudá-lo com isso.

  2. Verifique qual deles provê o acesso mais rápido (número de hops, tempo de latência, etc) e que oferece os serviços que você pretende utilizar (tal como rsync ou CVSup ).

  3. Entre em contato com o administrador do site que você escolheu, mencione sua intenção e pergunte sobre os termos e regras para uso do servidor.

  4. Configure o seu site espelho como descrito anteriormente.


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

Em geral a descrição da Seção 4.2.1 continua válida. Naturalmente você pode desejar colocar algum peso no fato de que com a sua capacidade de upstream você poderia ter um tier menor. Existem algumas outras considerações sobre os sites espelhos oficiais que são descritos na Seção 5.


4.2.3. Eu quero ter acesso aos servidores mestres!

Se você possui boas razões e bons pré-requisitos, você pode querer e ter acesso a um dos servidores mestre. O acesso a estes servidores é geralmente restrito, e existem regras especiais para o acesso. Se você já é um site espelho oficial, isto certamente irá auxiliá-lo a conseguir o acesso. Em qualquer outro caso, certifique-se que o seu país realmente precisa de outro site espelho. Se ele já possui 3 ou mais, pergunte ao administrador da zona () ou primeiro ao lista de discussão FreeBSD de sítios espelho

Quem quer que tenha lhe ajudado a se tornar um site espelho oficial, deve ter providenciado para que você obtivesse acesso a um servidor de upstream apropriado, seja ele um dos servidores mestres ou um servidor Tier-1 apropriado. Se não, você pode enviar um email para solicitar ajuda com isto.

Existem 3 servidores master para a árvore de FTP e um um para o repositório de CVS (as páginas web e a documentação são obtidos apartir do CVS, assim não há necessidade de se ter um servidor mestrei para eles).


4.2.3.1. ftp-master.FreeBSD.org

Este é o servidor mestre da árvore de FTP.

O ftp-master.FreeBSD.org fornece acesso via rsync e via CVSup, além do protocolo FTP. Consulte a Seção 3.1.2 e a Seção 3.1.3 para instruções de como acessar utilizando estes protocolos.

Os sites espelhos são encorajados a também disponibilizarem acesso via rsync à área de FTP, desde que sejam espelhos-Tier-1.


4.2.3.2. cvsup-master.FreeBSD.org

Este é o servidor mestre do repositório CVS

O cvsup-master.FreeBSD.org fornece acesso apenas via CVSup. Consulte a Seção 3.2.1 para maiores detalhes.

Para obter acesso, você precisa contactar o CVSup Mirror Site Coordinator . Certifique-se de ter lido antes as Regras de acesso ao CVSup do FreeBSD!

Configure a autenticação necessária seguindo estas instruções. Certifique-se de que você especificou o servidor como freefall.FreeBSD.org na linha de comando do cvpasswd, como descrito no documento mencionado acima, mesmo quando você estiver contactando o cvsup-master.FreeBSD.org


5. Sites espelhos oficiais

Um site espelho oficial é um site espelho que:

Por enquanto isso deve ser o suficiente para que você possa distinguir os sites espelhos oficiais. Os sites espelhos oficiais não são necessariamente espelhos- Tier-1 . Entretanto, você provavelmente não irá e encontrar um espelho- Tier-1, que não seja oficial.


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

Não é assim fácil indicar exigências para todos os sites espelho oficiais, uma vez que o projeto é um tanto quanto tolerante neste ponto. É mais facil dizer, o que é exigido dos sites espelhos oficiais Tier-1. Todos os outros sites espelhos oficiais devem considerar a lista abaixo apenas como orientação.

Nota: O seguinte aplica-se basicamente a árvore de FTP, uma vez que o repositório de CVS deve ser sempre espelhado completamente, assim como as páginas web.

Os sites espelho Tier-1 devem:

  • Carregar o conjunto completo de arquivos

  • Permitir o acesso de outros sites espelhos

  • Fornecer acesso via FTP e via RSYNC

Além disso os administradores devem estar inscritos na lista de discussão FreeBSD de sítios espelho. Consulte este link para maiores detalhes de como se inscrever.

Importante: É muito importante para um administrador de um hub, especialmente para os administradores dos hubs Tier-1, a verificação do calendário de lançamento da próxima versão do FreeBSD. Isto é importante porque ele irá lhe dizer quando está previsto o lançamento da próxima versão, dando a você tempo para se preparar para o grande pico de tráfego que se segue a este tipo de evento.

Também é importante para um administrador de um hub tentar manter o seu site espelho o mais atualizado possível (de novo, isto é mais crucial para os espelhos Tier-1). Se os espelhos Tier-1 ficarem um bom tempo sem se atualizarem, os sites espelhos de tiers mais elevados vão começar a espelhar dados antigos a partir dos sites espelhos Tier-1, e começa assim uma espiral descentende... Portanto, mantenha os seus espelhos atualizados!


5.2. Então como se tornar oficial?

Uma pergunta interessante, especialmente se considerado que o estado de "oficial" trás com ele uma série de beneficios, tais como uma conta cada vez maior do seu ISP a medida que mais pessoas começam a utilizar o seu site. Também pode ser um requisito chave para obter acesso a um servidor mestre.

Antes de seguir adiante, por favor considere (de novo) se um outro site espelho é realmente necessário na sua região. Verifique primeiro com o administrador da sua zona () ou se isso falhar, pergunte na lista de discussão FreeBSD de sítios espelho.

Ok, aqui está o que precisa ser feito:

  1. Coloque o site espelho para funcionar em primeiro lugar (talvez não utilizando um site mestre, ainda).

  2. Inscreva-se na lista de discussão FreeBSD de sítios espelho.

  3. Se tudo estiver funcionando corretamente, entre em contato com o administrador de DNS responsável pela sua região/país, e solicite uma entrada no DNS para o seu site. O administrador pode ser contatado através do endereço , onde CC é código do seu país (TLD). A sua entrada no DNS será implementada como descrita na Seção 4.1.

    Se não houver nenhum subdominio definido para o seu país no momento do seu pedido, você deve contatar o , ou você pode tentar primeiro a lista de discussão FreeBSD de sítios espelho.

  4. Quem quer que seja que lhe ajude a conseguir o nome oficial (entrada no DNS), deve enviar um email para para que o seu site seja adicionado a lista de sites espelhos oficiais no Handbook do FreeBSD.

E é isso.


6. Algumas estatísticas dos sites espelhos

Aqui você encontra links para as páginas de estatísticas de acesso aos seus sites espelhos favoritos (ito é, pelo menos dos sites que as disponibilizam).


6.2. Estatísticas dos sistes CVSup


Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.