Así de simple: el comando axel es un acelerador de descargas. ¿Cómo lo hace? Abre más de una conexión HTTP o FTP por cada intento de descarga, de tal modo que cada una de ellas transfiere su propia parte del archivo. El comando es particularmente útil cuando los servidores limitan el ancho de banda disponible por conexión. Te mostraré el funcionamiento y características de axel a través de ejemplos.

Instalación

Una vez más, la distribución de referencia será Ubuntu.

sudo apt-get install axel

En otros sabores de Linux puedes descargar y compilar el código fuente de axel, si no es que ya está incluido en los repositorios correspondientes.

Uso

Digamos que quieres descargar los 66049 KB comprimidos con bzip2 de la versión 2.6.34 del kernel Linux.

axel ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
Initializing download: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
File size: 67633622 bytes
Opening output file linux-2.6.34.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [  43.5KB/s]
[  0%]  .......... .......... .......... .......... ..........  [  87.3KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 118.3KB/s]
---
[ 18%]  .......... .......... .......... .......... ..........  [ 790.3KB/s]
[ 18%]  .......... .......... .......... .......... ..........  [ 793.1KB/s]

Si la descarga fue interrumpida por obra y gracia de tu ISP, luego puedes reanudar la descarga simplemente ejecutando el mismo comando.

Initializing download: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
File size: 67633622 bytes
Opening output file linux-2.6.34.tar.bz2
State file found: 12853085 bytes downloaded, 54780537 to go.
Starting download
        ,......... .......... .......... .......... ..........  [  33.9KB/s]
[ 19%]  .......... .......... .......... .......... ..........  [  51.2KB/s]

Nada nuevo bajo el sol. Axel funcionó igual que wget, pero solo en apariencia porque en realidad lanzó cuatro conexiones simultáneas para descargar el archivo. Para hacerlo más claro, cambia la manera en que axel indica el progreso de la descarga -la anterior muy verbosa, por cierto- por una que exponga el trabajo de cada conexión con la opción -a. También indica que sólo quieres ¡8 conexiones! para descargar Ubuntu Netbook Edition con la opción -n.

axel -n 8 -a http://ubuntu.media.mit.edu/ubuntu-releases/10.04/ubuntu-10.04-netbook-i386.iso
Initializing download: http://ubuntu.media.mit.edu/ubuntu-releases/10.04/ubuntu-10.04-netbook-i386.iso
File size: 733837312 bytes
Opening output file ubuntu-10.04-netbook-i386.iso
Starting download

[ 45%] [..0      1     ...2    ..3      ..4     ..5     .6     ...7     ] [   1.3MB/s] [05:58]

Las ocho conexiones son un abuso, lo sé. Con un poco más de ética, aún podemos usar axel para descargar a gran velocidad el mismo archivo pero desde distintos servidores. Para ello regresa al ejemplo del kernel Linux y descárgalo desde tres servidores distintos: España (es), Brazil (br) y México (mx).

axel -n 3 -a ftp://ftp.{es,br,mx}.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
Initializing download: ftp://ftp.es.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
File size: 67633622 bytes
Opening output file linux-2.6.34.tar.bz2
Starting download

Connection 0 finished                                                          ]
Connection 2 finished                                                          ]
Connection 1 finished                                                          ]
[ 98%] [................................................3 ] [ 360.8KB/s] [00:02]

Solo tienes que listar los servidores como argumentos para axel. En el ejemplo anterior aprovechamos que las llaves expanden su contenido en Bash.

Brevísimo comentario final

Axel no debe faltar en tu colección de comandos de uso diario.

Más guías y consejos

Recibe cada mañana nuestra newsletter. Una guía para entender lo que importa en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito