Linux & Windows | Praxis | Thorsten Eggeling | 3/2025 | 28. März 2025

Linux unter Linux installieren

Für eine Linux-Installation gibt es erstaunlich viele Varianten. Eine davon bietet Debootstrap, das zusammen mit einem Script für die Konfiguration sehr schnell zu einem lauffähigen System führt.

Sie können Systeme für virtuelle Maschinen automatisch einrichten. Die Installation des Basissystems erfolgt mit Debootstrap, die weitere Konfiguration per Script.

Für eine Linux-Installation gibt es erstaunlich viele Varianten. Eine davon bietet Debootstrap, das zusammen mit einem Script für die Konfiguration sehr schnell zu einem lauffähigen System führt.

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 Desktop­oberflä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.

Zusätzliche Pakete: Das Basissystem enthält noch keine Desktopoberfläche. Im Script legen Sie fest, welcher Desktop und welche Programme im System enthalten sein sollen.

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.

Kernel Virtual Machine: Eine neue virtuelle Maschine lässt sich mit virt-install und einigen Parametern erstellen. Wenn nötig, passen Sie die Konfiguration für das System an.