Eucalyptus: Ändern eines fertig zusammengestellten Image

Dieser Artikel beschreibt die Änderung, also das Hinzufügen von Daten oder Anwendungen zu einem lauffähigen Image.

Wir gehen davon aus, dass sich das zu manipulierende Image in "root.img" befindet. Images können grundsätzlich aus der Cloud (Walrus) mit dem Befehl "euca-download-bundle" heruntergeladen werden.

Zunächst erstellen wir einen Mountpunkt.

mkdir temp-mnt

Und weisen dem Image ein Loop Block Device zu. In diesem Fall gehen wir davon aus, dass "/dev/loop5" frei verfügbar ist.

losetup /dev/loop5 root.img

Nun können wir das Image mounten.

mount /dev/loop5 temp-mnt

Das Image befindet sich nun unter "temp-mnt". Damit kann es behandelt werden wie jedes andere Gerät, was gemounted ist. Wir können somit nun alle möglichen Daten oder Anwendungen darauf kopieren. Dabei sollten wir aber darauf achten, nicht die Größe des Images zu überschreiten (Stichwort: "df").

Um weitere Pakete in das Image zu installieren stehen mehrere Möglichkeiten zur Verfügung:

  • Mittels "chroot temp-mnt" zu Root werden und dann mit "apt-get" or "yum" oder "zypper" die gewünschten Pakete installieren.
  • Einen Paketmanager wie "dpkg" oder "rpm" mit der Option "--root" starten.

Nachdem die Änderungen an dem Image beendet wurden, entziehen wir diesem wieder das Loop Block Device.

umount /dev/loop5
losetup -d /dev/loop5

Damit hat das Image "root.img" seine Änderungen erhalten. Dieses muss noch noch in die Cloud hochgeladen und dort registriert werden.

Achtung!!! Es sollte kein neuer Kernel installiert oder Module entfernt werden. Dadurch würde das Image anschließend nicht mehr bootfähig sein.

Quelle