Ubuntu-Live-CDs erstellen

Aus LinuxUser 01/2008

Ubuntu-Live-CDs erstellen

Individubuntu

Das Ubuntu Customization Kit stellt aus einem Standard-Ubuntu im Handumdrehen ein maßgeschneidertes System zusammen.

Distributionen von der Stange versuchen immer, den Wünschen möglichst vieler Anwender zu genügen. Es liegt dabei in der Natur der Sache, dass individuelle Vorstellungen unter den Tisch fallen – sei es die passende Lokalisierung oder spezielle Anwendungen. Ähnlich verhält es sich mit Updates, welche die Distribution naturgemäß erst nach der Installation herunterlädt.

Richten Sie Ubuntu auf mehreren Rechnern ein, begegnet Ihnen das Problem jedes Mal aufs neue. Verfügen Sie darüber hinaus nur über eine schmalbandige Internet-Anbindung, die der Provider gar noch volumenabhängig abrechnet, verschärft sich das Dilemma zusätzlich.

Abhilfe schafft hier das Ubuntu Ubuntu Customization Kit, kurz: UCK [1]. Mit ihm erstellen Sie mit wenigen Mausklicks Ihre eigene Ubuntu-Distribution samt der gewünschten Lokalisierungen und Programme sowie der aktuellsten Updates.

Installation

UCK setzt als Basis eine funktionierende Ubuntu-Installation voraus, da es auf distributionsspezifische Programme zurückgreift. Im Test gelang das Einrichten der Software sowohl unter Ubuntu 7.04 als auch unter Ubuntu 7.10 problemlos. Zur Installation doppelklicken Sie auf das Paket uck_2.0.0_all.deb, das Sie auf der Heft-CD im Verzeichnis LinuxUser/uck/ oder von der UCK-Webseite [2] herunterladen. Damit öffnen Sie den Installer gdebi, der die benötigten Abhängigkeiten selbständig auflöst.

Ubuntu remastern

Zum Remastern eignen sich nicht nur alle gängigen Ubuntu-CD/DVD-Releases, sondern auch die Medien von Derivaten wie Kubuntu, Xubuntu oder Edubuntu. UCK benötigt in jedem Fall ein ISO-Image der zu remasternden Distribution. Sollten Sie diese nur auf einem Datenträger besitzen, erzeugen Sie mit dem Aufruf

$ dd if=/dev/Laufwerk of=Image

das benötigte ISO-Image. Für Laufwerk setzen Sie den entsprechenden Gerätebezeichner ein, wie etwa hdc. Als Image geben Sie Pfad und Name der zu erstellenden ISO-Datei an, beispielsweise /home/tommy/ubuntu_7.10.iso.

Liegt ein entsprechendes ISO-Image vor, dann starten Sie UCK entweder über einen Klick auf den Eintrag Zubehör | Ubuntu Customization Kit im Gnome-Menü oder durch Aufruf von uck-gui auf der Kommandozeile. Im ersten Dialog wählen Sie, welche Lokalisierungen UCK installieren soll (Abbildung 1). Finden sich gewünschte Sprachdateien nicht auf dem ISO-Image, so lädt das Programm sie aus den Online-Repositories herunter.

Abbildung 1: Das Ubuntu Customization Toolkit erlaubt die nachträgliche Integration von Lokalisierungen in das Ubuntu-Image.

Abbildung 1: Das Ubuntu Customization Toolkit erlaubt die nachträgliche Integration von Lokalisierungen in das Ubuntu-Image.

Im nächsten Fenster wählen Sie, in welcher Sprache das Bootmenü erscheinen soll. Mit der Auswahl der Desktop-Umgebung legen Sie im folgenden Dialog fest, ob UCK Gnome, KDE oder beides einrichtet. Diese Angaben sind zwingend erforderlich, da das Skript andernfalls den Buildprozess zwar startet, ihn aber nach wenigen Minuten mit dem Hinweis auf die fehlende Auswahl abbricht.

TIPP

Sowohl den Verarbeitungsprozess als auch auftretende Fehler vermerkt UCK im Logfile /home/User/tmp/build.log.

Im nun erscheinenden Dateibrowser teilen Sie UCK, wo sich das ISO-Image befindet, das als Grundlage dient. Im anschließenden Abfragefenster geben Sie den Namen Ihrer Kreation ein. Möchten Sie Ihrer Distribution Pakete hinzufügen oder das System anderweitig modifizieren, beantworten Sie die Frage Do you want to customize CD manually during build mit yes. Die mit Ubuntu gelieferten Windows-Programme wie Mozilla Firefox löschen Sie im nächsten Fenster mit yes.

Im Anschluss an die Meldung, dass alle benötigten Informationen vollständig seien, beginnt UCK nach der Eingabe des User-Passwortes das ISO-Image zu zerlegen. Es erstellt in /home/User/tmp/ die Verzeichnisse remaster-iso, remaster-root und customization-scripts. Der Ordner remaster-iso enthält den späteren CD-Content. Die Squashfs-Datei casper/filesystem.squashfs, die die Grundlage von Ubuntu darstellt, entpackt das Skript in das Verzeichnis remaster-root. Um das entpackte Ubuntu wie ein autonomes Betriebssystem zu behandeln, startet es dieses in einer Chroot-Umgebung. Sofern Sie zusätzliche Lokalisierungen ausgewählt haben, beginnt UCK danach, diese in der Chroot via Apt-get herunterzuladen und zu installieren.

Pakete einbinden

Nach Abschluss dieses Prozesses erscheint ein Auswahlfenster, über das Sie ein Terminal (Run console application) oder den Synaptic-Paketmanager (Run package manager) in der künstlichen Umgebung öffnen, in der sich Ubuntu befindet (Abbildung 2).

Abbildung 2: Über das Auswahlfenster starten Sie in der geschlossenen ("chrooted") Umgebung, in dem sich das modifizierte Ubuntu befindet, entweder den Paketmanager Synaptic oder ein Terminal.

Abbildung 2: Über das Auswahlfenster starten Sie in der geschlossenen (“chrooted”) Umgebung, in dem sich das modifizierte Ubuntu befindet, entweder den Paketmanager Synaptic oder ein Terminal.

Synaptic ermöglicht Ihnen das Nach- oder Deinstallieren beliebiger Pakete sowie das Aktualisieren des Systems. Damit UCK bei der Installation zusätzlicher Software auch Pakete aus den Universe- und Multiverse-Repositories berücksichtigt, gilt es diese erst einmal einzubinden. Öffnen Sie dazu über Settings | Repositories die Quellenverwaltung und aktivieren Sie diese mit einem Klick auf die Checkbox vor den genannten Einträgen. Möchten Sie nicht nur Sicherheitsupdates, sondern auch empfohlene Programmaktualisierungen einspielen, dann klicken Sie in der Kategorie Updates auf die Checkbox vor Recommended updates.

Haben Sie Ihre Auswahl abgeschlossen, übernehmen Sie diese mit einem Klick auf das Icon Apply. Danach richtet Synaptic die gewählten Pakete im Chroot-Ubuntu ein, sodass diese in der Live-Version zum Einsatz bereitstehen.

Image erzeugen

Nach dem Schließen des Paketmanagers öffnet sich automatisch das Navigationsfenster, aus dem Sie ihn gestartet haben. Kommandozeilenaffine Anwender klicken auf den Eintrag Run console application, um eine Shell in der Chroot-Umgebung zu öffnen. Hier stehen Ihnen sämtliche Befehle und Programme zur Verfügung, die Sie von normalen Ubuntu-Systemen kennen.

UCK startet in der Chroot-Umgebung unter anderem den X11-Server, der es ermöglicht, auch Anwendungen mit grafischer Oberfläche, etwa Firefox, aus der künstlichen Umgebung heraus über die Shell zu starten.

Neben der Arbeit im semi-virtuellen System fügen Sie im Verzeichnis /home/User/tmp/remaster-root/, welches das Wurzelverzeichnis des Chroot-Ubuntu darstellt, beliebige Dateien hinzu, entfernen sie oder passen darin enthaltene Skripte an. Dateien, die auf dem Datenträger, nicht jedoch im gestarteten Ubuntu erscheinen sollen, kopieren Sie in das Verzeichnis /home/User/tmp/remaster-iso.

Nach dem Beenden aller Modifikationen starten Sie mit einem Klick auf Continue Building (Abbildung 2) das Build-Skript, das aus den Dateien wieder ein ISO-Image erzeugt. Allerdings fährt das Skript nach Abschluss der Arbeit den X-Server aus der Chroot-Umgebung nicht herunter. Das hat für das Build-Basissystem zur Folge, dass GUI-Programme mit der stets gleichen Meldung Gtk-WARNING **. cannot open display:” nicht mehr starten. Erst ein Reboot behebt das Problem.

Das ISO-Image erstellt UCK im Verzeichnis /home/User/tmp/remaster-new-files/, von wo aus Sie es entweder zum Testen in einer virtuellen Maschine wie VirtualBox starten oder direkt auf eine CD respektive DVD brennen. Die heruntergeladenen Zusatzprogramme und Lokalisierungen finden Sie im Verzeichnis /home/User/tmp/remaster-apt-cache.

Handarbeit

Neben der grafischen Benutzeroberfläche bietet UCK eine umfangreiche Skriptunterstützung, die das automatisierte Erstellen angepasster Distributionen ermöglichen soll. Gemäß der Bedienungsanleitung [3] starten Sie dafür ./remaster-live-cd. Ein Blick in das Changelog klärt jedoch darüber auf, dass die Entwickler in der neuesten Release das Skript von remaster-live-cd in uck-remaster umgetauft haben, ohne das jedoch mitgelieferten Manual zu erwähnen. Sie starten das Skript mit dem Aufruf

$ uck-remaster ImageAnpassungen

Hier ersetzen Sie Image durch Pfad und Name der zu remasternden ISO-Datei, für Anpassungen geben Sie den Pfad zu den Steuerskripten für weitere Anpassungen an. Der komplette Aufruf lautet also beispielsweise

$ uck-remaster /media/ubuntu.iso /home/tommy/anpassungen

Das Remaster-Skript überprüft beim Start den Inhalt des Steuerskript-Verzeichnisses und führt die darin aufgeführten Steuerdateien aus. Die Aufgabe der Skripte definiert deren Name. Enthält der Ordner beispielsweise die Datei customize, bindet Uck-remaster diese in die entpackte Squashfs-Datei ein und führt sie in der Chroot-Umgebung aus.

Laut Manual handelt es sich in bei allen Skripten um Optionen, die vorhanden sein können, aber nicht müssen. Die vollständige Liste aller möglichen Aktionsskripte finden Sie im Benutzerhandbuch. Tests mit den mitgelieferten Beispielskripten, die sich im Verzeichnis /usr/share/doc/uck/example-scripts finden, bleiben jedoch durchgängig erfolglos. Auch Versuche mit den Steuerskripten, die die grafische Oberfläche nach deren Aufruf im Verzeichnis customization-scripts erstellte, führten nicht zum Erfolg. Hier brach Uck-remaster den Build-Prozess mit der Meldung ab, es könne eine (vorhandene) Datei nicht finden.

TIPP

Legen Sie mehr Wert auf Tiefgang, sehen Sie sich doch die UCK-Alternative Reconstructor (siehe Kasten “Reconstructor”) näher an.

Fazit

Das Ubuntu Customization Toolkit ermöglicht auch weniger versierteren Anwendern, in Windeseile eine angepasste Ubuntu-Version zu erstellen. Die möglichen Modifikationen reichen vom Anpassen und Nachinstallieren der Lokalisierungen bis hin zum Einspielen von Updates und Zusatzprogrammen.

Die mitgelieferte Skriptunterstützung richtet sich dagegen an hartgesottene Anwender, die nicht davor zurückschrecken, in die Tiefen der Funktionen vorzustoßen, um die Ursache von ständig auftretenden Fehlern zu ergründen. Wie leider so oft unter Linux leistet dabei auch im Fall von UCK die mitgelieferte Dokumentation kaum eine echte Hilfestellung.

Reconstructor

Wie UCK basiert auch Reconstructor [4] auf der Skriptsprache Python. Auf der einen Seite bietet das Werkzeug technisch wesentlich mehr Möglichkeiten (Abbildung 3) als UCK, auf der anderen Seite fehlen ihm jedoch elementare Funktionen wie die Auswahl der Lokalisierungen.

Abbildung 3: Reconstructor bietet wesentlich mehr Konfigurationsmöglichkeiten als UCK, verzichtet allerdings auf Einstellungen wie die Lokalisierung.

Abbildung 3: Reconstructor bietet wesentlich mehr Konfigurationsmöglichkeiten als UCK, verzichtet allerdings auf Einstellungen wie die Lokalisierung.

Das Programm verarbeitet auch auf CD oder DVD gebrannte Ubuntu-Versionen und erstellt sowohl Live- als auch Alternate-Varianten – letztere eignen sich ausschließlich zur Installation.

Im Test mit Ubuntu 7.04 versagte Reconstructor allerdings auf der ganzen Linie. Das Öffnen einer Shell in der Chroot-Umgebung mit Hilfe des dafür vorgesehenen Icons verweigert das Programm mit dem Hinweis None of the authentication protocols specified are supported and host-based authentication failed. Da Reconstructor im Gegensatz zu UCK keinen vollwertigen Paketmanager bereitstellt, fällt damit ein Systemupgrade flach, da der integrierte Installer lediglich die Installation einzelner Pakete zulässt.

Wäre das noch zu halbwegs verschmerzen, sorgte im Test der erste Boot des neu gemasterten Ubuntu-Systems gänzlich für Ernüchterung: Keine der getroffenen Einstellungen wurden von Reconstructor in das neue Image integriert. Weder starteten die ausgewählten Dienste, noch änderte sich das Desktop-Theme.

Es bleibt zu hoffen, dass die Entwickler bald diese Fehler beheben, da das Programm vor allem für versiertere Anwender viele Funktionen bereitstellt, die UCK nicht zu bieten hat.

Glossar

Chroot

Steht für “change root” und definiert das Wurzelverzeichnis neu, um eine nach außen geschlossene Umgebung zu erzeugen. Darin startende Prozesse und Programme betreffen ausschließlich das in der Chroot-Umgebung befindliche System.

LinuxUser 01/2008 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben