Skip to main content

Why aria2 is awesome

A short post with some words of praise for aria2.

Today I was on an extremely bad network, but I needed to download some important packages (wicd + deps) for my Arch Linux machine.

I did:

# pacman -S wicd-gtk

The packages were just 1.17 MiB in size, so I hoped that the download would go well.

Unfortunately, pacman — the package manager for Arch Linux — didn't like the network at all and the download kept failing with messages such as:

error: failed retrieving file 'wpa_supplicant-2.0-4-i686.pkg.tar.xz' from : Resolving timed out after 10000 milliseconds


error: failed retrieving file 'wpa_supplicant-2.0-4-i686.pkg.tar.xz' from : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds

pacman uses curl for downloading, if I am not mistaken, so maybe it's curl's fault. Anyway, I decided to give aria2 a try.

So, I did:

# pacman -Sp wicd-gtk | aria2c -i -

and the package and all its dependencies were downloaded without a hitch!

If anyone's interested in what the above command means, here's the explanation:

  • pacman -Sp: Only list the urls from where the packages will be downloaded, on stdout, instead of downloading them.

  • |: Pipe the output to the following command :P

  • aria2c -i -: The -i switch specifies, that the urls for files to be downloaded, should be read from the given file. If - is passed, then read the urls from stdin.

From my experience, aria2 is extremely resilient on bad networks, and this issue reinforced my faith in its capabilities.