Bei einer Standardinstallation richtet das Setuptool zunächst ein minimales Basissystem ein. Danach folgen die weiteren Pakete für ein Desktopsystem und die Konfiguration unter anderem von Sprache und Tastaturbelegung (siehe Artikel ab Seite 38). Das Tool Debootstrap kann den ersten Teil der Installation übernehmen. Es läuft unter Ubuntu 22.04/24.04 oder Linux Mint 21/22 und erzeugt aus den heruntergeladenen DEB-Paketen ein Linux-Dateisystem mit den wichtigsten Programmen. Als Desktopoberfläche können Sie etwa Gnome, XFCE oder KDE über zusätzliche Pakete einrichten. Unser Beispiel-Script installiert das System vollautomatisch in einem Festplattenabbild für die Kernel Virtual Machine (KVM). Für Virtualbox können Sie die Datei konvertieren.
Service: Die Scripts und Befehlszeilen zu diesem Artikel finden Sie unter https://m6u.de/DEBST (ergänzend hier auch ein Beispiel-Script, um eine virtuelle auf eine physikalische Festplatte zu kopieren).
So verwenden Sie Debootstrap
Installieren Sie das zunächst Tool im Terminal mit
sudo apt install debootstrap
Der allgemeine Aufruf erfolgt mit
sudo debootstrap --arch amd64 [Suite] [Ziellaufwerk] http://de. archive.ubuntu.com/ubuntu/
Der Platzhalter „[Suite]“ wird dann durch den Codenamen der gewünschten Ubuntu-Version ersetzt, etwa „jammy“ für Ubuntu 22.04 oder „noble“ für Ubuntu 24.04. Welche Bezeichnungen insgesamt möglich sind, erfahren Sie im Ordner „/usr/share/debootstrap/scripts“. Alle Ubuntu-Versionen sind allerdings Symlinks auf „gutsy“ (Ubuntu 7.10). Weil sich seitdem am Verfahren nichts geändert hat, akzeptiert Debootstrap jeden gültigen Ubuntu-Codenamen, weshalb „noble“ in dem Ordner nicht vorkommt. Zur Zeit reicht die Unterstützung bis „plucky“ (Ubuntu 25.04).
Der Platzhalter „[Ziellaufwerk]“ ist der Ordner, wo die Installation erfolgen soll. Dabei handelt es sich in der Regel um die eingehängte Partition einer physischen oder virtuellen Festplatte. Die URL am Ende der Befehlszeile verweist auf die Paketquelle.
Linux per Script installieren
Debootstrap alleine reicht für ein lauffähiges System nicht aus. Für ein Ubuntu mit Desktop sind weitere Pakete erforderlich, außerdem muss die Datei „/etc/fstab“ für die vorhandenen Partitionen erzeugt werden. Anpassungen sind auch für Netzwerkkonfiguration, Sprache und Tastaturbelegung nötig. Das ist eine komplexe Aufgabe, für die Sie das Script „build-ubuntu-noble-image.sh“ (https://m6u.de/DEBST) verwenden. Das Original-Script stammt von https: //github.com/loz-hurst/build-debian-qemu-image, aber wir haben es für ein deutschsprachiges Ubuntu angepasst. Neben Debootstrap benötigt das Script noch zwei Pakete, die Sie mit
sudo apt install dosfstools
qemu-utils
installieren.
Kopieren Sie das Script in einen Arbeitsordner und öffnen Sie es im Texteditor. Die folgenden Variablen unterhalb von „Configuration“ sollten Sie bei Bedarf ändern:
„DEFAULT_SUITE“: Hier geben Sie die gewünschte Ubuntu-Version für Debootstrap an. Belassen Sie „noble“, außer Sie wünschen ein älteres oder neueres System.
„DEFAULT_SWAP“: Legen Sie die Größe der Swap-Partition fest. Soll keine angelegt werden, geben Sie „0“ an.
„DEFAULT_SIZE“: Bestimmen Sie die Größe der virtuellen Festplatte. Die Vorgabe „10G“ (10 GB) reicht für Ubuntu im Prinzip aus, Sie können aber auch deutlich mehr Speicherplatz bereitstellen.
„USERNAME=“ und „PASSWORD“: Das sind die Anmeldedaten für das erste Erstbenutzerkonto, das auch über Systemverwalterrechte verfügt.
„DESKTOP“: Dieser Wert steht für das Metapaket der Desktopumgebung. Die Angabe „ubuntu-desktop“ installierte den Gnome-Desktop. Es werden aber nur die wichtigsten Pakete automatisch installiert.
„EXTRA“: Da im Metapaket einige Programme wie beispielsweise Libre Office fehlen, ergänzen Sie hier beliebige weitere Softwarepakete, die Sie im System benötigen (siehe Abbildung).
„Browser“: Ubuntu installiert Firefox und Chromium als Snap-App. In der chroot-Umgebung ist das nicht möglich, kann aber später im laufenden System nachgeholt werden. Unser Script bietet als Alternative DEB-Pakete von Browsern an. Tragen Sie bei dieser Variable „firefox“ oder „chromium“ ein.
Ist alles konfiguriert, starten Sie mit
sudo ./build-ubuntu-noble-image.sh
das Script im Arbeitsverzeichnis.

Die Phasen der Installation
Das Script erstellt zuerst mit qemu-img im Ordner „VMs/ubuntu-noble“ das virtuelle Laufwerk „ubuntu-noble.qcow2“. Der Imagedatei weist
modprobe nbd && qemu-nbd -c
/dev/nbd0 [Dateiname]
den Laufwerkspfad „/dev/nbd0“ zu.
Das neue Laufwerk wird partitioniert und formatiert. Dabei entstehen eine root- und eine EFI-Partition, die unter „/mnt/debootstrap“ beziehungsweise „/mnt/debootstrap/boot/efi“ eingehängt werden. Dann erstellt Debootstrap das Basissystem. Danach ist es nötig, einige Ordner einzubinden. Der Mountbefehl
mount -o bind,ro /dev
/mnt/debootstrap/dev
sorgt beispielsweise dafür, dass die Geräte des laufenden Linux-Systems unter „/mnt/debootstrap/dev“ verfügbar sind.
Im nächsten Schritt wird das Script „/mnt/debootstrap/root/stage-2-setup.bash“ erstellt. Es enthält alle Kommandos, die für die Einrichtung des Systems erforderlich sind. Das Script startet in einer chroot-Umgebung, wobei „/mnt/debootstrap“ zum Wurzelverzeichnis „/“ wird. Alle Befehle wirken sich dadurch nur auf das System in diesem Ordner aus. Ist alles erledigt, können die Ordner unter „/mnt/debootstrap“ wieder ausgehängt und die Verbindung zum NBD-Gerät mit
qemu-nbd -d /dev/nbd0
getrennt werden.
Die Abbilddatei in einer VM nutzen
Die erstellte Imagedatei „ubuntu-noble.qcow2“ lässt sich direkt in einer Kernel Virtual Machine (KVM) verwenden. Falls Sie die Software bisher nicht nutzen, finden Sie eine Anleitung unter https://www.pcwelt.de/1160084. In der Regel richtet man virtuelle Maschinen über die grafische Oberfläche Virtual Machine Manager ein. Mit dem Tool virt-install geht es im Terminal auch automatisch. Da einige Optionen dafür erforderlich sind, haben wir das Bash-Script „create-vm-ubuntu-noble.sh“ erstellt (https://m6u.de/DEBST). Kopieren Sie es in das Arbeitsverzeichnis, das Sie bereits für die Debootstrap-Installation verwendet haben, und öffnen Sie die Datei in einem Texteditor. Die Variablen im Konfigurationsabschnitt entsprechen denen aus dem Script „build-ubuntu-noble-image.sh“. Wenn Sie dort Anpassungen vorgenommen haben, übernehmen Sie diese. Starten Sie dann das Script (ohne sudo) im Terminal:
./create-vm-ubuntu-noble.sh
Im Virtual Machine Manager erscheint eine neue VM, die automatisch startet. Da Installation und Konfiguration bereits erfolgt sind, können Sie das System sofort nutzen.
Virtualbox verwenden: Wer diesen Virtualisierer bevorzugt, startet das Script „create-vbox-ubuntu-noble.sh“ (ohne sudo). Passen Sie die Konfiguration bei Bedarf an. Die Kommentare liefern eine Hilfe. Das Script konvertiert mit qemu-img die „qcow2“-Datei in das VDI-Format. Dann konfiguriert es eine neue virtuelle Maschine, die Sie im Virtualbox Manager starten können.


