Axel – Un acceleratore di download di file da riga di comando per Linux

Se sei il tipo di persona che ama scaricare e provare diverse distribuzioni Linux, siamo certi che accoglierai a braccia aperte un acceleratore di download che fa quello che promette.

In questa guida, ti presenteremo Axel, un clone leggero di wget che non ha dipendenze (eccetto gcc e makeutils).

Axel – Linux Commandline Download Accelerator

Anche se la sua descrizione afferma che è adatto specialmente per sistemi sensibili ai byte, axel può essere installato ovunque e utilizzato non solo per scaricare più file contemporaneamente da link HTTP/FTP, ma anche per velocizzarli.

Installazione di Axel, un Acceleratore di Download da Righe di Comando per LinuxCome abbiamo menzionato in precedenza, axel non è solo un altro strumento di download. Accelera i download HTTP e FTP utilizzando connessioni multiple per recuperare file dalla destinazione e può anche essere configurato per utilizzare più mirror.

Come abbiamo accennato in precedenza, axel non è solo un altro strumento di download. Velocizza i download HTTP e FTP utilizzando più connessioni per recuperare i file dal destinatario e può anche essere configurato per utilizzare più mirror.

Se questo non fosse abbastanza per motivarti a provarlo, aggiungiamo solo che axel supporta l’aborto e il ripristino automatici delle connessioni che sono irresponsive o non restituiscono dati dopo un determinato periodo di tempo.

Inoltre, se hai il permesso di farlo, puoi sfruttare axel per aprire più connessioni FTP simultanee a un server al fine di moltiplicare la larghezza di banda allocata per connessione.

Se non sei autorizzato a farlo o non ne sei sicuro, puoi invece aprire più connessioni a server separati e scaricare da tutti loro contemporaneamente.

Ultimo ma non meno importante, axel si differenzia dagli altri acceleratori di download Linux in quanto mette tutti i dati in un unico file al momento del download, a differenza di scrivere dati in file separati e unirli in un secondo momento.

In CentOS/RHEL 8/7, dovrai abilitare il repository EPEL per installare axel:

# yum install epel-release
# yum install axel

In Fedora, è disponibile dai repository predefiniti.

# yum install axel   
# dnf install axel   [On Fedora 23+ releases]

In Debian e derivati come Ubuntu e Linux Mint, è possibile installare axel direttamente con aptitude:

# aptitude install axel

Su Arch Linux e distribuzioni correlate come Manjaro Linux e OpenSUSE Linux, è possibile installare axel direttamente con:

$ sudo pacman -S axel       [On Arch/Manjaro]
$ sudo zypper install axel  [On OpenSUSE]

Una volta installato axel, immergiamoci a pieno.

Configurazione di Axel – Acceleratore di download Linux

È possibile configurare axel utilizzando /etc/axelrc e passare ulteriori opzioni desiderate nella riga di comando quando lo si invoca. Il file di configurazione è ben documentato ma esamineremo le opzioni più utili qui:

reconnect_delay è il numero di secondi che axel aspetterà prima di provare di nuovo a stabilire una nuova connessione al server.

max_speed è auto-esplicativo. Il valore è dato in byte al secondo (B/s). Potresti voler impostare questa variabile su un valore appropriato dopo aver considerato la tua larghezza di banda disponibile. Ciò ti aiuterà a evitare che axel consumi una grande quantità della tua larghezza di banda durante il download.

Importante: Si noti che la velocità massima effettiva di download dipenderà dalla tua connessione Internet – va senza dire che impostare max_speed su 5 MB/s non farà nulla se la tua connessione Internet massima è di 1,22 MB/s (come nel mio caso, come si vedrà negli esempi qui sotto – ho solo lasciato quel valore per fare il punto).

num_connections rappresenta il numero massimo di connessioni che axel cercherà di avviare. Il valore consigliato (4) è sufficiente per la maggior parte dei casi e viene fornito principalmente in base al rispetto degli altri utenti FTP. Si tenga presente che alcuni server potrebbero non consentire nemmeno connessioni multiple.

connection_timeout indica il numero di secondi che axel aspetterà per ricevere una risposta prima di tentare di interrompere e riprenderla automaticamente.

http_proxy ti consente di impostare un server proxy nel caso in cui la variabile d’ambiente HTTP_PROXY non sia stata impostata a livello di sistema. Questa variabile utilizza lo stesso formato di HTTP_PROXY (http://:PORT).

no_proxy è un elenco di domini locali, separati da virgole, che axel non dovrebbe cercare di raggiungere attraverso un proxy. Questa impostazione è facoltativa.

buffer_size rappresenta la quantità massima, in byte, da leggere da tutte le connessioni attuali contemporaneamente.

verbose ti consente di scegliere se i messaggi relativi al download verranno stampati sullo schermo. Imposta questo a 0 se vuoi disabilitarlo, o 1 se vuoi comunque vedere i messaggi.

interfaces ti consente di elencare gli interfaccia di rete che hanno accesso a Internet, nel caso tu ne abbia più di uno. Se questo non è esplicitamente impostato, axel utilizzerà la prima interfaccia nella tabella di routing.

Opzioni di configurazione simili sono disponibili da:

# axel --help

Se osservi attentamente, capirete che la maggior parte delle opzioni da riga di comando assomigliano a quelle nel file di configurazione. Inoltre, l’opzione -o (–output) consente di specificare un nome di file di output.

Se utilizzata, sovrascriverà il nome di file sorgente. Se impostate alcune delle opzioni da riga di comando, queste sovrascriveranno quelle impostate nel file di configurazione.

Come utilizzare Axel per scaricare file più velocemente in Linux

Utilizzeremo le seguenti impostazioni dal file di configurazione (smettete di commentare le righe corrispondenti):

reconnect_delay = 20
max_speed = 500000
num_connections = 4
connection_timeout = 30
buffer_size = 10240
verbose = 1
Configuring Axel Download Accelerator

Ora confronteremo i tempi di download da HTTP e FTP collegamenti utilizzando wget e axel. Potete scegliere qualsiasi file di qualsiasi dimensione, ma per semplicità, scaricheremo 100 MB di file disponibili da:

  1. ftp://speedtest:[email protected]/test100Mb.db
  2. http://speedtest.ftp.otenet.gr/files/test100Mb.db

Confronta i tempi di download FTP e Axel

Download FTP con wget (459 KB/s in media):
# wget ftp://speedtest:[email protected]/test100Mb.db
Download Files with FTP in Linux Using Wget
Download FTP con axel (1181,43 KB/s in media):
# axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email protected]/test100Mb.db
Download Files Over FTP Using Axel

Confronta i tempi di download HTTP e Axel

Download HTTP con wget (482 KB/s in media):
# wget http://speedtest.ftp.otenet.gr/files/test100Mb.db
Download Files Using HTTP with Wget
Download HTTP con axel (1178,93 KB/s in media):
# axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db
Download Files Over HTTP Using Axel

Come potete vedere nei risultati dei test che abbiamo eseguito sopra, axel può accelerare significativamente un download FTP o HTTP.

Riassunto

In questo articolo, abbiamo spiegato come utilizzare axel, un acceleratore di download FTP/HTTP, e mostrato come funziona più velocemente di altri programmi come wget perché è in grado di aprire più connessioni simultanee ai server remoti.

Non perdere: 5 gestori di download più popolari per i tuoi sistemi Linux

Non perdere: 10 esempi di comandi Wget (downloader di file Linux) in Linux

Speriamo che ciò che abbiamo mostrato qui vi motivi a provare axel. Sentitevi liberi di farci sapere se avete domande o commenti su questo articolo utilizzando il modulo sottostante. Siamo sempre ansiosi di ricevere feedback dai nostri lettori.

Source:
https://www.tecmint.com/axel-commandline-download-accelerator-for-linux/