aria2 (Русский)

From ArchWiki

Состояние перевода: На этой странице представлен перевод статьи Aria2. Дата последней синхронизации: 7 декабря 2017. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

С домашней страницы проекта:

aria2 - это легкая мультипротокольная и многопоточная консольная утилита загрузки. Она поддерживает HTTP/HTTPS, FTP, BitTorrent и Metalink. aria2 можно управлять с помощью встроенных интерфейсов JSON-RPC и XML-RPC.

Установка

Установите aria2 из официальных репозиториев.

Также можете поставить aria2-systemd для использования aria2 в качестве демона.

Примечание: Для запуска пакета aria2 используется команда aria2c. Данное наименование было сохранено для обратной совместимости.

Настройка

aria2.conf

aria2 использует файл $XDG_CONFIG_HOME/aria2/aria2.conf для установки глобальных параметров по умолчанию. Это поведение может быть изменено переключателем --conf-path:

  • Скачайте aria2.example.rar используя параметры, указанные в файле настроек /file/aria2.rapidshare
$ aria2c --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar

Если существует $XDG_CONFIG_HOME/aria2/aria2.conf и параметры, указанные в /file/aria2.rapidshare нужны, то переключатель --no-conf должен быть добавлен к команде:

  • Не использовать файл настроек по умолчанию и скачать aria2.example.rar, используя параметры, указанные в файле настроек /file/aria2.rapidshare
$ aria2c --no-conf --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar

Если $XDG_CONFIG_HOME/aria2/aria2.conf пока не существует, и вы хотите упростить управление параметрами настроек:

$ touch $XDG_CONFIG_HOME/aria2/aria2.conf

Пример aria2.conf

continue
dir=${HOME}/Desktop
file-allocation=none
input-file=${HOME}/.aria2/input.conf
log-level=warn
max-connection-per-server=4
min-split-size=5M
on-download-complete=exit

Это по существу тоже самое, что и при выполнении:

$ aria2c dir=${HOME}/Desktop file-allocation=none input-file=${HOME}/.aria2/input.conf on-download-complete=exit log-level=warn FILE
Примечание: Пример файла aria2.conf, приведенный выше, может неверно использовать переменную $HOME. Некоторые пользователи сообщали о том, что использование фигурных скобок приводит к созданию отдельной поддиректории ${HOME} в рабочем каталоге aria2. Такую директорию может быть сложно обработать, так как bash будет принимать ее за переменную окружения $HOME. В текущий момент рекомендуется использовать абсолютные пути в aria2.conf.

Детали опций

continue
Продолжить загрузку частично загруженного файла, если существует соответствующий файл управления.
dir=${HOME}/Desktop
Каталог для сохранения загруженных файлов ~/Desktop.
file-allocation=none
Указать метод резервирования места для файла. none - не происходит предварительное резервирование места для файла. prealloc - предварительное резервирование места для файла перед началом загрузки. (По умолчанию: prealloc) 1
input-file=${HOME}/.aria2/input.conf
Скачать список построчно, или разделённых TAB'ом URI, найденных в ./aria2/input.conf
log-level=warn
Задать уровень вывода событий на консоль. warn - только для вывода предупреждений и ошибок (По умолчанию: debug)
max-connection-per-server=4
Максимально количество соединений (4) с одним сервером для каждой загрузки. (По умолчанию: 1)
min-split-size=5M
Разбить файл, только если размер больше, чем 2*5MB = 10MB. (По умолчанию: 20M)
on-download-complete=exit
Выполнить команду exit и выйти из оболочки, когда сессия загрузки завершена.
Пример входного файла #1
  • Загрузка aria2-1.10.0.tar.bz2 из двух отдельных источников, до соединения в ~/Desktop aria2-1.10.0.tar.bz2
http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2    http://sourceforge.net/projects/aria2/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2
Пример входного файла #2
  • Загрузить aria2-1.9.5.tar.bz2 и сохранить в /file/old как aria2.old.tar.bz2 &
  • Загрузить aria2-1.10.0.tar.bz2 и сохранить в ~/Desktop как aria2.new.tar.bz2
http://aria2.net/files/stable/aria2-1.9.5/aria2-1.9.5.tar.bz2
  dir=/file/old
  out=aria2.old.tar.bz2
http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2
  out=aria2.new.tar.bz2

Дополнительные замечания

1 --file-allocation=falloc
Рекомендуется для новых файловых систем, таких как ext4 (с поддержкой экстентов), btrfs или xfs, потому что он выделяет большие файлы (ГБ) практически мгновенно. Не используйте falloc с устаревшими файловыми системами, такими как ext3, так как prealloc потребляет примерно такое же количество времени как и стандартное распределение, возможна блокировка процессов загрузки aria2.
Совет: Для ознакомления с полным перечнем опций настройки смотрите aria2c --help=#all и страницу документации aria2.

Пример aria2.rapidshare

http-user=USER_NAME
http-passwd=PASSWORD
allow-overwrite=true
dir=/file/Downloads
file-allocation=falloc
enable-http-pipelining=true
input-file=/file/input.rapidshare
log-level=error
max-connection-per-server=2
summary-interval=120

Описание опций

http-user=USER_NAME
Устанавливает HTTP имя пользователя как USER_NAME для входа в систему защищённую паролем. Это влияет на все URIs.
http-passwd=PASSWORD
Устанавливает HTTP Пароль как PASSWORD для входа в систему защищённую паролем. Это влияет на все URIs.
allow-overwrite=true
Удалять контрольный файл перед загрузкой. При использовании с --allow-overwrite=true файл всегда загружается с нуля. Это может понадобиться пользователям за прокси-сервером, который блокирует возобновление загрузки. (По умолчанию: false)
dir=/file/Downloads
Загружать файл(ы) в /file/Downloads.
file-allocation=falloc
Указать метод резервирования места для файла posix_fallocate(3). (По умолчанию: prealloc)
enable-http-pipelining=true
Включить HTTP/1.1 конвейерную обработку чтобы преодолеть задержки в сети и уменьшить нагрузку на сеть. (По умолчанию: false)
input-file=/file/input.rapidshare
Загрузить URI, перечисленные в файле input.rapidshare. Вы можете указать различные источники для одного объекта, перечислив различные URI в строке, разделенных символом TAB (табуляция). Дополнительные параметры можно указывать после каждой URI-строки. Cтроки параметров должны начинаться с одного или нескольких пробелов (SPACE или TAB) и содержать один параметр на строку. /file/input.rapidshare
log-level=error
Задать уровень вывода журнала событий.В данном случае вывод только ошибок. (По умолчанию: debug)
max-connection-per-server=2
Максимально количество соединений с одним сервером для каждой загрузки 2. (По умолчанию: 1)
summary-interval=120
Задать интервал в секундах (120) до вывода сообщения о прогрессе загрузки. Установка 0 запрещает вывод. (По умолчанию: 60) 3

Дополнительные замечания

  • Так как файл aria2.rapidshare содержит имя пользователя и пароль, рекомендуется установить права на файл 600, или аналогичные.
$ cd /file
$ chmod 600 /file/aria2.rapidshare
$ ls -l
total 128M
-rw------- 1 arch users  167 Aug 20 00:00 aria2.rapidshare
3 summary-interval=0
Подавляет ход процесса загрузки и может улучшить общую производительность. Журнал будет продолжать выводиться в соответствии со значениями, указанными в опции журнала уровней log-level.
Совет: Пример файла настройки также может быть применён к Hotfile, DepositFiles, и т.д. и т.п.
Примечание: Параметры командной строки всегда имеют преимущество перед параметрами, перечисленных в файле настроек.

Пример aria2.bittorrent

bt-seed-unverified
max-overall-upload-limit=1M
max-upload-limit=128K
seed-ratio=5.0
seed-time=240

Описание опций

bt-seed-unverified=false
Не проверять хеш файла (ов), перед раздачей. (По умолчанию: true)
max-overall-upload-limit=1M
Установить максимальную скорость загрузки в 1MB/сек. (По умолчанию: 0)
max-upload-limit=128K
Задать максимальную скорость отдачи каждого узла торрента в 128K/сек. (По умолчанию: 0)
seed-ratio=5.0
Указать рейтинг. Сидировать завершенные торренты, пока рейтинг не станет больше 5.0. (По умолчанию: 1.0)
seed-time=240
Указать время сидирования (раздачи) 240 минут.
Примечание: Если оба seed-ratio и seed-time указаны, сидирование заканчивается, когда по крайней мере одно из условий выполнено.

Пример aria2.daemon

Эта настройка может быть использована для запуска Aria2 в качестве службы. Также может использоваться в сочетании с несколькими интерфейсами, перечисленными ниже. Обратите внимание, что RPC-пользователя и rpc-pass устарели, но большинство интерфейсов не были ещё портированы на новую аутентификацию. Не забудьте изменить пароль пользователя, и каталог Загрузки.

continue
daemon=true
dir=/home/aria2/Downloads
file-allocation=falloc
log-level=warn
max-connection-per-server=4
max-concurrent-downloads=3
max-overall-download-limit=0
min-split-size=5M
enable-http-pipelining=true

enable-rpc=true
rpc-listen-all=true
rpc-user=rpcuser
rpc-passwd=rpcpass

Интерфейс

Примечание: Настройки осуществляемые во фронтэндах не влияют на собственные настройки aria2, и неясно, повторяют ли различные интерфейсы настройку aria2, если обычная была сделана. Пользователи должны гарантировать, что их желаемые параметры эффективно реализуется в рамках отдельных утилит, и что они хранятся постоянно (Uget, например, имеет командную строку своего собственного aria2, который сохраняется после перезагрузки)

Веб-интерфейсы

Примечание: Для работы этих фронтэндов, aria2c нужно запускать с --enable-rpc. Они предназначены для работы на локальном компьютере, а не на удаленном сервере, используя aria для загрузок.
  • Webui — Html фронтэнд для aria2.
https://github.com/ziahamza/webui-aria2 || webui-aria2-gitAUR
  • aria2rpc — Инструмент командной строки для подключения к удаленному экземпляру aria2c. Если aria2c установлена его можно найти в /usr/share/doc/aria2/xmlrpc/aria2rpc.
https://github.com/tatsuhiro-t/aria2/blob/master/doc/xmlrpc/aria2rpc || aria2

Другие интерфейсы

Примечание: Эти фронтэнды не нужны aria2c для запуска с функцией --enable-rpc.
  • aria2fe — Графический интерфейс CLI-based утилиты загрузок aria2.
https://sourceforge.net/projects/aria2fe/ || aria2feAUR
  • Diana — Инструмент командной строки для aria2
https://github.com/baskerville/diana || diana-gitAUR
  • uGet — Многофункциональный, многопоточный, с поддержкой докачки GTK+/CLI менеджер загрузок, который может использовать aria2 как бэкэнд, встроенный плагин.
https://ugetdm.com || uget

Советы и рекомендации

Скачать пакеты без установки

Просто воспользуйтесь командой, приведенной ниже:

 # pacman -Sp packages | aria2c -i -

pacman -Sp покажет список адресов пакетов в стандартном выводе (stdout) вместо того, чтобы загрузить, затем | передаст их для следующей команды. И, наконец -i в aria2c -i - скажет aria2c, что URL-адреса для скачиваемых файлов должны быть считаны из указанного файла, но так как добавлен -, значит URL-адреса нужно брать из стандартного ввода (stdin).

pacman XferCommand

Смотрите pacman/Советы и приёмы#aria2.

Изменение User Agent

Некоторые сайты могут фильтровать запросы на основе вашего User Agent, поскольку Aria2 малоизвестный загрузчик, может оказаться полезным изменить User Agent, представляясь известным загрузчиком или браузером. Просто используйте опцию -U, как здесь:

$ aria2c -UWget http://some-url-to-download/file.xyz

Вы можете использовать все, что пожелаете, например -UMozilla/5.0 и т.д.

Использование Aria2 с makepkg

Вы можете использовать Aria2 (Русский) вместо curl для скачивания файлов-исходников, просто измените переменную DLAGENTS следующим образом:

/etc/makepkg.conf
[...]
DLAGENTS=('ftp::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o'
          'http::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o'
          'https::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o'
          'rsync::/usr/bin/rsync --no-motd -z %u %o'
          'scp::/usr/bin/scp -C %u %o')
[...]
Примечание: Используйте параметр -UWget для изменения пользовательского агента на Wget. Это может предотвратить проблемы при загрузке с сайтов, которые фильтрует запросы, основанные на агенте пользователя (user agent), чтобы избежать проблемы доступа к URL-адресу. Поскольку Aria2 малоизвестный загрузчик, он может быть ошибочно распознан как браузер. Изменение пользовательского агента на Wget может решить большинство проблем.

Смотрите также