Recherche de site Web

Comment utiliser « Axel » comme accélérateur de téléchargement pour accélérer les téléchargements FTP et HTTP


Si vous êtes le genre de personne qui aime télécharger et essayer plusieurs distributions Linux, nous sommes sûrs que vous accueillerez à bras ouverts un accélérateur de téléchargement qui parle et marche - un accélérateur qui fait ce que dit sa description.

Dans ce guide, nous allons vous présenter Axel, un clone wget léger sans dépendances (autres que gcc et makeutils).

Bien que sa description indique qu'il est spécialement adapté aux systèmes critiques en termes d'octets, axel peut être installé n'importe où et utilisé non seulement pour télécharger plusieurs fichiers simultanément via des liens HTTP/FTP, mais également pour les accélérer.

Installation d'Axel, un accélérateur de téléchargement en ligne de commande pour Linux

Comme nous l'avons mentionné précédemment, axel n'est pas simplement un autre outil de téléchargement. Il accélère les téléchargements HTTP et FTP en utilisant plusieurs connexions pour récupérer les fichiers de la destination et peut également être configuré pour utiliser plusieurs miroirs.

Si cela ne suffisait pas à vous motiver à l'essayer, ajoutons simplement que axel prend en charge l'abandon et la reprise automatiques des connexions qui ne répondent pas ou ne renvoient aucune donnée après une période de temps donnée.

De plus, si vous êtes autorisé à le faire, vous pouvez utiliser Axel pour ouvrir plusieurs connexions FTP simultanées à un serveur afin de multiplier la bande passante allouée par connexion.

Si vous n'êtes pas autorisé à le faire ou n'en êtes pas sûr, vous pouvez ouvrir plusieurs connexions sur des serveurs distincts et télécharger depuis chacun d'eux en même temps.

Enfin et surtout, axel diffère des autres accélérateurs de téléchargement Linux en ce sens qu'il place toutes les données dans un seul fichier au moment du téléchargement, au lieu d'écrire des données dans des fichiers séparés et de les joindre ultérieurement.

Dans CentOS/RHEL 8/7, vous devrez activer le référentiel EPEL pour installer axel :

yum install epel-release
yum install axel

Dans Fedora, il est disponible dans les référentiels par défaut.

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

Dans Debian et ses dérivés tels que Ubuntu et Linux Mint, vous pouvez installer axel directement avec aptitude :

aptitude install axel

Sur Arch Linux et les distributions associées telles que Manjaro Linux et OpenSUSE Linux, vous pouvez installer axel directement avec :


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

Une fois l’axel installé, plongeons dedans avec les deux pieds.

Configuration d'Axel – Accélérateur de téléchargement Linux

Vous pouvez configurer axel en utilisant /etc/axelrc et transmettre les autres options souhaitées dans la ligne de commande lorsque vous l'appelez. Le fichier de configuration est bien documenté mais nous passerons ici en revue les options les plus utiles :

reconnect_delay est le nombre de secondes qu'Axel attendra avant de réessayer de démarrer une nouvelle connexion au serveur.

max_speed est explicite. La valeur est donnée en octets par seconde (B/s). Vous souhaiterez peut-être définir cette variable sur une valeur appropriée après avoir pris en compte votre bande passante disponible. Cela vous aidera à éviter qu’Axel consomme une grande partie de votre bande passante pendant le téléchargement.

Important : Veuillez noter que le taux de téléchargement maximum réel dépendra de votre connexion Internet – il va sans dire que définir max_speed sur 5 Mo/s ne fera rien si votre connexion Internet atteint un maximum de 1,22 Mo/s (comme c'était le cas dans mon cas, comme vous le verrez dans les exemples ci-dessous – je viens de j'ai laissé cette valeur pour faire valoir le point).

num_connections est le nombre maximum de connexions qu'Axel tentera de démarrer. La valeur recommandée (4) est suffisante dans la plupart des cas et est donnée principalement par respect pour les autres utilisateurs FTP. Veuillez noter que certains serveurs peuvent même ne pas autoriser plusieurs connexions.

connection_timeout indique le nombre de secondes pendant lesquelles Axel attendra pour recevoir une réponse avant de tenter de l'abandonner et de le reprendre automatiquement.

http_proxy vous permet de définir un serveur proxy au cas où la variable d'environnement HTTP_PROXY n'aurait pas été définie à l'échelle du système. Cette variable utilise le même format que HTTP_PROXY (http://:PORT).

no_proxy est une liste de domaines locaux, séparés par des virgules, qu'Axel ne doit pas essayer d'atteindre via un proxy. Ce paramètre est facultatif.

buffer_size représente la quantité maximale, en octets, à lire sur toutes les connexions actuelles à la fois.

verbose vous permet de choisir si les messages liés au téléchargement seront imprimés à l'écran. Réglez-le sur 0 si vous souhaitez le désactiver ou sur 1 si vous souhaitez toujours voir les messages.

interfaces vous permet de lister les interfaces réseau qui ont accès à Internet, si vous en avez plusieurs. Si cela n'est pas explicitement défini, axel utilisera la première interface de la table de routage.

Des options de configuration similaires sont disponibles à partir de :

axel --help

Si vous regardez attentivement, vous réaliserez que la plupart des options de ligne de commande ressemblent à celles du fichier de configuration. De plus, l'option -o (–output) vous permet de spécifier un nom de fichier de sortie.

S'il est utilisé, il remplacera le nom du fichier source. Si vous définissez l'une des options de ligne de commande, elles remplaceront celles définies dans le fichier de configuration.

Comment utiliser Axel pour télécharger des fichiers plus rapidement sous Linux

Nous utiliserons les paramètres suivants du fichier de configuration (décommentez les lignes correspondantes) :

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

Nous allons maintenant comparer les temps de téléchargement à partir des liens HTTP et FTP en utilisant wget et axel. Vous pouvez choisir n'importe quel fichier de n'importe quelle taille, mais pour des raisons de simplicité, nous téléchargerons des fichiers de 100 Mo disponibles à partir de :

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

Comparez les temps de téléchargement FTP et Axel

Téléchargement FTP avec wget (459 Ko/s en moyenne) :
wget ftp://speedtest:[email /test100Mb.db

Téléchargement FTP avec axel (1181,43 Ko/s en moyenne) :
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

Comparez les temps de téléchargement HTTP et Axel

Téléchargement HTTP avec wget (482 Ko/s en moyenne) :
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

Téléchargement HTTP avec axel (1178,93 Ko/s en moyenne) :
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Comme vous pouvez le constater dans les résultats des tests que nous avons effectués ci-dessus, axel peut accélérer considérablement un téléchargement FTP ou HTTP.

Résumé

Dans cet article, nous avons expliqué comment utiliser axel, un accélérateur de téléchargement FTP/HTTP, et montré comment il fonctionne plus rapidement que d'autres programmes tels que wget car il est capable de ouvrir plusieurs connexions simultanées à des serveurs distants.

Ne manquez pas : 5 gestionnaires de téléchargement les plus populaires pour vos systèmes Linux

Ne manquez pas : 10 exemples de commandes Wget (Linux File Downloader) sous Linux

Nous espérons que ce que nous avons montré ici vous motivera à essayer Axel. N'hésitez pas à nous faire savoir si vous avez des questions ou des commentaires sur cet article en utilisant le formulaire ci-dessous. Nous attendons toujours avec impatience de recevoir les commentaires de nos lecteurs.