How can I limit the bandwidth of apt-mirror?
I need to make a once off mirror of all the Ubuntu apt repository (for the record it's because I'm sending it to Kenya (see here and here).
I did it before and used apt-mirror, and that does exactly what I want. However now I want to do it slowly, so I want to limit the bandwidth it uses to download. Is there any easy way to do it? Any magic apt configuration setting?
Solution 1:
After I looked at the source code for apt-mirror, I discovered that apt-mirror has inbuilt abilities to limit the bandwith rate.
Just put:
set limit_rate 50k
In your mirror.list file and it will pass that into wget. However that limit is per thread. So if you have 10 threads, this will be 50k * 10 = 500k. This feature is not documentated at all.
Solution 2:
Dan Carley are right about perl wrapper. But smarter way - edit ~/.wgetrc (user specific config) or /etc/wgetrc (system-wide config) and add option
limit-rate = 50k # or your limit rate
Solution 3:
Since apt-mirror
is just a Perl wrapper for wget
. You could edit the source code to utilise the wget
flag --limit-rate
which takes a download speed expressed in bytes, kilobytes or megabytes.
Depending upon your understanding of Perl, you could either do this the right way, by adding a new configuration option and ideally submitting a patch back to the author. Or you can just hardcode the value that you need for the moment.