Cum să utilizați Axel ca accelerator de descărcare pentru a accelera descărcările FTP și HTTP
Dacă sunteți genul de persoană căreia îi place să descarce și să încerce acceleratorul de descărcare, care vorbește și merge pe jos - unul care face ceea ce spune descrierea sa.
În acest ghid, vă vom prezenta Axel, o clonă wget ușoară care nu avea dependențe (altele decât gcc și makeutils).
Deși descrierea sa afirmă că este special potrivit pentru sistemele critice de octeți, axel poate fi instalat oriunde și poate fi folosit nu numai pentru a descărca mai multe fișiere simultan prin link-uri HTTP/FTP, ci și pentru a le accelera.
Instalarea Axel, un accelerator de descărcare în linie de comandă pentru Linux
După cum am menționat mai devreme, axel nu este doar un alt instrument de descărcare. Acesta accelerează descărcările HTTP și FTP folosind mai multe conexiuni pentru a prelua fișiere de la destinație și poate fi configurat și pentru a utiliza mai multe oglinzi.
Dacă acest lucru nu a fost suficient pentru a vă motiva să îl încercați, să adăugăm doar că axel acceptă întreruperea automată și reluarea conexiunilor care nu răspund sau nu returnează date după o anumită perioadă de timp.
În plus, dacă aveți permisiunea de a face acest lucru, puteți utiliza axel pentru a deschide mai multe conexiuni FTP simultane la un server pentru a multiplica lățimea de bandă alocată per conexiune.
Dacă nu aveți voie să faceți acest lucru sau nu sunteți sigur de asta, puteți, în schimb, să deschideți mai multe conexiuni la servere separate și să descărcați de pe toate în același timp.
Nu în ultimul rând, axel diferă de alte acceleratoare de descărcare Linux prin faptul că pune toate datele într-un singur fișier în timpul descărcării, spre deosebire de scrierea datelor în fișiere separate și unirea acestora într-o etapă ulterioară.
În CentOS/RHEL 8/7, va trebui să activați depozitul EPEL pentru a instala axel:
# yum install epel-release # yum install axel
În Fedora, este disponibil din depozitele implicite.
# yum install axel # dnf install axel [On Fedora 23+ releases]
În Debian și derivate precum Ubuntu și Linux Mint, puteți instala axel direct cu aptitude<:
# aptitude install axel
Pe Arch Linux și distribuțiile aferente, cum ar fi Manjaro Linux și OpenSUSE Linux, puteți instala axel direct cu:
$ sudo pacman -S axel [On Arch/Manjaro] $ sudo zypper install axel [On OpenSUSE]
Odată ce axul este instalat, să ne scufundăm cu ambele picioare.
Configurarea Axel – Linux Download Accelerator
Puteți configura axel folosind /etc/axelrc și puteți transmite alte opțiuni dorite în linia de comandă când îl invocați. Fișierul de configurare este bine documentat, dar vom analiza cele mai utile opțiuni aici:
reconnect_delay
este numărul de secunde pe care Axel le va aștepta înainte de a încerca din nou să pornească o nouă conexiune la server.
max_speed
se explică de la sine. Valoarea este dată în octeți pe secundă (B/s). Poate doriți să setați această variabilă la o valoare adecvată după ce luați în considerare lățimea de bandă disponibilă. Acest lucru vă va ajuta să împiedicați axel să consume o mare parte din lățimea de bandă în timp ce se descarcă.
Important: rețineți că rata maximă reală de descărcare va depinde de conexiunea dvs. la internet – este de la sine înțeles că setarea max_speed
la 5 MB/s nu va face nimic dacă conexiunea dvs. la internet atinge maximul de 1,22 MB/s (cum a fost în cazul meu, așa cum veți vedea în exemplele de mai jos - Tocmai am lăsat acea valoare ca să explic).
num_connections
este numărul maxim de conexiuni pe care axel va încerca să le pornească. Valoarea recomandată (4) este suficientă pentru majoritatea cazurilor și este dată în mare parte din motive de respect pentru alți utilizatori FTP. Vă rugăm să rețineți că este posibil ca unele servere să nu permită conexiuni multiple.
connection_timeout
indică numărul de secunde în care axel va aștepta să primească un răspuns înainte de a încerca să anuleze și să-l reia automat.
http_proxy
vă permite să setați un server proxy în cazul în care variabila de mediu HTTP_PROXY nu a fost setată la nivelul întregului sistem. Această variabilă folosește același format ca HTTP_PROXY (http://:PORT).
no_proxy
este o listă de domenii locale, separate prin virgule, la care axel nu ar trebui să încerce să ajungă printr-un proxy. Această setare este opțională.
buffer_size
reprezintă cantitatea maximă, în octeți, de citit din toate conexiunile curente simultan.
verbose
vă permite să alegeți dacă mesajele legate de descărcare vor fi tipărite pe ecran. Setați acest lucru la 0 dacă doriți să îl dezactivați sau la 1 dacă doriți să vedeți în continuare mesajele.
interfețe
vă permite să enumerați interfețele de rețea care au acces la Internet, dacă aveți mai multe. Dacă acest lucru nu este setat în mod explicit, axel va folosi prima interfață din tabelul de rutare.
Opțiuni de configurare similare sunt disponibile de la:
# axel --help
Dacă te uiți cu atenție, vei realiza că majoritatea opțiunilor din linia de comandă seamănă cu cele din fișierul de configurare. În plus, opțiunea -o
(–output) vă permite să specificați un nume de fișier de ieșire.
Dacă este utilizat, va suprascrie numele fișierului sursă. Dacă setați oricare dintre opțiunile din linia de comandă, acestea le vor înlocui pe cele setate în fișierul de configurare.
Cum să utilizați Axel pentru a descărca fișiere mai rapid în Linux
Vom folosi următoarele setări din fișierul de configurare (decomentați liniile corespunzătoare):
reconnect_delay = 20 max_speed = 500000 num_connections = 4 connection_timeout = 30 buffer_size = 10240 verbose = 1
Vom compara acum timpii de descărcare de la linkurile HTTP și FTP folosind wget și axel. Puteți alege orice fișier de orice dimensiune, dar pentru simplitate, vom descărca fișiere de 100 MB disponibile de la:
- ftp://speedtest:[email /test100Mb.db
- http://speedtest.ftp.otenet.gr/files/test100Mb.db
Comparați timpii de descărcare FTP și Axel
# wget ftp://speedtest:/test100Mb.db
# axel -n 10 --output=axel-test100Mb.db ftp://speedtest:/test100Mb.db
Comparați timpii de descărcare HTTP și Axel
# wget http://speedtest.ftp.otenet.gr/files/test100Mb.db
# axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db
După cum puteți vedea în rezultatele testelor pe care le-am efectuat mai sus, axel poate accelera o descărcare FTP sau HTTP în mod semnificativ.
rezumat
În acest articol, am explicat cum să utilizați axel, un accelerator de descărcare FTP/HTTP și am arătat cum funcționează mai rapid decât alte programe, cum ar fi wget, deoarece este capabil să deschide mai multe conexiuni simultane la servere la distanță.
Sperăm că ceea ce am arătat aici vă motivează să încercați Axel. Simțiți-vă liber să ne anunțați dacă aveți întrebări sau comentarii despre acest articol folosind formularul de mai jos. Așteptăm întotdeauna cu nerăbdare să primim feedback de la cititorii noștri.