Downloading Debian USB/CD/DVD images with jigdo
Jigsaw Download, or short jigdo, is a
bandwidth-friendly way of distributing Debian USB/CD/DVD images.
Why jigdo is better than a direct download
Because it is faster! For various reasons, there are far fewer
mirrors for USB/CD/DVD images than there are for the "normal" Debian
archive. Consequently, if you download from a USB/CD/DVD image mirror, that
mirror will not only be further away from you, it will also be
overloaded, especially just after a release.
Furthermore, some types of images are not available as full
.iso downloads because there is not enough space on our
servers to host them.
Of course, a "normal" Debian mirror does not carry any USB/CD/DVD
images, so how can jigdo download them there? jigdo achieves this by
downloading individually all the files that are on the USB/CD/DVD. In the
next step, all these files are assembled in one big file which is an
exact copy of the USB/CD/DVD image. However, all this happens behind the
scenes - all that you need to do is tell the download tool
the location of a ".jigdo" file to process.
More information is available from the jigdo
homepage. Volunteers willing to help with jigdo development are
always welcome!
How to download an image with jigdo
- Download a package containing jigdo-lite. This is
available directly for installation in the Debian and Ubuntu
distributions in the jigdo-file package. For FreeBSD,
install from /usr/ports/net-p2p/jigdo or grab the package
with pkg_add -r jigdo. For other installation options
(binaries for Windows, source), check the
the jigdo
homepage.
- Run the jigdo-lite script. It will ask for the URL
of a ".jigdo" file to process. (You can also supply
that URL on the command line if you like.)
- From one of the locations listed below, pick the
".jigdo" files you want to download, and enter their URLs
at the jigdo-lite prompt. Each ".jigdo" file
corresponds to one ".iso" USB/CD/DVD image.
- If you are a first-time user, just press Return at the "Files to
scan" prompt.
- At the prompt "Debian mirror", enter either
http://deb.debian.org/debian/ or
http://ftp.XY.debian.org/debian/, where
XY is the two-letter code for your country
(for example, us, de, uk. See the current
list of available
ftp.XY.debian.org locations.)
- Follow the instructions printed by the script. If all goes well, the
script finishes by calculating a checksum of the generated image and
telling you that the checksum matches that of the original image.
For a detailed, step-by-step description of this process, have a
look at the Debian
jigdo mini-HOWTO. The HOWTO also explains jigdo's advanced
features, such as upgrading an older version of a USB/CD/DVD image to the
current version (by downloading only what has changed, not the entire
new image).
Once you have downloaded the images and written them to USB/CD/DVD, be
sure to have a look at the detailed information
about the installation process.
Official images
Official jigdo files for the stable
release
Be sure to have a look at the documentation before you install.
If you read only one document before installing, read our
Installation Howto, a quick
walkthrough of the installation process. Other useful documentation includes:
Official jigdo files for the testing
distribution
Search Contents of USB/CD/DVD images
Which USB/CD/DVD image contains a certain file? Below,
you can search the lists of files
contained in a wide variety of Debian USB/CD/DVD images. You
can enter several words, each word must match a substring of the
filename. Add e.g. "_i386" to restrict the results to a certain
architecture. Add "_all" to see packages which are identical for all
architectures.
What files are contained in a certain image? If
you need a list of all files that a certain Debian USB/CD/DVD
contains, just look in the image's corresponding list.gz file
on cdimage.debian.org.
Frequently Asked/Answered Questions
How do I make jigdo use my proxy?
Load the file ~/.jigdo-lite (or
jigdo-lite-settings.txt for the Windows version) into a text
editor and find the line that starts with "wgetOpts". The following
switches can be added to the line:
-e ftp_proxy=http://LOCAL-PROXY:PORT/
-e http_proxy=http://LOCAL-PROXY:PORT/
--proxy-user=USER
--proxy-passwd=PASSWORD
Of course, substitute the correct values for your proxy server. The
last two options are only necessary if your proxy uses password
authentication. The switches need to be added to the end of the
wgetOpts line before the final ' character. All
options must be on one line.
Alternatively, under Linux you can also set up the
ftp_proxy and http_proxy environment variables, for
example in the file /etc/environment or
~/.bashrc.
Aargh! The script fails with an error - have I downloaded all
those MBs in vain?!
Of course this Should Not Happen(tm), but for various reasons you
may end up in a state where a large ".iso.tmp" file has
already been generated and jigdo-lite appears to have
problems, telling you repeatedly to try restarting the download. There
are several possible things to try in this case:
- Simply restart the download by pressing Return. Maybe some of
the files could not be downloaded because of timeouts or other
transient errors - another attempt will be made to download any
missing files.
- Try a different mirror. Some Debian mirrors are slightly out of
sync - maybe a different mirror still holds files that were deleted
from the one you specified, or it has already been updated with
files that are not yet present on your mirror.
- Retrieve the missing parts of the image using rsync. First, you need to
find out the correct rsync URL of the image you are downloading:
Choose a server that offers rsync access to the stable or testing images, then determine the
correct path and filename. Directory listings can be obtained with
commands like
rsync rsync://cdimage.debian.org/debian-cd/
Next, remove the ".tmp" extension from
jigdo-lite's temporary file by renaming it, and pass both
the remote URL and the local filename to rsync:
rsync rsync://server.org/path/binary-i386-1.iso
binary-i386-1.iso
You may want to use rsync's --verbose and
--progress switches to get status messages, and
--block-size=8192 to increase its speed.
- If all else fails, your downloaded data is still not lost: Under
Linux, you can loop-mount the .tmp file to access the
packages that were already downloaded, and reuse them for generating
an image from a newer jigdo file (such as the latest weekly testing
snapshot if your failed download was also a testing snapshot). To do
this, first issue the following commands as root in the directory
with the broken download: mkdir mnt;
mount -t iso9660 -o loop *.tmp mnt.
Next, start a new download in a different directory, and enter the
path of the mnt directory at the "Files to scan"
prompt.