Login
Login-Name Passwort


 
Newsletter
Werbung

So, 8. Juni 2008, 00:00

Download-Puzzle

Images mit Jigdo zusammensetzen

Im Zeitalter der immer größer werdenden ISO- und sonstigen Images wünschen sich Serverbetreiber und Anwender, nicht immer wieder die kompletten Images herunterladen zu müssen. Jigdo verspricht, die Downloadmenge zu reduzieren.

Vorwort

Jigsaw Download, kurz Jigdo ist, wie vielleicht bekannt ist, eine Methode, CD-, DVD- oder VM (Virtuelle Maschinen)-Images aus einzelnen Dateien automatisch zusammenzustellen. Ich lernte es zuerst als Methode kennen, bootfähige Live- und Installations-CDs für Debian zu erstellen. Die Images werden dabei auf dem eigenen Rechner erstellt, ohne dass man ein Image vom Netz laden muss. Stattdessen werden Debian- oder entsprechende andere Pakete geholt. Wenn man die Pakete bereits lokal vorliegen hat oder mehrere ähnliche Images erstellt, spart man einen Großteil der Übertragungskapazität, die man für den Download der Images benötigen würde.

Doch Jigdo ist nicht auf Debian beschränkt. Ubuntu und Fedora nutzen es. Das Programm ist portabel auf nahezu jedes Linux-System, Solaris, BSD, Mac OS X, IRIX und Windows. Auch ist die Erstellung von Images nicht die einzige denkbare Anwendung. Man kann damit eine beliebige Datei zusammenstellen, die sich aus einzelnen, sich möglicherweise nicht oft ändernden Teilen zusammensetzt.

Wie dem auch sei, die Erstellung von Images für Debian-CDs aus einzelnen Debian-Paketen war der Grund, warum Jigdo ursprünglich geschrieben wurde.

Just Do

Im folgenden zeige ich am Beispiel einer Installations-CD für Debian, wie man bei Jigdo prinzipiell vorgeht.

Wir müssen zunächst Jigdo installieren, wozu wir unter Debian oder Ubuntu einfach

sudo apt-get install jigdo-file

ausführen. Der Grund, warum wir jigdo-file und nicht jigdo benötigen, liegt in der Paketierung von Debian. Das Paket jigdo enthält eine grafische Oberfläche für das Programm, aber dazu später mehr.

Sodann benötigen wir die Dateien, die das ISO-Image beschreiben, das wir nun herunterladen wollen. Es sind zwei Dateien mit den Endungen .jigdo und .template. Am besten legen uns erst einmal irgendwo, wo genug Platz ist, ein Verzeichnis jigdo an und wechseln dort hinein. Dann können wir die beiden Dateien schnell mit wget holen:

wget http://cdimage.debian.org/debian-cd/4.0_r3/i386/jigdo-dvd/debian-40r3-i386-DVD-1.jigdo
wget http://cdimage.debian.org/debian-cd/4.0_r3/i386/jigdo-dvd/debian-40r3-i386-DVD-1.template

Die Template-Datei ist mit 30 MB die weitaus größere der beiden. Ist nur eine CD zu erstellen, liegt ihr Umfang bei etwa 5,2 MB.

Nun müssen wir jigdo-lite aufrufen. Wer etwas mehr darüber wissen will, liest die kurze Manpage von jigdo-lite, die auch Verweise auf die Manpage der zugehörigen Tools enthält.

Schaut man sich die .jigdo-Datei an, so stellt man fest, dass sie neben allgemeinen Informationen eine Liste der Komponenten (Pakete, in unserem Fall Debian-Pakete, und Hilfsdateien) sowie eine Liste von Servern enthält. Ein Rezept zum Erstellen einer CD oder DVD also. Lassen wir das Rezept mischen:

jigdo-lite debian-40r3-i386-DVD-1.jigdo

Das Programm fragt nun nach »Files to scan«. Hat man das zu erstellende Image bereits in einer früheren Version, kann man dieses hiermit wiederverwenden, was allein bereits zahlreiche Downloads sparen kann. Ich habe keines und gebe daher nichts an.

Gibt man bei diesem Prompt eine ISO-Datei an, so liest jigdo-lite diese ein, was je nach Größe der ISO-Datei zwischen einigen Sekunden und einigen Minuten dauern sollte. Danach erscheint der Prompt erneut, und man kann weitere Quellen angeben. Beispielsweise könnte man das teilweise erstellte Image eines abgebrochenen Laufs angeben. Falls man ein Image für die eigene Distribution erstellen will und Debian oder ein Debian-Derivat verwendet, ist es auch ein guter Trick, das Verzeichnis /var/cache/apt/archives anzugeben, das möglicherweise schon eine bedeutende Zahl der benötigten Pakete enthält.

Als nächstes wird man nach einem Mirror-Server gefragt, wobei als Standard wohl der erste Server aus /etc/apt/sources.list vorgegeben wird. Gut für Leute, die beispielsweise apt-proxy einsetzen. Auch dadurch kann man Downloads sparen, da sich einige Pakete vielleicht bereits im Cache befinden.

Nun können wir uns eine Weile anderen Dingen widmen, beispielsweise diesen Artikel fertig lesen :-) Irgendwann sollte das Programm erfolgreich zu Ende gelaufen sein und folgendes anzeigen:

»debian-40r3-i386-DVD-1.iso« wurde erfolgreich erzeugt
-----------------------------------------------------------------
Finished!
The fact that you got this far is a strong indication that `debian-40r3-i386-DVD-1.iso'
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: Prüfsummen stimmen überein, Image-Datei ist in Ordnung!

Die Denglisch-Mischung deutet auf eine nicht vorgesehene oder noch nicht vollendete Übersetzung hin. Doch das hindert uns nicht daran, die fertige Datei debian-40r3-i386-DVD-1.iso nun auf DVD zu brennen oder anderweitig zu verwenden.

jigdo-lite legt eine Konfigurationsdatei ~/.jigdo-lite an, in der sich das Programm eingegebene Optionen merkt. Dies ist offensichtlich praktisch. Man kann die Datei auch von Hand editieren, bevor man jigdo-lite startet. Dabei sollte man beachten, dass der Eintrag scanMenu, der die Auswahl von einzulesenden Verzeichnissen und Images per Menü ermöglicht, die einzelnen Einträge im Hochkomma eingeschlossen und mit Leerzeichen getrennt erwartet (dies dürfte Datei- und Verzeichnisnamen, die Leerzeichen enthalten, ausschließen). Beispiel:

scanMenu='/var/cache/apt/archives/ /cdrom/'

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung