Recentemente, configurei um homelab e agora que finalmente tenho bastante armazenamento, decidi que seria uma boa ideia manter uma cópia dos pacotes do Ubuntu para um único lançamento LTS. Em particular, decidi espelhar o 24.04 Noble. O ideal é poder instalar pacotes e novas instalações do Ubuntu usando meu espelho, e apenas atualizações ocasionais (a maioria das minhas máquinas não está conectada à rede externa) quando posso atualizar o espelho (talvez uma vez por mês ou algo assim). Também pensei que seria uma experiência de aprendizado divertida.
Segui alguns guias da melhor forma que pude e fiz algumas leituras por conta própria, decidindo usar o debmirror com o seguinte script em um contêiner docker para executar a operação de espelhamento:
#!/bin/bash
SECTIONS="main,restricted,universe,multiverse"
RELEASE="noble,noble-security,noble-updates,noble-backports"
PROTO="rsync"
AMD64_ARCHES="amd64"
AMD64_ROOT="ubuntu"
AMD64_SERVER="us.archive.ubuntu.com"
AMD64_DEST="/mirror/amd64/ubuntu"
ARM64_ARCHES="arm64"
ARM64_ROOT="ubuntu-ports"
ARM64_SERVER="us.ports.ubuntu.com"
ARM64_DEST="/mirror/arm64/ubuntu"
# Mirror AMD
debmirror --arch="$AMD64_ARCHES"\
--section="$SECTIONS" \
--host="$AMD64_SERVER"\
--method="$PROTO" \
--root=$AMD64_ROOT \
--dist="$RELEASE" \
--source \
--progress \
--cleanup \
--keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg \
--rsync-options "-aIL --info=progress2 --partial" \
"$AMD64_DEST"
# Mirror ARM64
debmirror --arch="$ARM64_ARCHES"\
--section="$SECTIONS" \
--host="$ARM64_SERVER"\
--method="$PROTO" \
--root=$ARM64_ROOT \
--dist="$RELEASE" \
--source \
--progress \
--cleanup \
--keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg \
--rsync-options "-aIL --info=progress2 --partial" \
"$ARM64_DEST"
Tenho um repositório com todo o código e o Dockerfile, caso isso seja importante, no github .
De acordo com as respostas à seguinte pergunta, parece que se eu espelhasse todo o repositório, poderia esperar usar 2,1 TB de dados: tamanho dos repositórios espelhados
Eu esperava que isso fosse menos para espelhar apenas uma única distribuição, mas não tinha certeza de quanto menos. A quantidade que eu espelhei é aproximadamente 260 GB para AMBOS amd64 e arm64 ao espelhar ambos, com ambas as metades ocupando aproximadamente a mesma quantidade de espaço. Isso é significativamente menos do que eu esperava, e eu quero ter certeza de que não perdi nada. Eu tinha assumido que a maioria das distribuições compartilharia pacotes quando aplicável, então eu não esperava uma redução massiva no tamanho de uma única distribuição.
Editar: A seguinte pergunta ( Qual é o tamanho do repositório do Ubuntu? ) também surgiu, mas minha preocupação é que a resposta mais relevante parece ser de 12 anos atrás, e muita coisa pode mudar entre então e agora. Também parece deixar de fora a universe
seção, embora, como não estou familiarizado com as versões mais antigas, talvez fosse simplesmente uma estrutura diferente na época.