Como posso limitar a largura de banda do apt-mirror?

11

Preciso fazer um espelho único de todo o repositório apt do Ubuntu (para registro, é porque estou enviando para o Quênia (veja aqui e aqui ).

Eu fiz isso antes e usei o apt-mirror , e isso faz exatamente o que eu quero. No entanto, agora eu quero fazê-lo lentamente, então quero limitar a largura de banda que ele usa para baixar. Existe alguma maneira fácil de fazer isso? Alguma configuração mágica de apt?

Rory
fonte

Respostas:

16

Depois de analisar o código-fonte do apt-mirror, descobri que o apt-mirror possui habilidades embutidas para limitar a taxa de largura de banda.

Apenas coloque:

set limit_rate 50k

No seu arquivo mirror.list, ele passará isso para o wget. No entanto, esse limite é por thread. Portanto, se você tiver 10 threads, será 50k * 10 = 500k. Esse recurso não está documentado.

Rory
fonte
2
No teste limitado que fiz (usando o nload), parece que isso é definido em KiloBytes / s em vez de KiloBits, portanto, pode-se dividir por 8. Por exemplo, se você deseja limitar a 1 mbit por thread, use um valor de 125k
Programster
6

Dan Carley está certo quanto ao invólucro perl. Mas de maneira mais inteligente - edite ~ / .wgetrc (configuração específica do usuário) ou / etc / wgetrc (configuração do sistema) e adicione a opção

limit-rate = 50k # or your limit rate
vlad
fonte
1
Sim, bom argumento. Minha única reserva pequena seria esquecer que você a colocou em uma data posterior.
22630 Dan Carley
4

Desde que apt-mirroré apenas um wrapper Perl para wget. Você pode editar o código-fonte para utilizar o wgetsinalizador, --limit-rateque possui uma velocidade de download expressa em bytes, kilobytes ou megabytes.

Dependendo da sua compreensão do Perl, você pode fazer isso da maneira certa, adicionando uma nova opção de configuração e, idealmente, enviando um patch de volta ao autor. Ou você pode apenas codificar o valor que você precisa no momento.

Dan Carley
fonte