# Espelhando o FreeBSD

### Jun Kuriyama

`<kuriyama@FreeBSD.org>`

### Valentino Vaschetto

`<logo@FreeBSD.org>`

### Daniel Lang

`<dl@leo.org>`

### Ken Smith

`<kensmith@FreeBSD.org>`

$FreeBSD: release/8.4.0/pt_BR.ISO8859-1/articles/hubs/article.xml 39632 2012-10-01 11:56:00Z gabor $

$FreeBSD: release/8.4.0/pt_BR.ISO8859-1/articles/hubs/article.xml 39632 2012-10-01 11:56:00Z gabor $

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 “™” or the “®” symbol.

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.

[ Split HTML / Single HTML ]

> Nota: Neste momento nós não estamos aceitando novos sites espelho.

## 1 Informações de Contato

Os coordenadores do sistema de sites espelho podem ser contatados por email no endereço `<mirror-admin@FreeBSD.org>`. Também existe a lista de discussão sobre sites espelhos do FreeBSD.

## 2 Requisitos para espelhar o FreeBSD

### 2.1 Espaço em disco

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 oficiais 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 (8.4-RELEASE/9.1-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:

- Distribuição FTP completa: 1.0 TB

- Repositório CVS: 5.4 GB

- Deltas CTM: 3.2 GB

- Páginas Web: 463 MB

O uso atual de espaço em disco pela distribuição FTP pode ser encontrada em ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes.

### 2.2 Conectividade de rede e largura de banda

É 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:

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

- Site público não oficial: um link de 34 Mbps é provavelmente um bom ponto de partida.

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

### 2.3 Requisitos de sistema, CPU e Memória RAM

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 um site de visitação moderada o qual ofereça o serviço de Rsync, 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 oficial.

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).

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.

### 2.4 Serviços para oferecer

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.

#### 2.4.1 FTP (necessário para o conjunto de arquivos do FTP)

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 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`.

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).

- `/usr/libexec/ftpd`: Este é 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 segurança como seu foco principal.

- `ftp/proftpd`: Um servidor FTP modular e muito flexível.

- `ftp/pure-ftpd`: Outro servidor de FTP desenvolvido tendo a segurança em mente.

- `ftp/twoftpd`: Mais um servidor desenvolvido com foco em 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 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.

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

O Rsync é 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 Rsync 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 Rsync pode utilizar o `rsh` e o `ssh` (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 Rsync). 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 Rsync:

- `net/rsync`

#### 2.4.3 HTTP (necessário para as páginas web, opcional para o conjunto de arquivos do FTP)

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:

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

- `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 está otimizado para operar sob a máxima performance no FreeBSD.

- `www/boa`: O Boa é uma outra alternativa ao thttpd e ao 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, 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 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 `<jdp@FreeBSD.org>`. É 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, e que 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 instalalação 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 serviç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 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. Talvez o John venha a criar 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 pode ser complexa. O CVSup é 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 reposittórios 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 é bastante adequado, mas alguns optam por também oferecer acesso via `ssh`. Existe um wrapper 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 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 ao repositório está configurado apenas para 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 dramaticamente lentas se forem necessárias operações reais de escrita e leitura para o disco. Aqui está um exemplo de configuração 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 é (naturalmente) uma sintaxe otimizada ao máximo, e foi sugerida pelo John Polstra `<jdp@FreeBSD.org>`.

## 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 a partir 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, é claro, para as várias versões do FreeBSD, e para as várias arquiteturas.

#### 3.1.1 Espelhando com FTP

Você pode utilizar um aplicativo de espelhamento de FTP para obter os arquivos. Alguns dos mais utilizados são:

- `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 está escrito em 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.

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.

#### 3.1.2 Espelhando com o Rsync

A melhor forma de espelhar a á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 disponibilizá-lo. Você pode precisar gastar algum tempo procurando até encontrar um servidor que permita o acesso via rsync.

> Nota: Uma vez que o número de clientes rsync 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 `upstream` 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).

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

    % 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/, para conhecer 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, 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 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 conteúdo da área de FTP. Você precisa instalar um cliente CVSup, preferencialmente a partir do port `net/cvsup`. (consulte também a Seção 2.4.4). Abaixo você 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 opção para espelhar os arquivos em termos eficiência, mas infelizmente ele só está disponível em alguns poucos sites.

> Nota: Por favor, consulte a documentação do CVSup, como por exemplo a cvsup(1) e considere o uso da opção `-s`. 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.

### 3.2 Espelhando o repositório CVS

Existem várias formas de se espelhar o repositório CVS. O CVSup é o método mais comum.

#### 3.2.1 Usando o CVSup

O CVSup foi descrito com algum detalhe na Seção 2.4.4 e na Seção 3.1.3.

É muito fácil configurar um site espelho com o CVSup. Basta instalar o port `net/cvsup-mirror` 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.

> Nota: Por favor não se esqueça de avaliar a sugestão mencionada na nota acima

#### 3.2.2 Utilizando outros métodos

A utilização de outros métodos que não o CVSup 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 `/pub/FreeBSD/development/FreeBSD-CVS`, os seguintes métodos podem ser utilizados:

- FTP

- Rsync

- HTTP

> Importante: O AnonCVS 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.

### 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, isto será tão 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 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.

Se você não tem um repositório local, você pode utilizar o CVSup para manter uma “cópia atualizada” das páginas www. Um supfile de exemplo 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

A utilização do `ftp/wget` ou de outras ferramentas de espelhamento web (`web-mirror`) não é recomendado.

#### 3.3.1 Espelhando a documentação do FreeBSD

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.

Em primeiro lugar, você deve obter os fontes da documentação, e recomendamos que você faça isso preferencialmente via CVSup. Aqui está 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

Então você precisará instalar alguns ports. Mas você está com sorte pois existe um meta-port, o `textproc/docproj`, para fazer o trabalho por 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 `/usr/share/examples/etc/make.conf` se você não possuir um), e verifique a variável `DOC_LANG`. Agora você provavelmente já está pronto para executar o comando `make` dentro do diretório com os fontes da documentação (`/usr/share/doc` 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.

> Importante: A construção da documentação, assim como as diversas tarefas associadas ao processo, estão documentadas no FreeBSD Documentation Project Primer. Por favor, leia este documento, especialmente se você está tendo problemas para construir a documentação.

### 3.4 Com que frequência devo espelhar?

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

1. Coloque o comando para executar a sua aplicação de espelhamento em um script. O uso de um script simples em `/bin/sh` é recomendado.

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 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 “stage” 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.

Aqui estão alguns exemplos da periodicidade recomendada para atualização de um site espelho:

- Conjunto de arquivos do FTP: diária

- Repositório CVS: horária

- Páginas WWW: diária

## 4 De onde espelhar

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 `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 de DNS no formato `ftpN.CC.FreeBSD.org`. No qual CC (i.e. código do país / country code) é o domínio 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 aplica para `cvsupN.CC.FreeBSD.org`, `wwwN.CC.FreeBSD.org`, etc.) Existem sites espelho que não possuem os 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 2 servidores, um está localizado a Dinamarca e o outro nos Estados Unidos. Ele NÃO é um site mestre e não deve nunca ser utilizado como servidor de upstream para o seu espelhamento. Um grande número de documentos online conduzem de forma interativa o usuário para `ftp.FreeBSD.org`, de forma que os sistemas de espelhamento automático devem buscar um servidor diferente para usar como fonte.

Adicionalmente existe uma hierarquia para os sites espelhos, a qual é descrita em termos de níveis (tiers). Os sites mestres não são referenciados, mas eles poderiam ser descritos como sendo um Tier-0. Os sites espelhos construídos a partir destes servidores podem ser considerados Tier-1, os espelhos dos espelhos-Tier-1 são considerados 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 mestres é definitivamente restrito. A hierarquia de tier não é refletida pelo DNS, e geralmente não é documentada em nenhum lugar exceto para os sites mestres. Entretanto, os sites espelhos oficiais com números baixos, de 1 a 4, normalmente são Tier-1 (esta é apenas uma sugestão aproximada, pois não existe uma regra).

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

Sob nenhuma circunstância você deve espelhar o seu servidor a partir do `ftp.FreeBSD.org`. A resposta curta é: A partir do site que for mais próximo de você em termos de saltos na 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, as instruções da Seção 4.2 se aplicam. Isso significa:

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

2. Verifique qual deles disponibiliza o acesso mais rápido (número de saltos, tempo de latência, etc.) e que oferece os serviços que você planeja 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 foi descrito anteriormente.

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

Em geral a orientação da Seção 4.2.1 continua válida. É claro que você 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 considerações sobre sites espelhos oficiais que estão descritos na Seção 5.

#### 4.2.3 Eu quero acessar um site mestre!

Se você tem boas razões e bons pré-requisitos, você pode querer e ter acesso a um dos servidores mestres. O acesso a estes sites geralmente é restrito e existem regras especiais para o acesso. Se você já é um site espelho oficial, isto certamente irá ajudá-lo a conseguir o acesso. Em qualquer outro caso, certifique-se de que o seu país realmente necessita de outro site espelho. Se ele já possui 3 ou mais, pergunte ao “administrador da zona” (`<hostmaster@CC.FreeBSD.org>`) ou primeiro na lista de discussão sobre sites espelhos do FreeBSD.

Quem o ajudou a se tornar um site espelho oficial, deveria tê-lo ajudado a ganhar acesso a um servidor apropriado de upstream, seja à um dos servidores mestre ou a um servidor Tier-1 adequado. Se isso não ocorreu, você pode enviar um email para o endereç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 repositório de CVS (as páginas web e os demais documentos são obtidos a partir do CVS, por isso não existe necessidade de se ter um servidor mestre para eles).

##### 4.2.3.1 ftp-master.FreeBSD.org

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

O `ftp-master.FreeBSD.org` disponibiliza os serviços de rsync e de CVSup, além do serviço de FTP. Consulte a Seção 3.1.2 e a Seção 3.1.3 para maiores informações sobre como acessar utilizando estes protocolos.

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

##### 4.2.3.2 cvsup-master.FreeBSD.org

Este é o servidor mestre do repositório de CVS.

O `cvsup-master.FreeBSD.org` disponibiliza apenas o serviço de CVSup. Consulte a Seção 3.2.1 para maiores detalhes.

Para obter acesso, você 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 autenticação necessária seguindo estas instruções. Certifique-se de que você especificou o servidor como sendo `freefall.FreeBSD.org` na linha de comando do `cvpasswd`, como descrito no documento anterior, mesmo quando você estiver contatando o `cvsup-master.FreeBSD.org`.

## 5 Sites Espelhos Oficiais

Um site espelho oficial é um site espelho que:

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

- b) Está listado como um site espelho oficial na documentação do FreeBSD (como por exemplo no Handbook).

Por enquanto isto 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á encontrar um site 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 fácil 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 que está descrito a seguir aplica-se basicamente à árvore de FTP, uma vez que o repositório de CVS deve ser sempre espelhado completamente, e as páginas web são um caso à parte.

Os sites espelho Tier-1 devem:

- Carregar o conjunto completo de arquivos do FTP.

- Permitir o acesso de outros sites espelho.

- Disponibilizar os serviços de FTP e de rsync

Além disso, os administradores devem se inscrever na lista de discussão sobre sites espelhos do FreeBSD. Consulte este link para maiores informações sobre como se inscrever.

> Importante: É muito importante para um administrador de um site espelho, especialmente para os administradores de um site espelho Tier-1, verificar o calendário de lançamento da próxima versão do FreeBSD. Isto é importante porque ele irá lhe dizer para 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 site espelho tentar manter o seu servidor o mais atualizado possível (de novo, isto é 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 vão começar a espelhar dados antigos a partir dos sites espelhos Tier-1, começando desta forma uma espiral descendente... Portanto, mantenham os seus sites espelhos atualizados!

### 5.2 Como se tornar um site espelho oficial?

Nós não estamos aceitando nenhum novo site espelho no momento.

## 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 (isto é, pelo menos para os sites que as disponibilizam).

### 6.1 Estatísticas 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) (Usuários HTTP e FTP)

### 6.2 Estatísticas 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)

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