URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 38326
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Ускоряем загрузку больших файлов из интернета."

Отправлено auto_tips , 04-Сен-07 18:36 
Задача - скачать ISO образ линукса за короткое время.
Самое простое это:
   wget ftp://ftp.rediris.es/sites/releases.ubuntu.com/releases/feis...

Но на зеркалах стоят лимиты на ширину канала для каждого подключения,
а так как нам важно время, мы будем использовать несколько зеркал одноврменно.

В первую очередь устанавливаем программу CURL:

   sudo  apt-get install curl

Далее, ISO образ имеет объём 700Мб. Мысленно режем его на несколько частей по 100Мб и выбираем 4 зеркала с этим образом.

создаём файл ubuntu.sh:

   vim ubuntu.sh

в него вписываем:

   #!/bin/sh

   url1=http://ubuntu.intergenia.de/releases/feisty/ubuntu-7.04-desk...
   url2=http://ubuntu.virginmedia.com/releases/7.04/ubuntu-7.04-desk...
   url3=http://es.releases.ubuntu.com/7.04/ubuntu-7.04-desktop-i386.iso
   url4=http://ftp-mirror.internap.com/pub/ubuntu-releases/7.04/ubun...

   curl --range 0-199999999 -o ubuntu-iso.part1 $url1 &
   curl --range 200000000-399999999 -o ubuntu-iso.part2 $url2 &
   curl --range 400000000-599999999 -o ubuntu-iso.part3 $url3 &
   curl --range 600000000- -o ubuntu-iso.part4 $url4 &

url1, url2, url3, url4 - переменные содержащие в себе ссылки на iso образ на разных зеркалах.

аргумен --range указывает с какого по какой байт надо скачать. --range 600000000- указывает что надо скачать
начиная с 600000000 и до конца.
ubuntu-iso.part1 и т.д. - названия файлов под которыми будут сохранены скачанные части iso образа


делаем скрипт исполняемым:

$chmod u+x ubuntu.sh

и запускаем его:

$./ubuntu.sh

в конечном итоге получаем 4 файла:

ubuntu-iso.part1 ubuntu-iso.part2 ubuntu-iso.part3 ubuntu-iso.part4


склеиваем их в один iso образ:

cat ubuntu-iso.part? > ubuntu-7.04-desktop-i386.iso

Получили готовый образ системы за относительно короткое время.

URL: http://openkazan.info/node/207
Обсуждается: https://www.opennet.ru/tips/info/1453.shtml


Содержание

Сообщения в этом обсуждении
"Ускоряем загрузку больших файлов из интернета."
Отправлено switch , 04-Сен-07 18:36 
Так, а в чем скорость, если стоит ограничение на сервере по скорости для хоста. То ты будет лить файлик со скорость 100Кб, одним потомком, что 4 потока по 25Кб.

Ну а так параметры CURL для кругозора расширил, спасибо.


"Ускоряем загрузку больших файлов из интернета."
Отправлено АН , 04-Сен-07 18:57 
тут льют с 4 зеркал

"Ускоряем загрузку больших файлов из интернета."
Отправлено anonymous , 04-Сен-07 19:39 
Есть программа "axel" (http://wilmer.gaast.net/main.php/axel.html), делает тоже самое, только без лишней восни.

"Ускоряем загрузку больших файлов из интернета."
Отправлено Alexander Sheiko , 05-Сен-07 05:14 
Поохоже в мире юникс открыли многопоточную закачку с зеркал :).

Если же серьёзно - нет никакого смысла так извращаться в виду наличия кучи многопоточных даунлоад клиентов, позволяющих выбирать зеркала.

Кроме того - в статье ошибка в операции склеивания. Это только для первого файла хватит одной угловой скобки:

cat ubuntu-iso.part? > ubuntu-7.04-desktop-i386.iso


"Ускоряем загрузку больших файлов из интернета."
Отправлено sn , 05-Сен-07 08:58 
Нету ошибки.
cat ubuntu-iso.part? Развернётся оболочкой в cat ubuntu-iso.part1 ubuntu-iso.part2 ubuntu-iso.part3 ubuntu-iso.part4

"Ускоряем загрузку больших файлов из интернета."
Отправлено sn , 05-Сен-07 09:04 
То же самое можно сделать с помощью wget, воспользовавшись ключом --header="Range: bytes=200000000-399999999"

"Ускоряем загрузку больших файлов из интернета."
Отправлено anonim , 05-Сен-07 12:04 
а вот за расширение кругозора о wget действительно спасибо, в винде адреса зеркал берутся прямо ссервера если я не ошибаюсь, что из линуховских клиентов может также?

"Ускоряем загрузку больших файлов из интернета."
Отправлено VinilNavigator , 05-Сен-07 13:25 
Не берутся они в винде ни с какого сервера, если ты имеешь ввиду всякие флэшгеты и регеты, то они качают с одного зеркала в несколько потоков. Еще есть автоматический поиск зеркал через поисковики в таких менеджерах, но у меня он ни разу не находил ничего из того что я качал и ни разу не учавствовал в скачивании.

"Ускоряем загрузку больших файлов из интернета."
Отправлено Alexander Sheiko , 05-Сен-07 13:53 
>Не берутся они в винде ни с какого сервера, если ты имеешь
>ввиду всякие флэшгеты и регеты, то они качают с одного зеркала
>в несколько потоков. Еще есть автоматический поиск зеркал через поисковики в
>таких менеджерах, но у меня он ни разу не находил ничего
>из того что я качал и ни разу не учавствовал в
>скачивании.

Многие позволяют задать зеркала вручную.


"Ускоряем загрузку больших файлов из интернета."
Отправлено anonim , 05-Сен-07 14:37 
в корневиках иногда валяются файлы mirrors 20kb трафика проверить их наличие, не больше чем нужно чтобы проверить наличие свежей версии той же флэшгет, что сложно прикрутить эту проверку при скачивании >20М

"Ускоряем загрузку больших файлов из интернета."
Отправлено anonymous , 05-Сен-07 21:48 
люди,
простите за глупый вопрос,
но есть ли какие теоретические основы закачки файлов?
интересует, в первую очередь ефективность прикладных протоколов для транспортировки файлов

"Ускоряем загрузку больших файлов из интернета."
Отправлено Аноним , 05-Сен-07 23:39 
А может заменить протокол http на более подходящий в данной ситуации bittorrent?
Он и "зеркала" сам поищет, и за целостностью файла проследит.

PS: А ещё есть aria2 которая делает тоже что твой скрипт, только без скрипта и 1 программой ;)


"Ускоряем загрузку больших файлов из интернета."
Отправлено av5 , 06-Сен-07 08:32 
Нахрена это все?
поставил на закачку и занимайся другим.

"Ускоряем загрузку больших файлов из интернета."
Отправлено cmp , 07-Сен-07 05:07 
Когда тянешь ISO по диалапу - другим значит уйти в запой на месяц

"Ускоряем загрузку больших файлов из интернета."
Отправлено av5 , 07-Сен-07 05:20 
а чем загрузка с многих мест поможет диалапу?

"Ускоряем загрузку больших файлов из интернета."
Отправлено Аноним , 07-Сен-07 06:30 
дайоапу уже ничем не поможешь... как и его владельцу.

"Ускоряем загрузку больших файлов из интернета."
Отправлено Z3 , 13-Сен-07 01:57 
FYI: банальным битторентом убунта с официальной раздачи качается на 5-мбитном канале прогружая канал в сторону даунлоада на 100% - куда уж быстрее??И до кучи еще и целостность файла торент качественно проверяет, поблочно.Даунлоады гарантировано не битые.

"Ускоряем загрузку больших файлов из интернета."
Отправлено sneer , 13-Сен-07 15:48 
да кста убунту как-то качал вгетом а там как-раз тока исо выложили долго тянуло сипец а как скачал файл битый оказался

"Ускоряем загрузку больших файлов из интернета."
Отправлено Аноним , 21-Сен-07 00:15 
Debian и Ubuntu имеют штатную механизьму закачки с проверкой - jigdo. Штатную - потому что они .jigdo и .template файлы для каждого релиза выкладывают. И рекомендуют они именно через jigdo качать.

"Ускоряем загрузку больших файлов из интернета."
Отправлено wombat , 24-Сен-07 01:30 
спасибо! познавательно

"Ускоряем загрузку больших файлов из интернета."
Отправлено Ajaja , 05-Окт-07 01:59 
После того как Reget мне пару закачек запорол я и в винде перешел на Curl ;) Лучше немного повозиться с curl --range ... и copy /b ..., чем перезакачивать потом сотни мегабайт.