Tornando-se um servidor espelho para as imagens de CD do Debian
Para se tornar um servidor espelho de imagens de CD do Debian, você precisa de uma máquina Linux ou compatível com Unix, com conexão à Internet confiável. Os espelhos de CD do Debian mantêm imagens .iso para CDs e DVDs de vários tamanhos, arquivos para jigdo (.jigdo e .template), arquivos BitTorrent (.torrent) e arquivos de verificação de integridade ("checksums") MD5 das imagens (MD5SUMS*).
- Site mestre
- O espelhamento usando HTTP/FTP é desencorajado
- O espelhamento usando rsync é aceitável
- O espelhamento usando jigdo-lite é desencorajado
- O espelhamento usando o jigdo-mirror é recomendado
- Como se tornar um espelho "push"
- Excluindo arquivos do espelhamento.
- Convenções de nomes e espaço necessário para as imagens .iso
- Registrando o espelho
Site mestre
As URLs do site mestre são exibidas abaixo - no entanto, por favor, considere espelhar a partir de outro espelho próximo (listas de espelhos: HTTP/FTP, rsync) caso seja possível. O acesso ao site mestre pode ser restrito nas proximidades de um lançamento.
Esteja também ciente que uma grande quantidade de dados está armazenada nesses diretórios - leia a seção abaixo para detalhes sobre como diminuir o tamanho excluindo certos arquivos.
- Imagens estáveis (atualizado para cada versão estável):
http://cdimage.debian.org/debian-cd/
ftp://cdimage.debian.org/debian-cd/
rsync://cdimage.debian.org/debian-cd/ - Imagens semanais:
http://cdimage.debian.org/cdimage/weekly-builds/
ftp://cdimage.debian.org/cdimage/weekly-builds/
rsync://cdimage.debian.org/cdimage/weekly-builds/ - Imagens diárias:
http://cdimage.debian.org/cdimage/daily-builds/
ftp://cdimage.debian.org/cdimage/daily-builds/
rsync://cdimage.debian.org/cdimage/daily-builds/
O espelhamento usando HTTP/FTP é desencorajado
Você não deve usar FTP ou HTTP para atualizar o seu espelho. Esses métodos de transferência têm uma alta probabilidade de falha por causa do tamanho enorme dos arquivos.
Além disso, HTTP e FTP não incluem verificações de integridade dos dados obtidos, aumentando a probabilidade de que downloads abortados ou corrupção de dados passem despercebidos.
O espelhamento usando rsync é aceitável
O programa rsync é uma boa solução para espelhamento. Ele é menos eficiente do que a outra solução de espelhamento abaixo, específica do Debian, mas pode ser mais fácil de configurar. Além disso, ele garante que todos os arquivos sejam transferidos corretamente, e os metadados (por exemplo, marcas de tempo) sejam mantidos em sincronia assim como os dados do arquivo.
Veja a seção Excluindo arquivos do espelhamento para exemplos das opções --include e --exclude. A lista de espelhos rsync está disponível em uma página separada.
Use pelo menos as opções --times --links --hard-links --partial --block-size=8192. Isso preservará a data/hora das modificações, os links simbólicos e "hardlinks", e usar um tamanho de bloco de 8192 bytes (mais eficiente para imagens de CD). Quando a data/hora de modificação e o tamanho são os mesmos, o rsync deixará o arquivo quieto, portanto --times é realmente obrigatório.
O espelhamento usando jigdo-lite é desencorajado
Versões recentes do programa jigdo-lite suportam download em lote de múltiplas imagens. No entanto, nós não recomendamos o uso do jigdo-lite para criar espelhos de CD do Debian - use o jigdo-mirror ao invés disso.
O espelhamento usando o jigdo-mirror é recomendado
Na verdade, isso significa: espelhar os arquivos .iso usando jigdo-mirror, e então (se você também quiser espelhar outros tipos de arquivos, por exemplo, arquivos .jigdo e .template) executar rsync no diretório para obter o resto. Os scripts nesta página podem ajudar a configurar isso.
Várias pessoas mantêm servidores espelho "regulares" do Debian (debian/), ou simplesmente possuem algum deles por perto. Isso significa que elas já têm os .debs que são incluídos nas imagens de CD. A questão óbvia é: por que nós não podemos usar esses mesmos arquivos nas imagens de CD?
O jigdo-mirror é um programa que possibilita gerar imagens de CD do Debian usando arquivos de um servidor espelho "normal", mais alguns arquivos extras de template do jigdo.
Em primeiro lugar, você precisa dos arquivos de template do jigdo. Veja os links na página de informações do jigdo. Pegue os arquivos para cada arquitetura para a qual deseja construir imagens.
Crie o arquivo ~/.jigdo-mirror para configurar o programa. Este é um exemplo:
jigdoDir="/onde/você/mantém/espelhamentos/debian-cd/current/jigdo" imageDir="/onde/você/mantém/espelhamentos/debian-cd/current/images" tmpDir="/onde/você/mantém/espelhamentos/debian-cd/current/images" debianMirror="file:/onde/você/mantém/espelhamentos/debian" include='i386/|sparc/|powerpc/|source/'; exclude='-1\.'
As variáveis include e exclude contêm a lista das arquiteturas das quais você deseja criar imagens (expressões regulares, de preferência). Para maiores informações, veja a página de manual do jigdo-mirror ou mesmo o código-fonte (ele é um script shell com vários comentários).
Depois que você configurá-lo, simplesmente execute jigdo-mirror e ele fará tudo sozinho. Ele irá gerar muitas informações e provavelmente demorar um pouco, por isso sugerimos que você tome medidas quanto a isso (execute-o na tela, redirecione a saída para um arquivo, etc.).
Como se tornar um espelho "push"
Sempre que novas imagens estão disponíveis, o site mestre pode enviar uma mensagem para seus espelhos e fazê-los começarem a se atualizar automaticamente. Desse modo, os novos dados são "empurrados" (pushed) ao invés de "puxados" pelos espelhos, durante sua próxima atualização diária, levando a uma propagação mais rápida das novas versões das imagens.
Se você quer que seu espelho torne-se parte desse sistema de atualização, dê uma olhada nesta página.
Excluindo arquivos do espelhamento.
Para reduzir a quantidade de armazenamento necessária pelo seu espelho de CDs do Debian, você pode excluir certos arquivos de serem espelhados. As seguintes instruções incluem opções de linha de comando para o rsync, mas podem ajudá-lo mesmo se você usar uma ferramenta diferente para espelhamento. Com o rsync, as opções --include e --exclude são consideradas na ordem em que aparecem, e a primeira opção que combina com o padrão do arquivo determina se o mesmo é excluído ou incluído.
- Excluir código fonte:
--exclude=source/
Isso evitará que as imagens contendo código fonte sejam espelhadas. Note que algumas pessoas consideram inapropriado oferecer binários de programas licenciados sob GPL em um servidor sem também oferecer o código fonte dos programas no mesmo servidor. - Excluir imagens completas:
--include='*businesscard*.iso' --include='*netinst*.iso'
--exclude='*.iso'
Exclui todos os conjuntos de imagens de CD/DVD para todas as arquiteturas, mas espelha as imagens .iso com tamanho de cartão de visitas e instalação via rede. Nós recomendamos sempre espelhar essas imagens pequenas: Em relação ao seu tamanho, elas são extremamente úteis! - Excluir imagens completas para arquiteturas não-i386:
--include='*businesscard*.iso' --include='*netinst*.iso'
--include='i386/**.iso' --exclude='*.iso'
Como acima, mas inclui todas as imagens de CD/DVD para a arquitetura i386. - Excluir imagens completas, exceto os CDs 1 a 3 para i386:
--include='*netinst*.iso' --include='i386/**-[1-3].iso'
--exclude='*.iso'
O conjunto completo de imagens i386 pode ainda tomar muito espaço caso ele inclua imagens de DVD e DVD de duas camadas. Isso exclui todos os arquivos de imagem .iso, exceto as imagens para instalação via rede e os três primeiros CDs para i386. - Excluir todas as arquiteturas exceto i386:
--exclude=alpha/ --exclude=arm/ --exclude=hppa/ --exclude=hurd/
--exclude=ia64/ --exclude=m68k/ --exclude=mips/ --exclude=mipsel/
--exclude=powerpc/ --exclude=s390/ --exclude=sh/
--exclude=sparc/
Inclui somente os conjuntos completos de arquivos para i386, não inclui nenhum arquivo .jigdo, .iso, etc. de qualquer forma para outras arquiteturas.
Convenções de nomes e espaço necessário para as imagens .iso
As variantes diferentes das imagens .iso são distinguíveis pelos seus nomes, permitindo-o restringir os tipos de imagens que você espelhar:
- *-businesscard.iso: Uma imagem para cada uma das arquiteturas suportadas, 50 MB
- *-netinst.iso: Uma imagem para cada arquitetura, 110 MB
- *-dvd.iso (DVDs de uma camada): Imagens múltiplas apenas para i386, cada uma com até 4482 MB de tamanho. O tamanho acumulado para as imagens i386 do sarge é aproximadamente 9000 MB.
- *-dldvd.iso (DVDs de duas camadas): Como acima, exceto que imagens individuais tem até 8106 MB de tamanho. Não há imagens .iso disponíveis para o sarge, apenas arquivos jigdo.
- *.iso: Todos os arquivos .iso restantes que não combinam com um dos padrões acima são imagens de CD. Há imagens múltiplas para cada arquitetura, cada uma com até 650 MB de tamanho. O tamanho acumulado de todas as imagens e arquiteturas igual ao tamanho de um espelho Debian completo (100 GB quando isto foi escrito).
Registrando o espelho
Para tornar o seu espelho de imagem de CD útil para um público mais amplo, você pode registrá-lo em nossa lista de servidores espelho, como esta ou esta. Entretanto, uma vez que imagens completas são arquivos grandes, isso pode fazer com que você tenha muitos gigabytes de tráfego de rede por dia.
Você pode registrar o seu servidor espelho tanto preenchendo o formulário de submissão de servidor espelho (note que os campos CDImage-* são os mais importantes), quanto enviando um e-mail para debian-cd@lists.debian.org.
Nós apreciamos todos os novos servidores espelho de imagens de CD. Obrigado antecipadamente!
