Tornando-se um servidor espelho para as imagens de USB/CD/DVD do Debian
Para se tornar um servidor espelho (mirror) 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 das imagens (SHA512SUMS* e SHA256SUMS*).
- Repositório principal
- Não é recomendado fazer o espelhamento usando HTTP/FTP
- É aceitável fazer o espelhamento usando rsync
- Não é recomendado fazer o espelhamento usando jigdo-lite
- É recomendado fazer espelhamento usando o jigdo-mirror
- 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 seu espelho
Repositório principal
As URLs do repositório principal 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 repositório principal pode ficar restrito nas proximidades de um lançamento.
Também esteja ciente de 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ável (stable) (atualizado para cada versão estável):
https://cdimage.debian.org/debian-cd/
rsync://cdimage.debian.org/debian-cd/ - Imagens semanais:
https://cdimage.debian.org/cdimage/weekly-builds/
rsync://cdimage.debian.org/cdimage/weekly-builds/ - Imagens diárias:
https://cdimage.debian.org/cdimage/daily-builds/
rsync://cdimage.debian.org/cdimage/daily-builds/
Não é recomendado fazer o espelhamento usando HTTP/FTP
Você não deve usar HTTP ou FTP 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.
É aceitável fazer o espelhamento usando rsync
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 usa 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.
Não é recomendado fazer o espelhamento usando jigdo-lite
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.
É recomendado fazer espelhamento usando o jigdo-mirror
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) execute 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 "normais" 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 USB/CD/DVD. A questão óbvia é: por que nós não podemos usar esses mesmos arquivos nas imagens de USB/CD/DVD?
O jigdo-mirror é um programa que possibilita gerar imagens de USB/CD/DVD 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ê configurou, 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 repositório principal pode enviar uma mensagem para seus espelhos e fazê-los começar a se atualizar automaticamente. Desse modo, os novos dados são "empurrados" (pushed) ao invés de "puxados" (pulled) 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 a 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='*netinst*.iso'
--exclude='*.iso'
Exclui todos os conjuntos de imagens de USB/CD/DVD para todas as arquiteturas, mas espelha as imagens .iso de instalação via rede (net-install). 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='*netinst*.iso'
--include='i386/**.iso' --exclude='*.iso'
Como acima, mas inclui todas as imagens de USB/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 ocupar 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 múltiplas 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. Verifique a lista de arquiteturas antes de espelhar - a lista muda e esses exemplos podem estar desatualizados!
Convenções de nomes e espaço necessário para as imagens .iso
As diferentes variações das imagens .iso são distinguíveis pelos seus nomes, permitindo-o restringir os tipos de imagens que você espelhar:
- *-netinst.iso: uma imagem para cada arquitetura, até 500 MB
- *-dvd.iso (DVDs de uma camada): imagens múltiplas, cada uma com até 4482 MB de tamanho. Para o buster, existem até 16 imagens de DVD por arquitetura. Os servidores do Debian fornecem apenas um subconjunto de imagens em formato .iso para download direto: 3 para amd64, 3 para i386 e 1 para cada outras arquiteturas. As imagens restantes são fornecidas apenas em formato jigdo.
- *-bd.iso (Blu-Rays de uma camada): como acima, exceto que as imagens individuais têm até 23 GB de tamanho. Essas imagens estão disponíveis apenas como arquivos jigdo para um conjunto limitado de arquiteturas (amd64 e i386) e fontes.
- *-dlbd.iso (Blu-Rays de camada dupla): como acima, exceto que as imagens individuais têm até 48 GB de tamanho. Essas imagens estão disponíveis apenas como arquivos jigdo para um conjunto limitado de arquiteturas (amd64 e i386) e fontes.
- *-STICK16GB*.iso (Imagens USB de 16GB): como acima, exceto que as imagens individuais têm até 16 GB de tamanho. Essas imagens estão disponíveis apenas como arquivos jigdo para um conjunto limitado de arquiteturas (amd64 e i386).
Registrando o seu espelho
Para tornar o seu espelho de imagens de CD útil para um público mais amplo, você pode registrá-lo em nossa lista de servidores espelho, como esta ou esta. Entretanto, como 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.
Apreciamos todos os novos servidores espelho de imagens de CD. Obrigado desde já!