The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Ускоряем загрузку больших файлов из интернета.
Задача - скачать ISO образ линукса за короткое время. 
Самое простое это:
   wget ftp://ftp.rediris.es/sites/releases.ubuntu.com/releases/feisty/ubuntu-7.04-desktop-i386.iso

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

В первую очередь устанавливаем программу 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-desktop-i386.iso
   url2=http://ubuntu.virginmedia.com/releases/7.04/ubuntu-7.04-desktop-i386.iso
   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/ubuntu-7.04-desktop-i386.iso

   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

Получили готовый образ системы за относительно короткое время.
 
04.09.2007 , Автор: openkazan.info , Источник: http://openkazan.info/node/207...
Ключи: curl, wget, download, speed / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Работа с Web и Ftp

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, switch, 18:36, 04/09/2007 [ответить] [смотреть все]
  • +/
    Так, а в чем скорость, если стоит ограничение на сервере по скорости для хоста. То ты будет лить файлик со скорость 100Кб, одним потомком, что 4 потока по 25Кб.

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

     
     
  • 2.2, АН, 18:57, 04/09/2007 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    тут льют с 4 зеркал
     
  • 1.3, anonymous, 19:39, 04/09/2007 [ответить] [смотреть все]
  • +/
    Есть программа "axel" (http://wilmer.gaast.net/main.php/axel.html), делает тоже самое, только без лишней восни.
     
  • 1.4, Alexander Sheiko, 05:14, 05/09/2007 [ответить] [смотреть все]
  • +/
    Поохоже в мире юникс открыли многопоточную закачку с зеркал :).

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

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

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

     
     
  • 2.5, sn, 08:58, 05/09/2007 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Нету ошибки cat ubuntu-iso part Развернётся оболочкой в cat ubuntu-iso part1 u... весь текст скрыт [показать] [показать ветку]
     
  • 1.6, sn, 09:04, 05/09/2007 [ответить] [смотреть все]  
  • +/
    То же самое можно сделать с помощью wget, воспользовавшись ключом --header="Range: bytes=200000000-399999999"
     
  • 1.7, anonim, 12:04, 05/09/2007 [ответить] [смотреть все]  
  • +/
    а вот за расширение кругозора о wget действительно спасибо, в винде адреса зеркал берутся прямо ссервера если я не ошибаюсь, что из линуховских клиентов может также?
     
  • 1.8, VinilNavigator, 13:25, 05/09/2007 [ответить] [смотреть все]  
  • +/
    Не берутся они в винде ни с какого сервера, если ты имеешь ввиду всякие флэшгеты и регеты, то они качают с одного зеркала в несколько потоков. Еще есть автоматический поиск зеркал через поисковики в таких менеджерах, но у меня он ни разу не находил ничего из того что я качал и ни разу не учавствовал в скачивании.
     
     
  • 2.9, Alexander Sheiko, 13:53, 05/09/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Многие позволяют задать зеркала вручную ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.10, anonim, 14:37, 05/09/2007 [^] [ответить] [смотреть все]  
  • +/
    в корневиках иногда валяются файлы mirrors 20kb трафика проверить их наличие, не... весь текст скрыт [показать]
     
  • 1.11, anonymous, 21:48, 05/09/2007 [ответить] [смотреть все]  
  • +/
    люди,
    простите за глупый вопрос,
    но есть ли какие теоретические основы закачки файлов?
    интересует, в первую очередь ефективность прикладных протоколов для транспортировки файлов
     
  • 1.12, Аноним, 23:39, 05/09/2007 [ответить] [смотреть все]  
  • +/
    А может заменить протокол http на более подходящий в данной ситуации bittorrent ... весь текст скрыт [показать]
     
  • 1.13, av5, 08:32, 06/09/2007 [ответить] [смотреть все]  
  • +/
    Нахрена это все?
    поставил на закачку и занимайся другим.
     
  • 1.15, cmp, 05:07, 07/09/2007 [ответить] [смотреть все]  
  • +/
    Когда тянешь ISO по диалапу - другим значит уйти в запой на месяц
     
     
  • 2.16, av5, 05:20, 07/09/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    а чем загрузка с многих мест поможет диалапу?
     
     
  • 3.17, Аноним, 06:30, 07/09/2007 [^] [ответить] [смотреть все]  
  • +/
    дайоапу уже ничем не поможешь... как и его владельцу.
     
  • 1.18, Z3, 01:57, 13/09/2007 [ответить] [смотреть все]  
  • +/
    FYI: банальным битторентом убунта с официальной раздачи качается на 5-мбитном канале прогружая канал в сторону даунлоада на 100% - куда уж быстрее??И до кучи еще и целостность файла торент качественно проверяет, поблочно.Даунлоады гарантировано не битые.
     
  • 1.19, sneer, 15:48, 13/09/2007 [ответить] [смотреть все]  
  • +/
    да кста убунту как-то качал вгетом а там как-раз тока исо выложили долго тянуло сипец а как скачал файл битый оказался
     
  • 1.20, Аноним, 00:15, 21/09/2007 [ответить] [смотреть все]  
  • +/
    Debian и Ubuntu имеют штатную механизьму закачки с проверкой - jigdo Штатную - ... весь текст скрыт [показать]
     
  • 1.21, wombat, 01:30, 24/09/2007 [ответить] [смотреть все]  
  • +/
    спасибо! познавательно
     
  • 1.22, Ajaja, 01:59, 05/10/2007 [ответить] [смотреть все]  
  • +/
    После того как Reget мне пару закачек запорол я и в винде перешел на Curl ;) Лучше немного повозиться с curl --range ... и copy /b ..., чем перезакачивать потом сотни мегабайт.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor