Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
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/'

Probleme

Der eben geschilderte Ablauf ist der Idealfall. Leider läuft nicht immer alles so glatt. Das geringste Problem dürfte es sein, wenn der Download unterbrochen wurde. In diesem Fall startet man das Programm einfach neu, wobei man das bisher erstellte Teil-Image wiederverwenden kann. Nötigenfalls verwendet man einen anderen Mirror-Server.

Häufig kommt es auch vor, dass ein benötigtes Paket gar nicht mehr vorhanden ist, weil bereits ein Update auf den Server gelegt wurde. Dabei sollte entweder die Jigdo-Datei aktualisiert oder das ursprüngliche Paket beibehalten werden. Leider ist das nicht immer der Fall, da anscheinend dem Jigdo-System nicht genügend Aufmerksamkeit geschenkt wird.

Dieses Problem kann man auf zwei Arten beheben. Entweder man holt die fehlenden Dateien von einem anderen Server, oder man findet eine aktualisierte Jigdo-Datei.

Falls keine aktualisierte Jigdo-Datei bereitsteht, bleibt nur die Möglichkeit, die fehlenden Komponenten anderswo zu finden. Google kann dabei hilfreich sein, doch es gibt eine (meistens) bessere Möglichkeit: Das Debian Snapshot Archive. Dieses Archiv enthält alle Debian-Pakete in allen Versionen seit 2005. Nun gut, alle Pakete enthält es nicht, einige wenige gingen wohl in der Anfangszeit verloren und fehlen. Auf dieses Archiv bin ich auch erst über Jigdo gestoßen, aber es ist gut, zu wissen, dass es das gibt.

Nachdem man alle fehlenden Pakete heruntergeladen hat, startet man jigdo-file erneut und gibt das Verzeichnis mit den heruntergeladen Paketen als zusätzliche Quelle an.

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Newsletter
Neue Nachrichten