Agradeço todas as informações sobre essa questão, mas como ninguém criou uma solução simples que se encaixasse em nossas circunstâncias, decidi corrigir o problema sozinho
. Eu criei uma ferramenta (especificamente para o Ubuntu) que eu chamo de apt-spy2
.
O principal objetivo desta ferramenta é encontrar um rápido working espelho. Trabalhar é definido pelo fato de o servidor espelho estar disponível e (espero que :) atualizado.
Não faço suposições sobre se o servidor selecionado é necessariamente o mais próximo e o mais rápido. Eu não estou fazendo nenhum ping ou truques de DNS do GEO - mas até agora isso funciona quando algo quebra.
Como funciona - em poucas palavras:
- Eu uso o link ou a lista de espelhos do launchpad para recuperar servidores.
- Eu faço uma verificação simples em cada (para o Código de status de resposta HTTP).
- LBNL, atualizo
/etc/apt/sources.list
.
Observação: Isso pressupõe que as pessoas sejam legais e adicionem espelhos adicionais (por exemplo, repositórios de terceiros em /etc/apt/sources.list.d
. Mas acho que isso significa que há espaço para melhorias.
Você pode obter essa ferramenta da seguinte forma:
$ [sudo] gem install apt-spy2
O cli vem com list
, check
, fix
e help
(com informações estendidas sobre como usá-lo).
Eu tentei documentar o máximo possível no README do projeto.
A versão atual é muito conservadora em 0.5.0
.
O código é de código aberto e a licença é liberal. E eu tomo todas as contribuições.