We'll assume that you're starting from scratch and don't have any Debian ISOs on hand. Once you burn your set of ISOs, you can use jigdo-lite later to update them. We'll cover updating your ISOs in the next section.
First install the jigdo-file package:
# apt-get install jigdo-file |
Jigdo is under aggressive development. Bug fixes and enhancements are constant, so if you're using stable or testing, download jigdo-file from unstable at http://packages.debian.org/unstable/utils/jigdo-file.html. As of 08 Feb 2003 it's at >version 0.6.9. This is the version used for the examples of this HOWTO.
Note to Woody users: The version of jigdo-lite which comes with Woody (rev 1) is not capable of downloading Sarge or Sid. See Section 6.11. A bugfixed version of jigdo 0.6.5 was submitted for the future release of r2.
For each ISO image you want to download, you'll need both the .jigdo and .template file for that image. Both files follow the same naming convention:
distro-arch-n.jigdo distro-arch-n.template |
where distro is the name of the distro (like "sarge"), arch is the architecture (like "i386") and n is the disk number (like "1").
For example, sarge has 8 images, so you need to download 8 .jigdo files and 8 .template files. They can be downloaded from http://www.debian.org/CD/jigdo-cd/. The first .jigdo and .template file are named sarge-i386-1.jigdo and sarge-i386-1.template respectively.
Run jigdo-lite and give it the .jigdo file of the image you want to download. Using Woody as an example:
lucifer$ ls sarge-i386-1.jigdo sarge-i386-1.template lucifer$ jigdo-lite sarge-i386-1.jigdo Jigsaw Download "lite" Copyright 2001-2003 by Richard Atterer <jigdo@atterer.net> Getting mirror information from /etc/apt/sources.list ----------------------------------------------------------------- Images offered by `sarge-i386-1.jigdo': 1: 'Debian GNU/Linux testing "Sarge" - Official Snapshot i386 Binary-1 CD' (sarge-i386-1.iso) Further information about `sarge-i386-1.iso': Generated on Fri, 7 Feb 2003 20:31:28 -0700 ----------------------------------------------------------------- If you already have a previous version of the CD you are downloading, jigdo can re-use files on the old CD that are also present in the new image, and you do not need to download them again. Mount the old CD ROM and enter the path it is mounted under (e.g. `/mnt/cdrom'). Alternatively, just press enter if you want to start downloading the remaining files. Files to scan: |
If you suspended jigdo-lite with cntrl-z (don't do this; I'll tell you what you'd see) and looked at the output of ls, you'd find a new file in the directory named sarge-i386-1.jigdo.unpacked. It turns out that .jigdo files are gzip'ed. This file is simply a gunzip'ed version of the .jigdo file.
Right now, jigdo-lite is telling us that if we have an outdated version of first CD of sarge, we should give the pathname to the CD. This is how you update your ISO images (or complete your incomplete downloads). Since we're assuming that you're starting from scratch and have no Debian ISOs yet, we have nothing to scan. We'll cover this in Section 5, so just press ENTER.
You'll see:
----------------------------------------------------------------- The jigdo file refers to files stored on Debian mirrors. Please choose a Debian mirror as follows: Either enter a complete URL pointing to a mirror (in the form `ftp://ftp.debian.org/debian/'), or enter any regular expression for searching through the list of mirrors: Try a two-letter country code such as `de', or a country name like `United States', or a server name like `sunsite'. Debian mirror [http://linux.csua.berkeley.edu/debian/]: |
jigdo-lite is smart enough to use the mirror that you use for your Debian updates (you may have noticed that jigdo-lite was peeking at /etc/apt/sources.list in the last screen capture) by pulling it from /etc/apt/sources.list. If you wanted to use a different mirror, you would specify a different mirror here by following the instructions. If this is the mirror you want to use, press ENTER. Jigdo-lite will then write a ~/.jigdo-lite file in your home directory.
Next, if the .jigdo file you're using references a package which needs to be downloaded from a Non-US server, jigdo-lite will prompt you for a Debian Non-US mirror. The message displayed (and your response) will be very similar to the mirror dialog in the previous paragraph (for the non-non-US mirror. (-: ).
----------------------------------------------------------------- The jigdo file also refers to the Non-US section of the Debian archive. Please repeat the mirror selection for Non-US. Do not simply copy the URL you entered above; this does not work because the path on the servers differs! Debian non-US mirror [http://linux.csua.berkeley.edu/debian-non-US//]: |
Jigdo-lite will write your choice to ~/.jigdo-lite. However, if the image you're about to download doesn't contain Non-US software you won't see this dialog.
If you want to change the default mirrors you use with jigdo at any time in the future, you can modify these two lines:
debianMirror='http://some-mirror-to-use/debian/' nonusMirror='http://some-other-mirror/debian-non-US/' |
in ~/.jigdo-lite.
After you specify the mirror(s), jigdo-lite will begin downloading files to assemble the ISO image:
Not downloading .template file - `sarge-i386-1.template' already present ----------------------------------------------------------------- Merging parts from `file:' URIs, if any... Found 0 of the 826 files required by the template Will not create image or temporary file - try again with different input files --09:35:12-- http://mirror/debian/pool/main/p/pack/pack_3.10-1_i386.deb => `sarge-i386-1.iso.tmpdir/mirror/debian/pool/main/p/pack/pack_3.10-1_i386.deb Resolving linux.csua.berkeley.edu... done. Connecting to linux.csua.berkeley.edu[128.32.112.231]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1,911,624 [application/x-debian-package] 19% [======> ] 378,304 149.87K/s ETA 00:09 |
There'll be a lot of messages flying across your screen; if this is confusing to you, see Section 6.12. While jigdo-lite is downloading the packages, switch to another console (or open another xterm) and do an ls in the directory you're running jigdo-lite in. Now there should be 6 files in the directory:
sarge-i386-1.iso.list
sarge-i386-1.iso.tmp
jigdo-file-cache.db
sarge-i386-1.iso.tmpdir/
sarge-i386-1.jigdo
sarge-i386-1.jigdo.unpacked
sarge-i386-1.template
The sarge-i386-1.iso.tmpdir/ directory contains all the Debian packages that jigdo downloads. Every so often, the directory gets flushed and the files get written to sarge-i386-1.iso.tmp, which is an temporarily incomplete version of the ISO image you want. Note that sarge-i386-1.iso.tmp won't appear until the first time sarge-i386-1.iso.tmpdir/ gets flushed.
jigdo-file-cache.db is a Berekeley DB file containing md5sums of any files read in when you specify a directory at the Files to scan: prompt. It's described in Section 7.3.
At this point, go play some Quake III because this will take some time (you may want to play on a different machine because jigdo is very disk intensive when it flushes files to the .iso.tmp file). At some point, the download will finish and you'll be staring at:
FINISHED --13:32:58-- Downloaded: 7,469,872 bytes in 9 files Found 9 of the 9 files required by the template Successfully created `sarge-i386-3.raw' ----------------------------------------------------------------- Finished! The fact that you got this far is a strong indication that `sarge-i386-3.raw' was generated correctly. I will perform an additional, final check, which you can interrupt safely with Ctrl-C if you do not want to wait. OK: Checksums match, image is good! |