FAQ
Index
- I hate file allocation!!
- File allocation eats my CPU 50%-90%!!
- Can't download from megaupload.
- How can I compile static build?
- Do I need -c option every time to resume download?
- Cannot load Firefox's cookies.sqlite3
- When restarting download using Metalink file which contains only URI which …
- I got "Connection refused" error when using aria2rpc script
- aria2 MinGW32 build responds to XML-RPC request issued by Python xmlrpclib …
I hate file allocation!!
You can turn off file allocation using --file-allocation=none.
The file allocation avoids file fragmentation, especially for BitTorrent. If you download big torrent file, I recommend to allocate disk space. The time for file allocation is ignorable compared to the download time and you have less fragmented file in the end. See also the next entry.
File allocation eats my CPU 50%-90%!!
If you are using newer file systems such as ext4(with extens
enabled), btrfs, xfs or NTFS(MinGW32 build only), I recommend to
use --file-allocation=falloc. It allocates
large(few GiB) files almost instantly and it doesn't slow down
your PC at all.
If you are neither using cutting edge file systems nor Linux user and mind this
slow down, turn off file allocation by
giving --file-allocation=none.
Can't download from megaupload.
Try --use-head=false option. megaupload doesn't recognize HEAD method request. Since 1.5.0 release, the default value of --use-head is false.
How can I compile static build?
To build aria2 statically, you need expat for XML and openssl for SSL lib. gnutls and libxml2 don't work with static build.
The procedure looks like this:
export LIBS="-lcrypto -lz -lpthread -ldl -lrt" export LDFLAGS="-static" ./configure --without-libxml2 --without-gnutls --with-libexpat --with-openssl make
But it is not a 100% static build. glibc has a limitation when doing static linking with some functions and aria2 uses one of them: getaddrinfo. Because of this, aria2 still requires glibc version it was build against at runtime. You see a warning after compilation something like:
warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
Do I need -c option every time to resume download?
You don't need -c option to resume the download which is started from scratch using aria2. You need -c option for just one case: resume download started by the WEB browser or wget/curl which download file from first byte. With -c option, aria2 can resume download where the transfer stopped.
Cannot load Firefox's cookies.sqlite3
Firefox 3.5 acquires exclusive lock on its cookies.sqlite3 file, so aria2 cannot load the file while Firefox is running.
The workaround is copy cookies.sqlite3 to new location, say, mycookies.sqlite3 and point aria2 to the new file.
When restarting download using Metalink file which contains only URI which does not support resume, aria2 always fails.
This is a safety measure not to download a file from scratch without user confirmation. You have 3 choice to solve this issue:
- Use --always-resume=false option. When aria2 sees it cannot resume download given URIs, it starts downloading file from scratch. This choice is also recommended.
- Remove downloaded file and download it from scratch.
- Use --remove-control-file=true and --allow-overwrite=true, which will make aria2 download file from scratch.
I got "Connection refused" error when using aria2rpc script
If you get error like "Connection refused", add "--server ::1" command-line option to aria2rpc.
aria2 MinGW32 build responds to XML-RPC request issued by Python xmlrpclib with 1 second delay
This is because aria2 MinGW32 build disables IPv6 by default and Python xmlrpclib first tries to connect in IPv6. After it knows aria2 does not listen on IPv6 socket (1 second after), it falls back to IPv4. To workaround this issue, there are 2 options:
- Enable IPv6 using --disable-ipv6=false. If you are using Windows7, I recommend this. aria2 may not work on Windows XP with IPv6 on.
- Change RPC server address in your Python script to IPv4 address like "127.0.0.1".