Я только что обновил свое компьютерное оборудование (cpu + материнская плата + графическая карта + память + жесткий диск), чтобы установить новую ОС. Я попытался загрузить debian-6.0.6-amd64-netinst.iso с помощью команды wget, но скорость настолько медленная, что я не мог вынести. 4Kb/s ~ 17 Kb/s, медленный, как черепаха, или еще медленнее, если я использую Chrome.
Я прочитал справочную информацию wget , кажется, что есть никакие опции не могли бы сделать это быстрее.
Есть ли способ сделать wget быстрее? Или можно сделать многопоточную загрузку?
PS: моя пропускная способность 4M. Я использую эту команду:
wget -c url http://hammurabi.acc.umu.se/debian-cd/6.0.6/amd64/iso-cd/debian-6.0.6-amd64-netinst.iso
Я попробовал axel по рекомендации Гуфрана, но он меня очень огорчил. Моя цель состояла в том, чтобы найти замену CLI для DownThemAll, потому что он запускает процессор и жесткий диск и замедляет работу всей системы даже на 8-ядерном Mac Pro. Я также хотел многопоточную замену для wget и curl, а не некоторый клочок скрипта, который запускает несколько экземпляров из них. Поэтому я искал дальше и нашел то, что, как я думаю, сейчас является самым современным многопоточным загрузчиком CLI, есть - aria2. Большая проблема, с которой я столкнулась с axel, заключалась в том, что она «подделала» загрузку файлов через SSL. Я поймал это, сделав это с помощью tcdump. Он загружал ссылки https как обычные http. Это действительно разозлило меня, и если бы я не проверил, у меня было бы ложное чувство безопасности. Я сомневаюсь, что многие люди знают об этом серьезном нарушении безопасности. Возвращаясь к aria2, он более продвинут, чем любой другой загрузчик. Он поддерживает протоколы HTTP (S), FTP, BitTorrent и Metalink, является мультиплатформенным и является партизанским загрузчиком. Он максимизирует пропускную способность моего ISP без нагрузки на процессор или жесткий диск, в отличие от DTA. Страница руководства гигантская. Я никогда не буду использовать больше, чем несколько из его многочисленных вариантов. И о, BTW, я проверил его производительность SSL с tcdump, и он прочен, а не подделка. Я написал сценарий, который имитирует поведение DTA, если не его удобство.
Основная команда, которую я использую для получения максимальной пропускной способности, -
aria2c --file-allocation=none -c -x 10 -s 10 -d "mydir" URL
-c, позволяет продолжить загрузку, если она прерывается, -x 10 и -s 10 позволяют до 10 подключений на сервер, а -d "mydir" выводит файл в каталог mydir.
aria2files.sh:
#!/bin/bash
filename="$1" # get filename from command line argument
while read -r line
do
if [ "$line" ] # skip blank lines
then
if [[ "$line" =~ (https?|ftp)\:\/\/ ]] # line contains a URL, download file
then
echo "URL: '$line'"
aria2c --file-allocation=none -c -x 10 -s 10 -d "$currdir" "$line"
else # line contains a directory name, create directory if not already present
echo "Directory: '$line'"
currdir="$line"
if [ ! -d "$currdir" ]
then
mkdir -p "$currdir" # '-p' enables creation of nested directories in one command
fi
fi
fi
done < "$filename"
[d6 ] Он читает текстовый файл формата: files.txt:
dierctory 1
url1
url2
…
directory 2/subdirectory/sub-subdirectory/…
url3
url4
…
…
…
Сценарий читает имя файла из командной строки:
aria2files.sh files.txt
[d9 ] Он создает каталоги и загружает их. Он может создавать вложенные каталоги, как показано во втором примере. Подробнее см. Мой пост aria2 .