SDB:KIWI Kochbuch Mit dem Kochen beginnen
Getestet mit openSUSE | Empfohlene Artikel | Verwandte Artikel | |||
|
Inhaltsverzeichnis
Grundsätzliche Vorbereitung für alle Rezepte
Bevor wir mit dem Kochen beginnen, müssen wir sicher stellen, dass wir alle geforderten Zutaten fertig und korrekt angerichtet haben.
Installation des KIWI-Werkzeugsatzes
Es wird dringend empfohlen, dass Sie die veröffentlichte Version der KIWI-Werkzeugsatzes verwenden. Indem Sie das Repository Virtualization:Appliances zu Ihrem System hinzufügen, wird es Ihnen ermöglichen, alle auf KIWI bezogenen Pakete zu installieren.
Das Kommando unten veranschaulicht, wie das Repository hinzu zu fügen ist und wie die KIWI-Werkzeuge in der Kommandozeile mittels Zypper zu installieren sind. Alternativ können Sie auch YaST2, mit grafischer Oberfläche, verwenden, um das Repository hinzu zu fügen und die Installation durchzuführen.
- Fügen Sie, wenn nötig, das Werkzeug-Repository hinzu, indem Sie aus der Liste in Appliances das Repository Ihrer openSUSE-Version auswählen. Für openSUSE Leap und Tumbleweed sind ist das entsprechende Werkzeug-Repository unter virt-builder-images zu finden. Für openSUSE 11.4 führen Sie folgenden den Befehl aus:
- Installieren Sie kIWI und andere benötigten Pakete:
Wenn Sie vorher das Werkzeug-Repository konfiguriert haben, haben aber nicht KIWI installiert, dann führen Sie das obige Kommando aus.
Das folgende Kommando wird Ihnen erlauben, alle Pakete aus dem Werkzeug-Repository zu aktualisieren, einschließlich KIWI, wenn es zuvor installiert wurde.
- Aktualisieren des Repositorys
- Update aller installierten Pakete mit neueren Versionen
Bemerkung: Für detaillierte Informationen über die Zypper Befehlszeilenoptionen finden Sie in der Zypper Manpage (man zypper) bzw. durch die Nutzung der Dokumentation SDB:Zypper benutzen
Die Verzeichnisse, in denen wir kochen
Erstellen von Bildern mit KIWI benötigt Platz in Ihrem Dateisystem (Ihrer Festplatte oder einem gemounteten externen Speicher). Der Platzbedarf ist abhängig von der Größe der verwendeten Pakete und der zusätzlichen Software, die in das Abbild integriert werden sollen.
Der grundsätzliche Richtwert für den Speicherbedarf beträgt 8 GB + die Größe der zusätzlichen Software. Auf einem 8 GB großen Speicherplatz können Sie die ganze Distribution speichern. Damit bietet das ausreichend Platz für alle Pakete, die Sie vom Distributions-Repository benötigen.
Für die Beispiele, die hier aufgeführt werden, werden wir Verzeichnisse in /tmp verwenden. Aber Sie können Ihr Arbeitsverzeichnis auch irgendwo in Ihrem Dateisystem wählen.
Die Verzeichnisse, die in diesem Schritt erzeugt werden, werden später als Kommandozeilenargumente verwendet.
Temporäres Verzeichnis zum Bauen:
Endgültiges Abbildverzeichnis:
Bitte beachten Sie, dass das Verzeichnis zum Bauen sollte nur einmal verwendet werden. Das bedeutet, das Verzeichnis muß vorher geleert werden, um andere Abbilder im gleichen Verzeichnis vorzubereiten. Der KIWI-Werkzeugsatz wird einen Fehler erzeugen, wie Couldn't create root directory: File exists failed.
Der nächste Abschnitt liefert einen schnellen Überblick über die grundlegenden Kommandos und eine kurze Beschreibung darüber, wie KIWI funktioniert.
Machen Sie sich bereit zum Kochen!
Die Erstellung eines Abbildes mit KIWI ist ein Prozess in zwei Schritten. Der erste Schritt ist der Vorbereitungsschritt gefolgt vom Herstellungsschritt.
Im Vorbereitungsschritt wird das so genannte ungepackte Abbild im temporären Bauraumverzeichnis (/tmp/myiso in unserem Beispiel, wie oben erwähnt) erzeugt. Das ungepackte Abbild im temporären Bauraum enthält Ihr neues Dateisystem, das auf einem oder mehreren Softwarepaket(en), aus den spezifizierten Repositorys (mehr zu diesen Repositorys später), basiert.
Der Herstellungsschritt verwendet das Dateisystem, das im Vorbereitungsschritt als Abbild-Wurzelverzeichnis erzeugt wurde, um das Ausgabeabbild zu erzeugen. Dieses Abbild ist im endgültigen Abbildverzeichnis (d.h. /tmp/myiso-result in unserem Beispiel, wie oben erwähnt) angeordnet. Wenn der Abbildtyp ISO angefordert wurde, dann ist das Ausgabeabbild eine Datei mit dem Suffix .iso, das ein Live-System auf CD oder DVD repräsentiert. Es ist ebenso möglich, ein ISO-Abbild zu erzeugen, das als Installationsquelle werden kann.
Zusätzlich zur Erzeugung des LiveCD ISO Abbildes, kann man mit KIWI ein Abbild für eine virtuelle Maschine (VMware/qemu) oder eine para-virtuelle (Xen) Umgebung sowie für einen USB-Stick, PXE-Netzwerk-Clients und OEM maßgeschneiderte Linux-Systeme erzeugen.
Die grundlegenden Kommandos
Der Zweischrittprozess aus Vorbereitung und Herstellung wird mit folgenden Kommandos ausgeführt:
- Der ImageDescriptionPath ist ein Verzeichnis, das eine grundlegende Beschreibung der Zutaten des Abbildes enthält. (Wie dieses Verzeichnis verwendet wird und seine Struktur ist, wird klarer, wenn wir das Rezept unten komplettieren.)
- Der RootPath ist das Bestimmungsverzeichnis für das ungepackte Abbild, z.B. /tmp/myiso.
- Der DestinationPath ist der Pfad zum endgültigen Abbild, z.B. /tmp/myiso-result
Der KIWI-Werkzeugkasten unterstützt die Kombination der vorhergehenden Kommandozeilenaufrufe in einem. Mit der --build-Option wird KIWI noch zwei deutliche Schritte ausführen. Aber aus der Anwenderperspektive muss nur ein Kommando ausgeführt werden, wie unten gezeigt wird.
In diesem Fall wird das ungepackte Abbild in einem Unterverzeichnis DestinationPath namens image-root erzeugt. Gemäß unseres Beispiels würde KIWI /tmp/myiso-result/image-root für das ungepackte Abbild erzeugen.
Das Quell-Repository
Wie bereits erwähnt, erzeugt KIWI vorher ein ungepacktes Abbild, um dann das endgültige Abbild durch Installation von Paketen zu erzeugen. Die Pakete werden aus einer Installationsquelle oder einem sogenannten Repository extrahiert. Ein Repository ist eine Sammlung von Paketen, quasi ein Paketdepot.
Die Angabe der Installationsquelle auf der Kommandozeile wird durch die Verwendung der Kommandozeilenoption --set-repo wie folgt durchgeführt:
Repository-Optionen
KIWI unterstützt lokale Repositorys und aus dem Internet.
Mit Hilfe der Option --set-repo können wir einstellen, was wir als Repository verwenden wollen oder den URL des zuerst gelisteten Repositorys der XML-Datei überschreiben. Die Änderung ist temporär und wird nicht in die XML-Datei geschrieben.
Die folgenden Beispiele zeigen, wie diese verschiedenen Repositorys auf der Kommandozeile anzugeben sind.
- Verwendung eines Internet basierenden Repositorys, wie z. B. das Repository von openSUSE 11.4.
Die openSUSE Beispiele, die von KIWI geboten werden, verwenden das openSUSE-Online-Repository. Es ist nicht notwendig, die Kommandozeilenoption --set-repo zu verwenden. Wie das eingerichtet wird, wird in späteren Kapiteln erklärt. Siehe dazu unter Ändern/Hinzufügen von Repositorys in unserem Live-System-Rezept nach.
- Wenn Sie die Installations-DVD von openSUSE 11.3 oder 11.4 haben, können Sie diese als Repository verwenden.
Legen Sie die DVD in Ihren DCD-Player ein und wenn Sie openSUSE 11.3 verwenden wird sie als /media/SU1110.001 gemountet. Wenn das Medium nicht gemountet wird, können Sie das Kommando mount verwenden.
Angenommen die DVD wird automatisch gemountet, zeigt das folgende Kommando, wie wir die gemountete DVD als Installations-Quell-Repository verwenden können.
- Wenn Sie die das ISO-Abbild der Installations-DVD zur Verfügung haben, könnten Sie es verwenden ohne es als DVD zu brennen.
Um das Abbild zu verwenden, müssen Sie es erst in einer Schleife einhängen (loop mount), damit es als ein Block-Gerät zur Verfügung steht. Dann nutzen Sie den Einhängepunkt als Repository-Pfad.
Ein paar Worte zur Geschwindigkeit
Bevor wir zum ersten Beispiel kommen, ein paar Worte zur Geschwindigkeit, mit der das Abbild erzeugt werden kann.
KIWI wird auf das angegebene Repository zugreifen, um die geforderten Pakete für das zu bauende Abbild zu erhalten. Wenn Sie ein Online-Repository verwenden, hängt die Geschwindigkeit von der Bandbreite Ihrer Internetverbindung ab. Verwenden Sie eine eingehängte DVD, dann hängt die Geschwindigkeit vom DVD-Laufwerk ab. Ebenso wird die Übertragungs-Leistung Ihrer Festplatte einen enormen Einfluss auf die Geschwindigkeit zur Erzeugung des Abbildes haben.
Grundsätzlich wird die Abbilderstellung am schnellsten sein, wenn Sie örtliche Repositorys verwenden, d.h. die Installations-DVD, ein ISO-Abbild das in einer Schleife eingehängt ist oder ein örtlicher Spiegel des Online-Repositorys auf Ihrem LAN.
Vorsichtsmaßnahmen
- Wenn Sie ein 64 bit Abbild bauen, müssen qemu-kvm (vom kvm Packet) statt qemu verwenden.
- Der Abbildname für z. B. suse-11.3-live-iso.i686-2.5.1.iso enthält die System-Architectr i686. In allen unseren Rezepten müssen Sie die geeignete Bezeichnung einsetzen, wenn Sie eine andere Architektur bauen.
- Es ist möglich, ein 32 bit Abbild (x86) auf einem 64 bit (x86_64) System durch das Voranstellen des KIWI-Kommandos mit linux32 wie nachfolgend zu bauen: