Ter um repositório local pode ser muito útil. É possível usar rsync
para criar um espelho de repositório, mas isso resulta no download de todas as versões, mesmo em versões mais antigas, e incluiria arquivos para arquiteturas que podem não ser necessárias.
apt-mirror
permite escolher seletivamente partes do repositório. mirrorkit
fornece um front-end para o apt-mirror.
Qual é a melhor maneira de criar um espelho de repositório local para partes selecionadas dos arquivos do Ubuntu?
Por exemplo, pode-se desejar incluir:
Principal, Restrita, Universo, Multiverso, Todo Ubuntu e Lubuntu, mas exclui outros derivados, como Kubuntu e Xubuntu.
Somente AMD64 e i386, mas excluem outras arquiteturas.
Apenas Trusty Tahr, mas não Precise Penguin ou Utopic Unicorn.
Pode-se desejar configurar o processo para que ele seja baixado de um espelho local, e não dos arquivos principais.
Como posso criar repositório local usando apt-mirror
e mirrorkit
para uma arquitetura, versão ou variante selecionada do Ubuntu?
fonte
Respostas:
O repositório de CDs e o repositório de software são dois componentes distintos (eles ainda têm páginas separadas da Barra de Ativação: cdmirrors e archivemirrors ). Portanto, espelhá-los são duas tarefas distintas. Além disso, embora os vários tipos tenham pastas diferentes no repositório do CD, eles compartilham um repositório de software. Assim, você pode espelhar seletivamente as imagens por sabor, mas não o software. Para o repositório de software, você pode espelhar seletivamente com base em:
trusty
,precise
, etc.)amd64
,i386
, etc.)deb
] vs fonte [deb-src
])trusty
,trusty-updates
,trusty-backports
, etc.)main
,multiverse
, etc.)Para espelhar o repositório de software, use
apt-mirror
.apt-mirror
está configurado usando/etc/apt/mirror.list
. Tem um formato muito semelhante aosources.list
. O arquivo de configuração instalado pelo pacote possui algumas opções comentadas que listam seus padrões. Se desejar, você pode descomentar e alterá-los.Para espelhar um repositório, você precisa adicionar uma linha
mirror.list
como gostaria parasources.list
:O padrão é espelhar apenas a arquitetura do host; portanto, se você estiver em um Ubuntu de 64 bits, apenas
amd64
será espelhado. Você precisa adicionar outra linha do formulário:E para pacotes de origem:
Se você estiver procurando por um espelho razoavelmente completo, essas linhas seriam o mínimo (eu também recomendaria o
-updates
canal):Por fim, você precisa adicionar uma
clean
linha para que os pacotes que não estão mais disponíveis no repositório sejam filtrados para remoção:Digamos que suas variáveis sejam assim (os padrões):
Então:
$mirror_path/parent-hostname/directory
(então/var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)clean.sh
(que será um conjunto derm
comandos para excluir pacotes e diretórios obsoletos) será/var/spool/apt-mirror/var/clean.sh
./var/spool/apt-mirror/var
.O
apt-mirror
pacote instala um cron job (/etc/cron.d/apt-mirror
), que você deve editar para habilitar (descomentando a linha que contém/usr/bin/apt-mirror
). Você também deve adicionar um trabalho cron para execuçãoclean.sh
(eu o executo semanalmente).Obviamente, você deve substituir
http://us.archive.ubuntu.com./ubuntu
por qualquer espelho que preferir.fonte
deb-amd64
oudeb arch=amd64
? I só pode encontrar o último um em manpagesources.list
, que tem um formato semelhante, mas não idêntico. Veja manpages.ubuntu.com/manpages/trusty/en/man1/apt-mirror.1.html , ondedeb-powerpc
está o exemplo.sources.list
. GraçasEu recomendo o apt-cacher para aqueles com espaço limitado ou aqueles com preços exorbitantes da Internet em seus países.
O apt-mirror, supostamente, requer pelo menos 15 GB para cada sabor (32/64 bits) da distribuição que você deseja. O apt-cacher usa apenas os pacotes que você instalou.
Leia Criar um repositório local do Ubuntu usando o Apt-Mirror e o Apt-Cacher para obter mais detalhes / instruções, por favor.
fonte