Использование jigdo
Теория
Jigdo это аббревиатура от Jigsaw Download. Домашняя страничка – http://atterer.net/jigdo. Там кстати много информации, а здесь представлена только step-by-step howto.
Jigdo предназначен для облегчения распространения по сети больших файлов. Например iso образов дисков.
Наиболее выгодным является использование jigdo вместе с локальным зеркалом. В этом случае jigdo будет докачивать только те файлы которых нехватает в зеркале.
-------------------------------------------------------------------
ISO Image: |xxxx| file-0 |xx| file-1 |xxx| file-2 |x| file-3 |xxxx|
-------------------------------------------------------------------
-----------------------------------------------------------------------------
.template: |xxxx| md5-0 |xx| md5-1 |xxx|cccccccc|x| md5-3 |xxxx|
-----------------------------------------------------------------------------
md5-0=http://somemirror.org/file-0
md5-1=http://somemirror.org/file-1
md5-2=http://somemirror.org/file-2
md5-3=http://somemirror.org/file-3
jigdo файлы содержат:
- инструкции как собрать iso образ, или любой другой большой файл.
- список файлов необходимый для создания образа.
Нужный нам скрипт jigdo-mirror находится в пакете jigdo-file. В этот пакет входят следующие программы:
jigdo-file - скрипт для создание файлов *.template и *.jigdo. jigdo-lite - интерактивный скрипт для сборки файлов jigdo-mirror - скрипт для создания iso образов на основе jigdo файлов.
Установка
aptitude install jigdo-file
Конфигурирование
jigdo-mirror это самодокументируемый скрипт. Его можно просмотреть:
shell> cat /usr/bin/jigdo-mirror
Переменные можно изменить в самом скрипте, но лучше создать конфигурационный файл:
shell> cat jigdo-config jigdoDir="/s0/storage/distr/debian-jigdo" imageDir="/s0/storage/distr/debian-testing" tmpDir="/tmp" debianMirror="file:/s0/storage/mirror/debian" nonusMirror="file:/s0/storage/mirror/debian" maxMissing=1000
- jigdoDir – каталог jigdo файлами (*.jigdo и *.template).
- imageDir – каталог где будут созданы iso образы.
- tmpDir – временный каталог куда будут скачиваться файлы составляющие iso образ.
- debianMirror – локальное зеркало где jigdo будет искать файлы, недостающие файлы будут скачены по сети.
- nonusMirror – локальное зеркало для non-us секции
- maxMissing – максимальное количество файлов отсутствующих в образе. Т.е. максимальное количество файлов которое мы будем скачивать по сети.
Web зеркало для недостающих файлов будет выбрано из sources.list.
Скачиваем нужные *.jigdo и *.template для каждого iso образа:
shell> wget -c ftp://cdimage.debian.org/cdimage/weekly-builds/i386/jigdo-dvd/*
И помещаем их в директорию, которая определена в нашем конфигурационном файле как jigdoDir:
e.g. /s0/storage/distr/debian-jigdo/
e.g:
shell> ls -lh total 56M -rw-r--r-- 1 root root 131K 2007-04-30 11:45 debian-testing-i386-DVD-1.jigdo -rw-r--r-- 1 root root 41M 2007-04-30 11:45 debian-testing-i386-DVD-1.template -rw-r--r-- 1 root root 140K 2007-04-30 11:47 debian-testing-i386-DVD-2.jigdo -rw-r--r-- 1 root root 4.6M 2007-04-30 11:47 debian-testing-i386-DVD-2.template -rw-r--r-- 1 root root 235K 2007-04-30 11:49 debian-testing-i386-DVD-3.jigdo -rw-r--r-- 1 root root 7.5M 2007-04-30 11:49 debian-testing-i386-DVD-3.template -rw-r--r-- 1 root root 69K 2007-04-30 11:50 debian-testing-i386-DVD-4.jigdo -rw-r--r-- 1 root root 2.1M 2007-04-30 11:50 debian-testing-i386-DVD-4.template -rw-r--r-- 1 root root 207 2006-09-02 14:59 jigdo-config -rw-r--r-- 1 root root 256 2007-04-30 11:50 MD5SUMS
Т.е. на текущий день все jigdo файлы для 4 dvd(lenny – testing) дисков занимают 56M.
Все. Теперь достаточно выполнить:
shell> jigdo-mirror jigdo-config
И через некоторое время забирать iso образы.
p.s.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418694Временным решением является, прописывание в конфигурационный файл:
jigdo-file --cache=$tmpDir/jigdo-cache.db --cache-expiry=1w --report=noprogress
т.е. без опции: –no-check-files
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=422059
wgetOpts=»–passive-ftp –no-directories –non-verbose»Опцию:
--non-verbose
следует заменить на
--no-verbose
лучше всего это сделать в локальном файле конфигурации.