Jigdo'yu kullanmak için bu maddeyi bilmenize gerek yoktur fakat jigdonun ne yaptığının açığa çıkmasına yardım edebilir. Eğer ayrıntılarla ilgilenmiyorsanız, hızlı bir şekilde İlk İmgenin İndirilmesi (5 Kolay Adımda) kısmına ilerleyin, "Jigdo'yu Nasıl Kullanırım".
Bir ISO'yu İndirime Hazırlamak
Bir CD imgesi iso9660 olarak isimlendirilen bir dosya sistemidir, fakat buradaki açıklamalar için bir CD imgesinin "ISO imgesi" olarak isimlendirilen ve değişik göreli konumlarda pekçok dosya içeren büyük bir dosya olduğunu (yaklaşık 650MB) güvenli bir şekilde kabul edebiliriz. Örneğin, eğer bir CD 567 baytlık bir README dosyası içeriyorsa, ISO imgesi README dosyasının imgesini 20480000 ve 20480567 göreli konumları arasında içerebilir. Bir CD imgesini şu şekilde düşünebilirsiniz:
ISO İmgesi:    |xxxx| dosya-0 |xx| dosya-1 |xxx| dosya-2 |x| dosya-3 |xxxx|
İmgenin "x" alanları dizin bilgisi, sıfır ile hizalama, disk ismi, başlama bloğu, v.b. gibi bilgileri içermektedir.
jigdo-file girdi olarak iki parametre almaktadır: Tam bir CD imgesi (yani ISO önceden yapılmış olmalıdır) ve imgede kullanılabilir veya kullanılamaz dosyalar kümesi. Aşağıda jigdo-file'ın girdilerinin görsel bir hali bulunmaktadır:
-----------  -----------       -----------    -----------
Serbest Dosyalar:   | dosya-0 |  | dosya-1 |       | dosya-3 |    | dosya-4 |
Sihirli bir şekilde, jigdo-file ISO imgesi içerisindeki serbest dosyaları ve onların ISO dosyası içerisindeki göreli konumlarını bulmaktadır. Sonuç olarak iki dosya üretir: bir .template dosyası ve bir .jigdo dosyası.
Bir ISO imgesi ve ISO imgesi içerisinde olabilecek veya olmayacak dosyaların verilmesi halinde jigdo-file bu ISO imgesi için bir .template dosyası üretir. Aşağıda bir .template dosyasının neye benzediği gösterilmiştir.
jigdo-file, dosya-0, dosya-1 ve dosya-3'ün ISO imgesince içerildiğini bulmuştur. Bu dosyaların içeriklerini herbirinin md5 sağlama toplamı ile değiştirmiştir (md5-0, md5-1, v.b.).
ISO imgesi içerisindeki "x" verisi (dizin bilgisi, sıfır ile yaslama, v.b.) sıkıştırılmış olup .template dosyasına yazılır. Son olarak da ISO imgesi içerisinde olup da serbest dosya olarak sağlanmayan dosyalar (dosya-2 gibi) da .template dosyasına yazılır. Bu durum .template dosyasında görsel olarak "c" verisi olarak gösterilmiştir.
ISO imge içerisinde bulunmayan jigdo-file'a sağlanan serbest dosyalar (dosya-4 gibi) ihmal edilir.
Bir ISO imgesi ve ISO imgesi içerisinde bulunabilecek veya bulunamayacak dosyaların verilmesi durumunda, jigdo-file o ISO imgesi için bir .jigdo dosyası üretir. Debian .jigdo dosyaları gzip ile sıkıştırılmıştır, dolayısiyle onları görmek için zcat veya zless kullanmalısınız. Bir .jigdo dosyasının gunzip ile açtığınızdaki görüntüsü:
.jigdo dosyası basitçe ISO imgesi içerisindeki md5 toplam sağlamı ile o dosyanın indirilme URL'si arasında bir eşleme yapmaktadır. .jigdo dosyası içerisinde başka bazı şeyler de vardır, eğer içerisine bakarsanız .jigdo dosyasının bir ".ini" dosyasıyla aynı yapıya sahip olduğunu görürsünüz. Bu kendisini açıklamak için yeterlidir, fakat daha öz ayrıntıları istiyorsanız jigdo belgelendirmesine bakın.
Yukarıda gösterilen tipik bir .jigdo dosyası tam olarak öyle değildir, fakat oldukça benzemektedir. Eğer .jigdo dosyasının sonundaki [Servers] kısmına bakarsanız, gerçek bir .jigdo dosyası ile yukarıda gösterim arasındaki farkı tam olarak göreceksiniz.
jigdo-file'ı bir kere bir ISO görütüsünün .jigdo ve .template dosyalarını oluşturmak için kullandıktan sonra herhangi biri jigdo-lite kullanarak o imgeyi indirebilir. jigdo-lite, wget kullanarak bir Debian ISO'nun tüm dosyalarını indirir, onları birleştirir ve asıl ISO imgesinin bir kopyasını anında oluşturur.
Neden jigdo? Başlangıç İlk İmgenin İndirilmesi (5 Kolay Adımda)