Downloading Debian CD images with jigdo
Jigsaw Download, or short jigdo, is a bandwidth-friendly way of distributing Debian CD/DVD images.
- Why jigdo is better than a direct download
- How to download an image with jigdo
- Official images
- Search Contents of CD images
- Frequently Asked/Answered Questions
Because it is faster! For various reasons, there are far fewer mirrors for CD/DVD images than there are for the "normal" Debian archive. Consequently, if you download from a CD 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 CD/DVD images, so how can jigdo download them there? jigdo achieves this by downloading individually all the files that are on the CD/DVD. In the next step, all these files are assembled in one big file which is an exact copy of the 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!
- 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" 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 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 CD/DVD, be sure to have a look at the detailed information about the installation process.
Official jigdo files for the
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:
- Installation Guide, the detailed installation instructions
- Debian-Installer Documentation, including the FAQ with common questions and answers
- Debian-Installer Errata, the list of known problems in the installer
Official jigdo files for the
Which CD/DVD image contains a certain file? Below, you can search the lists of files contained in a wide variety of Debian 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 CD/DVD contains, just look in the image's corresponding list.gz file on cdimage.debian.org.
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:
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
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.