Jigdo Nasıl Çalışır (seçimlik)

Debian ISO görüntülerini indirmek için bu maddeyi bilmenize gerek yoktur fakat jigdonun ne yaptığının açığa çıkmasına yardım edebilir. Eğer detaylarla ilgilenmiyorsanız, hızlı bir şekilde İlk Görüntünüzü İndirmek (5 Kolay Adımda) kısmına ilerleyin; "Jigdo'yu Nasıl Kullanırım".

İndirim İçin Bir ISO'yu Hazırlamak

Bir CD görüntüsü iso9660 olarak isimlendirilen bir dosya sistemidir, fakat buradaki açıklamalar için bir CD görüntüsünün "ISO görüntüsü" 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 görüntüsü README dosyasının görüntüsünü 20480000 ve 20480567 göreli konumları arasında içerebilir. Bir CD görüntüsünü şu şekilde düşünebilirsiniz:

                 ------------------------------------------------------------
ISO Görüntü:    |xxxx| dosya-0 |xx| dosya-1 |xxx| dosya-2 |x| dosya-3 |xxxx|
                 ------------------------------------------------------------

Görüntünün "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 görüntüsü (yani ISO önceden yapılmış olmalıdır) ve görüntüde kullanılabilir veya kullanılamaz dosyalar kümesi. Aşağıda jigdo-file'ın girdilerinin görsel bir hali bulunmaktadır:

                ------------------------------------------------------------
ISO Görüntü:    |xxxx| dosya-0 |xx| dosya-1 |xxx| dosya-2 |x| dosya-3 |xxxx|
              	------------------------------------------------------------

                        -----------  -----------              -----------    -----------
Serbest Dosyalar:       | dosya-0 |  | dosya-1 |              | dosya-3 |    | dosya-4 |
                        -----------  -----------              -----------    -----------

Sihirsel bir şekilde, jigdo-file ISO görüntüsü 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ı.

.template Dosyası

Bir ISO görüntüsü ve ISO görüntüsü içerisinde olabilecek veya olmayacak dosyaların verilmesi halinde jigdo-file bu ISO görüntüsü için bir .template dosyası üretir. Aşağıda bir .template dosyasının neye benzediği gösterilmiştir.

              --------------------------------------------------------
.template:    |xxxx| md5-0  |xx| md5-1  |xxx|cccccccc|x| md5-3  |xxxx|
              --------------------------------------------------------

jigdo-file, dosya-0, dosya-1 ve dosya-3'ün ISO görüntüsünce içerildiğini bulmuştur. Bu dosyaların içeriklerini herbirinin md5 sağlama toplamı ile yer değiştirmiştir (md5-0, md5-1, v.b.).

ISO görüntüsü 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 görüntüsü 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 görüntü içerisinde bulunmayan jigdo-file'a sağlanan serbest dosyalar (dosya-4 gibi) ihmal edilir.

.jigdo Dosyası

Bir ISO görüntüsü ve ISO görüntüsü içerisinde bulunabilecek veya bulunamayacak dosyaların verilmesi durumunda, jigdo-file o ISO görüntüsü 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. Aşağıda bir .jigdo dosyasını gunzip ile açtığınızda nasıl görüneceği vardır:

md5-0=http://biryansi.org/dosya-0
md5-1=http://biryansi.org/dosya-1
md5-2=http://biryansi.org/dosya-2
md5-3=http://biryansi.org/dosya-3

.jigdo dosyası basitçe ISO görüntüsü 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 detayları istiyorsanız jigdo belgelendirmesine bakın.

Yukarıda gösterilen tipik bir .jigdo dosyasında tam olarak ne gördüğünüz değildir, fakat oldukça benzemektedir. Eğer .jigdo dosyası sonundaki [Servers] kısmına bakarsanız, gerçek bir .jigdo dosyası ile yukarıda gösterdiğim arasındaki farkı tam olarak göreceksiniz.

Görüntüyü İndirme

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 görüntüyü indirebilir. jigdo-lite, wget kullanarak bir Debian ISO'nun tüm dosyalarını indirir, onları birleştirir ve asıl ISO görüntüsünün bir kopyasını anında oluşturur.