Jigdo:Jigsaw Download

Accidently I came across Jigdo through a mailing list, a very useful tool when it comes to downloading/updating ISO images of a GNU/Linux distribution.

The usual method that I follow when I download ISO images of a distribution is start the download through either Wget (http://www.gnu.org/software/wget) or use the default browser download manager.Although both have failed on me a couple of times & that isnt the point of this post anyways(i think i seriously need to stick to torrents for downloading large files),but I keep downloading newer distributions in ISO image format whenever a new version is out.Delete the old version & keep the latest one dumped on my hard drive.Burn the ISO for myself & friends for giving it away.

Downloading the same entire distribution again for subtle changes that have occured since the last version is a PITA :) .Seriously,although I'm a 256 kbps unlimited pipe from Airtel I never like it.

Here is where Jigdo comes into picture,say you have a ISO image on your hard drive or a CD mounted with the loop option & say a new version of the ISO is available then Jigdo will update the ISO image or create a new updated ISO image as in the latter case.

The procedure is simple,you need to get .jigdo & .template file for every ISO image that you want to update.For example if you want to update Debian Stable the first 3 cds then you need to get hold of .jigdo & .template files for each CD.

You need then use the package jigdo-lite which makes this process a walk in the park if you follow the steps properly.

With the below steps I installed jigdo-lite

$sudo apt-get update

swapneel@ubuntu:~$ sudo apt-cache search jigdo-lite
Password:
jigdo – GTK+ download manager
jigdo-file – Download Debian CD images from any Debian mirror

jigdo-file is the package which contains jigdo-lite.

swapneel@ubuntu:~$ sudo apt-get install jigdo-file
Reading package lists… Done
Building dependency tree… Done
jigdo-file is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

In my case I had already installed jigdo-file sometime back to give this a try,thats why its saying already the newest version.

I have a Debian Sarge 3.1ISO image present on my laptop, debian-31r1-i386-binary-1.iso
I've mounted the ISO images as a loop device as shown below,

swapneel@ubuntu:/home/jigdo$ sudo mount -o loop debian-31r1-i386-binary-1.iso /mnt/

I got the .jigdo & .template files required for the above ISO from the below url, For me it was debian-31r2-i386-binary-1.jigdo & debian-31r2-i386-binary-1.template

http://cdimage.debian.org/debian-cd/current/i386/jigdo-cd/


The next step is to run jigdo-lite along with the .jigdo file you have downloaded for the ISO.

I'm too sleepy right now so I'll upload the image which has the remaining steps in it.:-P

The below screenshot shows jidgo taking the latest .jigdo file & updating the mounted ISO to create a new ISO image.
Jigdo

The jigdo script calls for the location where the ISO is mounted as a loop device.

Files to scan : /mnt

I had also downloaded the .template file earlier,so it doesnt download & starts checking what should be updated.

Copied input files to temporary file `debian-31r2-i386-binary-1.iso.tmp ' – repeat command and supply more files to continue

The above confirms that new files were found & have been updated & saved as debian-31r2-i386-binary-1.iso.tmp .It then prompts for the next ISO image to be updated.

A new updated ISO file with a .tmp at the end of the file is saved under the directory from which you issued the jido-lite command.The below screenshot shows about the newly updated ISO

Jigdo2

As you can see the attributes of the old & new ISO image files,

-rwxr-xr-x 1 root root 669585408 2006-04-25 02:26 debian-31r1-i386-binary-1.iso
-rw-r–r– 1 root root 667164837 2006-04-25 02:39 debian-31r2-i386-binary-1.iso.tmp

The only thing remains is to burn the new ISO image on a blank CD & you are ready go.Kickass !! :-P

Unfortunately I have not been able to find jigdo files for other distributions like Ubuntu,Fedora Core which I would love to see.

If anyone knows about the locations of these then please reply here.

The above article is original & written by me & was inspired from here : http://atterer.net/jigdo/debian-jigdo-mini-howto/


About this entry