Nós apreciamos todos os novos espelhos, cada futuro mantenedor de espelho deveria ter certeza que ele pode responder todas estas questões antes de tentar iniciar seu próprio espelho:
A página principal sobre espelhos lista os repositórios disponíveis para espelhamento.
Por favor, consulte a página de tamanho do espelho para informações mais precisas sobre o tamanho dos espelhos.
O repositório debian-security/ contém as atualizações de segurança lançadas pela equipe de segurança do Debian. Soa interessante para todos, mas como as atualizações de segurança são esporádicas, seria necessário espelhá-las muito freqüentemente para se manter atualizado (ou usar espelhamento push), por isso nós não recomendamos. Ao invés disso, o Debian faz tudo que é necessário para manter a alta disponibilidade do security.debian.org.
Nota: o repositório debian-non-US/ é considerado obsoleto desde a versão 3.1 (sarge) lançada em Junho de 2005.
Muitas pessoas parecem pensar que o ftp.debian.org é a
localização oficial dos pacotes do Debian e que ele será o melhor lugar de
todos para fazer o espelho. Isto é falso.
ftp.debian.org é meramente um dos vários servidores que é
atualizado por um servidor interno do Debian. Este endereço está
atualmente localizado em um único servidor nos Estados Unidos, e ele
ainda existe principalmente por retro-compatibilidade.
Os espelhos oficiais tendem a ser um bom lugar
a partir do qual espelhar. Qualquer servidor que esteja na
lista completa de espelhos e que possua os rótulos
Type: Push-Primary
ou Type: Push-Secondary
deveria ser um bom lugar de onde se fazer um espelho.
Por favor, escolha um que esteja perto de você, tanto em termos de rede
como geograficamente.
Não existe nenhuma diferença aparente entre diferentes servidores Push-Primary já que eles fazem parte do processo de espelhamento. Por outro lado, se muitas pessoas usarem o ftp.debian.org (e infelizmente isso acontece), muita banda é desperdiçada sem necessidade.
Administradores de espelhos nos Estados Unidos deveria espelhar a partir
de ftp.us.debian.org (o endereço de espelho oficial dos EUA, que é um espelho
Push-Primary). Mas, como este endereço é também um apelido "round-robin" para
várias máquinas, normalmente faz sentido determinar quais dos componentes é
o melhor e então espelhar a partir deste em particular.
A vantagem de fazer isso é que evita o risco de falhas quando
realizando rsync em dois estágios (diferentes estágios podem acabar em
máquinas diferentes durante as janelas de tempo nas quais eles tem dados
diferentes, causando uma condição de disputa ("race"). A desvantagem é
que concentra em único site o desempenho que pode varia, mas que é
atualmente inerente à nossa rede de espelhos em geral.
O método recomendado para se fazer um espelho é usando o script anonftpsync.
O protocolo de espelhamento que nós recomendamos é o rsync.
Por favor, não espelhe o Debian usando o wget e outras
ferramentas baseadas em FTP. Pode parecer que elas funcionam bem, mas
há vários problemas (elas não detectam hard links
, é difícil
fazer um espelho parcial, etc).
Nós recomendamos uso deste script para fazer o espelho dos repositórios. Siga as instruções no script para configurar um espelho.
Alguns conselhos para aqueles que preferem métodos diferentes:
project/trace/ do seu espelho do Debian. Ou seja execute o
comando
date -u > .../debian/project/trace/seu.servidor
depois que o seu rsync diário estiver terminado.upstreampermitirão acesso anônimo. Caso eles requeiram autenticação, configure nomes de usuário e senhas no seu script, através da variável de ambiente RSYNC_PASSWORD ou usando a opção --password-file.
Considerando o grande tamanho dos repositórios do Debian, algumas pessoas preferem fazer um espelho apenas da parte que elas necessitam. Se você quer excluir alguma coisa, você deve excluir as arquiteturas.
Com o anonftpsync, isto pode ser feito editando a variável ARCH_EXCLUDE.
Nós advertimos fortemente sobre a exclusão dos subdiretórios project/, doc/ e outros. Normalmente eles são menores, e de muita utilidade para os usuários. Especialmente project/trace, que ajuda muito se houver algum problema com o espelho.
É possível usar outros scripts escritos especialmente para isso mas,
usualmente, eles não são necessários e não são recomendados para espelhos
oficiais.
Por exemplo, este conjunto de opções rsync excluiria todas as
arquiteturas:
--exclude binary-alpha/ --exclude *_alpha.deb --exclude *_alpha.udeb --exclude installer-alpha/ --exclude Contents-alpha*
--exclude binary-amd64/ --exclude *_amd64.deb --exclude *_amd64.udeb --exclude installer-amd64/ --exclude Contents-amd64*
--exclude binary-arm/ --exclude *_arm.deb --exclude *_arm.udeb --exclude installer-arm/ --exclude Contents-arm*
--exclude binary-armel/ --exclude *_armel.deb --exclude *_armel.udeb --exclude installer-armel/ --exclude Contents-armel*
--exclude binary-hppa/ --exclude *_hppa.deb --exclude *_hppa.udeb --exclude installer-hppa/ --exclude Contents-hppa*
--exclude binary-hurd-i386/ --exclude *_hurd-i386.deb --exclude *_hurd-i386.udeb --exclude installer-hurd-i386/ --exclude Contents-hurd-i386*
--exclude binary-i386/ --exclude *_i386.deb --exclude *_i386.udeb --exclude installer-i386/ --exclude Contents-i386*
--exclude binary-ia64/ --exclude *_ia64.deb --exclude *_ia64.udeb --exclude installer-ia64/ --exclude Contents-ia64*
--exclude binary-m68k/ --exclude *_m68k.deb --exclude *_m68k.udeb --exclude installer-m68k/ --exclude Contents-m68k*
--exclude binary-mips/ --exclude *_mips.deb --exclude *_mips.udeb --exclude installer-mips/ --exclude Contents-mips*
--exclude binary-mipsel/ --exclude *_mipsel.deb --exclude *_mipsel.udeb --exclude installer-mipsel/ --exclude Contents-mipsel*
--exclude binary-powerpc/ --exclude *_powerpc.deb --exclude *_powerpc.udeb --exclude installer-powerpc/ --exclude Contents-powerpc*
--exclude binary-s390/ --exclude *_s390.deb --exclude *_s390.udeb --exclude installer-s390/ --exclude Contents-s390*
--exclude binary-sparc/ --exclude *_sparc.deb --exclude *_sparc.udeb --exclude installer-sparc/ --exclude Contents-sparc*
O repositório principal é atualizado duas vezes por dia. Os espelhos geralmente começam a ser atualizadas em torno de 09:00 e 21:00 (ambos os horários UTC), mas estes não são horários fixos e você não deveria fixar seu espelho neles.
Nós recomendamos que você faça o espelhamento uma vez por dia. Espelhar mais do que duas vezes por dia não tem propósito e provavelmente vai levar você a ser banido — nunca faça isso.
Seu espelho deveria atualizar algumas horas depois dos pulsos
de
espelhamento do repositório principal. Você deveria verificar se o site do
qual você está fazendo espelho tem um arquivo de registro de data no
subdiretório project/trace/. O arquivo do registro de data terá
o mesmo nome do site, e irá conter o horário de término da última atualização
do espelho. Adicione algumas horas a esse horário (por segurança) e faça o
espelho dele.
A maneira mais fácil de se ter automaticamente o espelhamento executado todos os dias é usando o cron. Veja man crontab para detalhes.
Note que se seu site for atualizado com um mecanismo push, então você não precisa se preocupar com nada disso.
push(
Push-triggered)
Espelhamento push
é uma forma de espelhamento que nós desenvolvemos
para minimizar o tempo que leva para que as mudanças no repositório cheguem
aos espelhos. Um espelho upstream
usa um gatilho SSH que diz aos demais
espelhos para se atualizarem. O pushing
é usualmente limitado a um
gatilho seguro que não aceita dados variáveis, de forma que o restante do
processo de espelhamento seja simplesmente puxar os dados de forma similar a
uma tarefa cron.
O espelhamento push
é necessário para manter vários servidores em
sincronia (tais como servidores em round-robin de DNS como
ftp.us.debian.org), e nós geralmente usamos isto para os nossos
espelhos de primeiro e segundo nível. Para espelhos normais
,
este método requer bastante esforço para ser configurado que na verdade
não compensam quando comparados com uma tarefa cron bem ajustada.
Para uma descrição mais detalhada de como isto funciona, porque ele é
seguro, e como configurar um espelho push
, veja
a explicação completa.
Se você for tornar um espelho do Debian disponível através de HTTP,
adicione as seguintes configurações nas suas configurações do Apache
(presumindo, obviamente, que você usará Apache) no bloco
<Directory /caminho/para/seu/espelho/do/debian>,
onde /caminho/para/seu/espelho/do/debian deve ser o nome
atual do diretório onde você mantém seu espelho:
Options +Indexes +SymlinksIfOwnerMatch IndexOptions NameWidth=* +SuppressDescription
Isso ativa os índices de diretório e garante que os links simbólicos irão funcionar. Os nomes de arquivo nos índices de diretório não ficarão truncados, e descrições (na maior parte não existentes) não serão mostradas.
No Apache 1.3.x, a seguinte opção também pode ser adicionada:
DirectoryIndex .
Não adicione esta opção no Apache 2.x.
Uma vez que um espelho é configurado, ele deveria ser registrado no Debian a fim de ser incluído na lista de espelhos. Pedidos podem ser feitos usando nosso formulário web.
Quaisquer problemas ou dúvidas podem ser enviadas para mirrors@debian.org.