Ricerca nel sito web

Come utilizzare "Axel" come acceleratore di download per velocizzare i download FTP e HTTP


Se sei il tipo di persona a cui piace scaricare e provare diverse distribuzioni Linux, siamo sicuri che accoglierai a braccia aperte un acceleratore di download che parla e fa quello che dice la sua descrizione.

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

Sebbene la sua descrizione affermi che è particolarmente adatto per sistemi byte-critical, axel può essere installato ovunque e utilizzato non solo per scaricare più file contemporaneamente su collegamenti HTTP/FTP ma anche per velocizzarli.

Installazione di Axel, un acceleratore di download da riga di comando per Linux

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

Se questo non bastasse a motivarti a provarlo, aggiungiamo semplicemente che axel supporta l'interruzione automatica e la ripresa delle connessioni che non rispondono o che 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 contemporaneamente.

Ultimo ma non meno importante, axel differisce dagli altri acceleratori di download Linux in quanto mette tutti i dati in un singolo file al momento del download, invece di scrivere i dati in file separati e unirli in una fase successiva.

In CentOS/RHEL 8/7, dovrai abilitare il repository EPEL per poter 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, puoi installare axel direttamente con aptitude:

aptitude install axel

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


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

Una volta installato l'asse, tuffiamoci con entrambi i piedi.

Configurazione di Axel – Acceleratore di download Linux

Puoi configurare axel usando /etc/axelrc e passare ulteriori opzioni desiderate nella riga di comando quando lo invochi. Il file di configurazione è ben documentato ma esamineremo le opzioni più utili qui:

reconnect_delay è il numero di secondi che axel attenderà prima di riprovare ad avviare una nuova connessione al server.

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

Importante: tieni presente che la velocità di download massima effettiva dipenderà dalla tua connessione Internet: è ovvio che impostando max_speed su 5 MB/s non serviranno a nulla se la tua connessione Internet raggiunge il limite massimo di 1,22 MB/s (come nel mio caso, come vedrai negli esempi seguenti: ho solo ha lasciato quel valore per chiarire il punto).

num_connections è il numero massimo di connessioni che axel tenterà di avviare. Il valore consigliato (4) è sufficiente nella maggior parte dei casi e viene assegnato principalmente per rispetto verso gli altri utenti FTP. Tieni presente che alcuni server potrebbero non consentire nemmeno connessioni multiple.

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

http_proxy ti consente di impostare un server proxy nel caso in cui la variabile di 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 tentare di raggiungere tramite un proxy. Questa impostazione è facoltativa.

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

verbose ti consente di scegliere se i messaggi relativi al download verranno stampati sullo schermo. Impostalo su 0 se vuoi disabilitarlo o su 1 se vuoi continuare a vedere i messaggi.

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

Opzioni di configurazione simili sono disponibili da:

axel --help

Se guardi attentamente, ti renderai conto che la maggior parte delle opzioni della riga di comando somigliano a quelle nel file di configurazione. Inoltre, l'opzione -o (–output) an ti consente di specificare un nome file di output.

Se utilizzato, sovrascriverà il nome del file di origine. Se imposti una qualsiasi delle opzioni della 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 (decommentare le righe corrispondenti):

reconnect_delay = 20
max_speed = 500000
num_connections = 4
connection_timeout = 30
buffer_size = 10240
verbose = 1

Confronteremo ora i tempi di download dai collegamenti HTTP e FTP utilizzando wget e axel. Puoi scegliere qualsiasi file di qualsiasi dimensione, ma per semplicità scaricheremo file da 100 MB disponibili da:

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

Confronta i tempi di download di FTP e Axel

Download FTP con wget (459 KB/s in media):
wget ftp://speedtest:[email /test100Mb.db

Download FTP con axel (1181,43 KB/s in media):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

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 HTTP con axel (1178,93 KB/s in media):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Come puoi vedere dai risultati dei test che abbiamo eseguito sopra, axel può accelerare in modo significativo un download FTP o HTTP.

Riepilogo

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 a server remoti.

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

Da non perdere: 10 esempi di comandi Wget (Linux File Downloader) in Linux

Ci auguriamo che ciò che abbiamo mostrato qui ti motivi a provare axel. Non esitate a farci sapere se avete domande o commenti su questo articolo utilizzando il modulo sottostante. Siamo sempre ansiosi di ricevere feedback dai nostri lettori.