Configurando um espelho do repositório Debian
- Espelhar ou não
- O que espelhar
- A partir de onde fazer um espelho
- Como fazer o espelho
- Fazendo um espelho parcial
- Quando fazer o espelho
- Configurações adicionais recomendadas
- Como adicionar um espelho à lista de espelhos
- Listas de discussão
- Notas para espelhos particulares (parciais)
Espelhar ou não
Apreciamos todos os novos espelhos, cada futuro(a) mantenedor(a) de espelho deveria ter certeza que ele pode responder todas estas questões antes de tentar iniciar seu próprio espelho:
- Um espelho é necessário em minha localização? Talvez já existam outros espelhos próximos.
- Eu tenho os recursos necessários para hospedar um espelho? Espelhos usam um espaço de disco e banda consideráveis, é preciso estar apto a arcar com o custo.
- Um espelho é a escolha certa? Se você deseja principalmente auxiliar usuários(as) de seu provedor de serviço de internet (ISP) ou estabelecimento, talvez um proxy de cache como apt-cacher-ng, squid ou varnish pode ser a melhor escolha.
O que espelhar
A página principal sobre espelhos lista os repositórios disponíveis para espelhamento.
- Usuários(as) buscarão pelo repositório debian/ para instalar o Debian através da rede, para construir CDs (com o jigdo) e para atualizar sistemas já instalados. Recomendamos que você espelhe este repositório.
-
O debian-cd/ é um repositório que não é idêntico em todos os diferentes servidores
espelho. Em alguns ele contém apenas modelos jigdo para construir
imagens de CD (usados em combinação com o debian/), em alguns ele contém
imagens já construídas de imagens de CD, e em outros sites, ambos.
Veja a página sobre espelhamento das imagens de CD para mais informações. - O debian-archive/ contém o verdadeiro archive, as versões antigas e obsoletas do Debian. Ele geralmente será de interesse apenas para um pequeno segmento de usuários(as). Se você não sabe se realmente deseja espelhar isso, é porque provavelmente não precisa.
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. Apesar de soar interessante para todos(as), não recomendamos aos(as) nossos(as) usuários(as) o uso de espelhos para obter atualizações de segurança e, ao invés disso, avise para que eles(elas) baixem diretamente do nosso serviço distribuído security.debian.org. Recomendamos que o repositório debian-security não seja espelhado.
A partir de onde fazer um espelho
Note que ftp.debian.org
não é um local canônico dos pacotes do
Debian, em vez disso, ele é meramente um dos vários servidores que são
atualizados por um servidor interno do Debian.
Existem muitos espelhos públicos que suportam rsync e isso é bom para fazer o espelhamento a partir deles. Por gentileza, utilize um espelho que esteja pŕoximo a você em termos de rede.
Você deve evitar fazer o espelhamento a partir de qualquer nome de serviço
que resolva para mais de um endereço (como ftp.us.debian.org
),
pois isso pode causar a sincronização entre diferentes estados através de suas
próprias execuções espelhadas, caso os espelhos fiquem fora de sincronia.
Observe também que o HTTP é o único serviço que garantimos a existência no
ftp.CC.debian.org
. Se você deseja espelhar usando o rsync (utilizando
o ftpsync, conforme recomendado), sugerimos que você escolha o nome do site adequado
para a máquina que atualmente fornece o ftp.CC.debian.org
. (Consulte
o diretório /debian/project/trace
deste servidor a fim de compreendê-lo).
Como fazer o espelho
O método recomendado para espelhar é usando o famoso conjunto de scripts ftpsync, disponível nessas formas:
- como um arquivo compactado em https://ftp-master.debian.org/ftpsync.tar.gz
- como um repositório git: git clone https://salsa.debian.org/mirror-team/archvsync.git (veja https://salsa.debian.org/mirror-team/archvsync/)
- como um pacote Debian: ftpsync
Não utilize seus próprios scripts e não utilize rsyncs com apenas um caminho. Usar o ftpsync garante que as atualizações seja realizadas de maneira que o apt não fique confuso. Em particular, o ftpsync processa traduções, conteúdos e outros arquivos de metadados em uma ordem em que o apt não esteja executando erros de validação, dessa forma o(a) usuário(a) atualiza a lista de pacotes enquanto uma execução espelhada esteja em andamento. Além disso, também produz arquivos de rastreamento que contêm mais informações úteis para determinar se um espelho funciona, quais arquiteturas estão contidas nele e a partir de onde ele sincroniza.
Fazendo um espelho parcial
Considerando o grande tamanho dos repositórios do Debian,
pode ser aconselhável espelhar apenas partes do repositório. Espelhos públicos
podem conter todos as versões (testing
, unstable
, etc.), mas eles
podem restringir o conjunto de arquiteturas que contém neles. O arquivo de
configuração para ftpsync possui configurações de ARCH_EXCLUDE e ARCH_INCLUDE
para essa finalidade.
Quando fazer o espelho
O repositório principal é atualizado quatro vezes por dia. Os espelhos geralmente começam a ser atualizadas em torno de 3:00, 9:00, 15:00 e 21:00 (todos os horários em UTC), mas esses não são horários fixos e você não deveria fixar seu espelho neles.
Seu espelho deve atualizar algumas horas depois dos pulsos do espelhamento do repositório principal. Você deve verificar se o site a partir 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.
É essencial que seu espelho esteja sincronizado com o arquivo principal. Um mínimo de 4 atualizações por dia (24 horas) garantirá que seu espelho seja um verdadeiro reflexo do repositório. Por favor, entenda que espelhos que não estão sincronizados com o repositório principal não estarão na lista oficial de espelhos.
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.
Espelhamento disparado por 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.
Para uma descrição mais detalhada de como isto funciona, porque ele é
seguro, e como configurar um espelho push
, veja
a explicação completa.
Configurações adicionais recomendadas
Espelhos públicos devem disponibilizar o repositório Debian via HTTP
em /debian
.
Além disso, verifique se as listagens de diretórios estão ativadas (com os nomes completos dos arquivos) e se seguem os links simbólicos.
Se você usa Apache, algo dessa forma deve funcionar:
<Directory /path/to/your/debian/mirror> Options +Indexes +SymlinksIfOwnerMatch IndexOptions NameWidth=* +SuppressDescription </Directory>
Como adicionar um espelho à lista de espelhos
Se você deseja que seu espelho seja listado na lista oficial de espelhos, por favor:
- Certifique-se que o seu espelho sincroniza 4 vezes por dia (24 horas) com o repositório
- Certifique-se de que seu espelho inclua os arquivos fonte das arquiteturas contidos nele
Uma vez que um espelho esteja configurado, ele deve ser registrado no Debian a fim de ser incluído na lista de espelhos. Pedidos podem ser realizados usando nosso formulário web simples.
Quaisquer problemas ou dúvidas podem ser enviadas para mirrors@debian.org.
Listas de discussão
Existem duas listas de discussão públicas sobre os espelhos do Debian, debian-mirrors-announce e debian-mirrors. Incentivamos todos os(as) mantenedores(as) de espelho a assinar a lista de anúncios, pois será usado para divulgação de avisos importantes. Esta lista é moderada e recebe uma baixa quantidade de tráfego. A segunda lista de discussão é destinada a discussões gerais e é aberta a todos(as).
Se você tiver alguma dúvida que não tenha sido respondida nessas páginas web, entre em contato conosco através de mirrors@debian.org ou através do IRC, #debian-mirrors em irc.debian.org.
Notas para espelhos particulares (parciais)
Se você deseja operar um espelho apenas para o seu próprio local, e precisa
conter apenas um subconjunto de versões (como a stable
), o
debmirror pode se
encaixar melhor para você.