Prior today’s release of Edgy, I started playing with various methods trying to find the fastest way to make a personal mirror of files for my LoCo. For some reason I unconsciously excluded anything with a GUI, like gftp, downloader4x, etc..

1) I first started with the tried and true rsync method. This resulted in a quick script:

#!/bin/sh
rsync -Lvv –progress rsync://releases.ubuntu.com/releases/edgy/*.torrent .

I executed this in a blank directory. It was very slow and for some reason rsync keeps insisting that the ubuntu server files had changed. But it worked.

2) I then tried jigit (just install and type jigit in an empty directory). It indeed did work but it essentially used wget to grab the Ubuntu jigit directory, not simply the ISOs. Wget performed better than rsync but with all of other items it tries to download, it was also slow.

3) I then stumbled across btlaunchmany.py and btlaunchmanycurses.py from the bittorrent package. These two files both read a directory full of torrent files and issue multiple bittorrent downloads. This resulted in another quick script:

#!/bin/sh
rsync -Lvv –progress rsync://releases.ubuntu.com/releases/edgy/*.torrent .
btlaunchmanycurses ./

..which I then executed in an empty directory and wow. It allowed me to max my 7meg pipe, share my bandwidth during upload in the nice bittorrent fashion, and it also verified file integrity.  I highly recommend this method.