2008/04/17

HowTo: Update CDs with Jigdo in Windows

Let's say you have a complete copy of Debian 4.0r2 in DVD, three DVDs actually, revision 3 just came out and you want to use jigdo to get the updated discs as fast as possible. Yes, using jigdo, you don't have to download the whole DVDs again; you just tell jigdo which disc you want to update, it scans the old disc and then it will only download files that have changed, producing finally the updated image merging files from both sources.

The fastest way for jigdo to scan a disc to be updated is to have an ISO image of it in the hard drive or make one from your disc. For that you can use a tool like Nero, which will produce a image with .nrg extension which you have to change to .iso.

Once you have the ISO image on your hard drive, you have to mount it in a virtual drive, using a tool like MagicISO, which will asign a drive letter to the virtual drive. Please note that jigdo cannot scan the content of an ISO image directly, it needs the image to be mounted!

Because during the update process files included in one disc can be moved to another disc, it is better if you have the three of Debian's ISO images in the hard disc and mounted each to one virtual drive simultaneosly, so when jigdo ask for local sources you pass their drive letters for it to scan.

Remember that you cannot delete the ISO images of the old discs before the updated ISO images are created, because they are mounted and jigdo will need the data in them when it creates each disc. Well, you can actually make some room during the process, say if you have already created sucessfully the updated first DVD, you can safely delete the first DVD from the old revision, since it's unlikely that it will be needed for the creation of the rest of the updated discs.

So, let's say you have your old ISO images in a folder called Debianisos. Download jigdo for Windows there and extract the archive. Open the extracted folder, where jigdo executable jigdo-lite.bat is located and double click on it. A command line will pop up and ask you for the jigdo file of the first updated disc. You can find the complete url of the updated jigdo discs from here after clicking in the right link. Copy the url of the first jigdo file, click in the left upper corner of the command line window, click on Edit, then Paste, then Enter.

Jigdo will download the jigdo file and then ask you for a local source to scan for needed files. Here you have to pass the virtual drive letters, one after another, like this: "h:\". Before scanning the drives you indicated, jigdo will download the template file needed to create the updated disc.

Then jigdo will ask you to choose a server to download new files from. I recommend you to avoid using the default server offered by jigdo and choose some mirror from the updated list here; choose one that you know is fast or is relatively closer to your physical or logical location. If then, that server goes slow, you can suspend the update by closing jigdo's window, open it again and enter a new server when it asks for one.

Jigdo will take some time to scan each virtual drive, then it will start to download the updated files needed to complete the updated disc images. During the process it is possible that jigdo stops working due to some "invalid argument" error. Press any key to close the command line window and run jigdo again. This time, when it asks for discs to scan, just press Enter, since the data scaned previously from the virtual discs is already cached.

Just to give you some idea of how efficient and fast it is to update a disc image this way from revision to revision: the third DVD of Debian contains about 9000 files. After scanning the old third disc, jigdo only needed to download about 250 files to create an updated copy. Cool isn't it?

Finally, I recommend you to check the integrity of the new ISO images by checking them against their MD5SUMs. For this, first download the MD5SUMS file from here and save it as sum.txt in the folder where the updated disc images are located. Then use a tool a command like tool like fsum, or a frontend for it called... Fsum Frontend. In the case of the latter, you just have to select "Verify checksum files", drag and drop the file sum.txt into Fsum Frontend detached drop down box and click on the Check files icon.

Remember to unmount your old disc images from their virtual drives or you won't be able to delete their ISOs ;-)