Если вы тот человек, который любит загружать и пробовать несколько дистрибутивов Linux, мы уверены, что вы с открытыми объятиями приветствуете ускоритель загрузки, который говорит то, что обещает – один, который делает то, что указано в его описании.
В этом руководстве мы познакомим вас с Axel, легким клоном wget, который не имеет зависимостей (кроме gcc и makeutils).

Хотя в его описании указано, что он особенно подходит для систем, где важна каждая байт, axel можно установить в любом месте и использовать не только для одновременной загрузки нескольких файлов по ссылкам HTTP/FTP, но и для увеличения скорости загрузки.
Установка Axel, командной строки для ускорения загрузки в Linux Как мы уже упоминали ранее, axel – это не просто еще один инструмент для загрузки. Он ускоряет загрузку по протоколу HTTP и FTP , используя несколько соединений для получения файлов с сервера и также может быть настроен на использование нескольких зеркал.
Как мы упоминали ранее, аксель – это не просто еще одна программа для загрузки файлов. Он ускоряет HTTP и FTP загрузки, используя несколько соединений для получения файлов с указанного места и также может быть настроен для использования нескольких зеркал.
Если этого было недостаточно, чтобы заинтересовать вас в испытании его, давайте добавим, что аксель поддерживает автоматическое прерывание и возобновление соединений, которые не отвечают или не возвращают данные после определенного периода времени.
Кроме того, если у вас есть разрешение на это, вы можете использовать аксель для открытия нескольких одновременных FTP-соединений с сервером для умножения выделенной полосы пропускания на соединение.
Если вы не имеете права на это или не уверены в этом, вы можете вместо этого открыть несколько соединений с разными серверами и загружать с них всех одновременно.
Последнее, но не менее важное, аксель отличается от других ускорителей загрузки Linux тем, что он помещает все данные в один файл во время загрузки, а не записывает данные в отдельные файлы и объединяет их на более позднем этапе.
В CentOS/RHEL 8/7, вам нужно будет включить репозиторий EPEL для установки акселя:
# yum install epel-release # yum install axel
В Fedora он доступен из стандартных репозиториев.
# yum install axel # dnf install axel [On Fedora 23+ releases]
В Debian и производных продуктах, таких как Ubuntu и Linux Mint, вы можете установить axel напрямую с помощью aptitude:
# aptitude install axel
На Arch Linux и связанных дистрибутивах, таких как Manjaro Linux и OpenSUSE Linux, вы можете установить axel напрямую с помощью:
$ sudo pacman -S axel [On Arch/Manjaro] $ sudo zypper install axel [On OpenSUSE]
После установки axel давайте окунемся в нее с головой.
Настройка Axel – ускоритель загрузки Linux
Вы можете настроить axel с помощью /etc/axelrc и передать дополнительные желаемые опции в командной строке при его вызове. Конфигурационный файл хорошо документирован, но мы рассмотрим здесь наиболее полезные опции:
reconnect_delay
– это количество секунд, в течение которых axel будет ожидать перед тем, как снова попытаться установить новый соединение с сервером.
max_speed
– это самоочевидный параметр. Значение дается в байтах в секунду (B/s). Возможно, вам захочется установить эту переменную на соответствующее значение после рассмотрения вашего доступного пропускной способности. Это поможет вам предотвратить использование axel большого количества вашей пропускной способности во время загрузки.
Важно: Обратите внимание, что фактическая максимальная скорость загрузки будет зависеть от вашего интернет-соединения – само собой разумеется, что установка max_speed
на 5 МБ/с ничего не даст, если ваше интернет-соединение максимально может достигать 1,22 МБ/с (как это было в моем случае, как вы увидите в примерах ниже – я просто оставил это значение, чтобы сделать точку).
num_connections
определяет максимальное количество соединений, которые axel попытается запустить. Рекомендуемое значение (4) достаточно для большинства случаев и дано в основном из уважения к другим пользователям FTP. Обратите внимание, что некоторые серверы могут не разрешать множественные соединения.
connection_timeout
указывает количество секунд, в течение которых axel будет ожидать ответа, прежде чем попытаться прервать и возобновить его автоматически.
http_proxy
позволяет установить прокси-сервер в случае, если переменная окружения HTTP_PROXY не была установлена системно. Эта переменная использует тот же формат, что и HTTP_PROXY (http://:PORT).
no_proxy
представляет собой список локальных доменов, разделенных запятыми, которые axel не должен пытаться достичь через прокси. Этот параметр является необязательным.
buffer_size
представляет собой максимальное количество байтов, которое будет прочитано с текущих соединений одновременно.
verbose
позволяет выбрать, будут ли выводиться сообщения, связанные с загрузкой, на экран. Установите это значение на 0, если хотите отключить эту функцию, или на 1, если все же хотите видеть сообщения.
interfaces
позволяет перечислить сетевые интерфейсы, которые имеют доступ к Интернету, если у вас их больше одного. Если это не задано явно, axel будет использовать первый интерфейс в таблице маршрутизации.
Похожие параметры конфигурации доступны по следующим ссылкам:
# axel --help
Если вы внимательно посмотрите, вы поймете, что большинство опций командной строки похожи на те, что в конфигурационном файле. Кроме того, опция -o
(–output) позволяет указать имя выходного файла.
Если она используется, то переопределяет имя исходного файла. Если вы установите любую из опций командной строки, они переопределят те, что установлены в конфигурационном файле.
Как использовать Axel для быстрого скачивания файлов в Linux
Мы будем использовать следующие настройки из конфигурационного файла (раскомментируйте соответствующие строки):
reconnect_delay = 20 max_speed = 500000 num_connections = 4 connection_timeout = 30 buffer_size = 10240 verbose = 1

Теперь мы сравним время загрузки с HTTP и FTP ссылок с использованием wget и axel. Вы можете выбрать файл любого размера, но для простоты мы будем загружать 100 MB файлы, доступные по:
- ftp://speedtest:[email protected]/test100Mb.db
- http://speedtest.ftp.otenet.gr/files/test100Mb.db
Сравните время загрузки FTP и Axel
Загрузка FTP с wget (в среднем 459 КБ/с):
# wget ftp://speedtest:[email protected]/test100Mb.db

Загрузка FTP с axel (в среднем 1181,43 КБ/с):
# axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email protected]/test100Mb.db

Сравните время загрузки HTTP и Axel
Загрузка HTTP с wget (в среднем 482 КБ/с):
# wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

Загрузка HTTP с axel (в среднем 1178,93 КБ/с):
# axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Как видите в результатах тестов, которые мы провели выше, axel может значительно ускорить FTP или HTTP загрузку.
Итог
В этой статье мы объяснили, как использовать axel, ускоритель загрузки FTP/HTTP, и показали, что он работает быстрее, чем другие программы, такие как wget, потому что он может открывать несколько одновременных соединений с удаленными серверами.
Не пропустите: 5 самых популярных менеджеров загрузок для ваших Linux-систем
Не пропустите: 10 примеров команд Wget (загрузчика файлов Linux) в Linux
Мы надеемся, что то, что мы показали здесь, побудит вас попробовать axel. Не стесняйтесь обращаться к нам, если у вас есть какие-либо вопросы или комментарии по этой статье, используя форму ниже. Мы всегда рады получать отзывы от наших читателей.
Source:
https://www.tecmint.com/axel-commandline-download-accelerator-for-linux/