ubuntuusers.de

Installation mit debootstrap

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

In dieser Anleitung wird beschrieben, wie man Ubuntu von einer bestehenden Linux-Installation aus installieren kann.

Vorbereitungen

Vor der Installation von Ubuntu mittels debootstrap müssen bereits die gewünschten Partitionen für die Installation angelegt werden, beispielsweise mit GParted.

Hinweis:

/dev/sdXY muss im Folgenden immer durch die tatsächliche Bezeichnung der Partition ersetzt werden! Wird btrfs verwendet, müssen entsprechend Subvolumes verwendet werden.

Partitionierung

Es werden mindestens zwei Partitionen benötigt:

  • Entweder im BIOS- bzw. Legacy-Modus eine 1M große, unformatierte Partition mit der Markierung bios_grub
    oder im EFI-Modus eine Partition im Format FAT32 mit der Markierung esp (gparted) bsw. bootfähig (KDE-Partitionsmanager)
    Ein Vorhandensein einer der genannten Partitionen auf einem anderen Datenträgern kann je nach Einsatzzweck bereits ausreichen.

  • /dev/sdXY, hier soll Ubuntu installiert werden

Zu anwendbaren Größen siehe Manuelle Partitionierung. Optional sind bspw. auch Verschlüsselung mit LUKS, Einteilung in Logical Volumes sowie Swap als Datei oder Partition möglich. Für die Erklärung des prinzipiellen Vorgehens wird hier jedoch auf diese Spielarten verzichtet.

debootstrap installieren

In Distributionen, die auf Debian oder Ubuntu basieren, ist debootstrap oft bereits in den jeweiligen Paketquellen verfügbar.

Ist dies nicht der Fall, muss manuell installiert werden, ansonsten kann mit dem Einhängen der Zielpartition fortgefahren werden.

Zur manuellen Installation zunächst ein Arbeitsverzeichnis anlegen und in dieses wechseln:

mkdir work
cd work 

Danach debootstrap herunterladen und im Arbeitsverzeichnis entpacken. Die jeweils aktuelle Version von debootstrap kann von packages.debian.org 🇬🇧 heruntergeladen werden.

Jetzt wird das Paket mit ar entpackt:

ar -xf debootstrap_1.X.X_all.deb 

Hierbei ist 1.X.X durch die aktuelle Versionsnummer zu ersetzen.

Die benötigten Dateien liegen im Verzeichnis data.tar.gz und müssen nun ins Wurzelverzeichnis entpackt werden:

sudo tar -xf data.tar.gz -C / 

Achtung!

Durch das Entpacken ins Wurzelverzeichnis können unter Umständen Systemdateien überschrieben werden.

Zielpartition einhängen

Jetzt muss die Partition, auf der Ubuntu installiert werden soll, eingehängt werden:

sudo mount /dev/sdXY /mnt 

Achtung: der Besitzer und die Gruppe des eingehängten Verzeichnisses muss root sein.

Im BIOS-Modus muss die bios_grub nicht eingehängt werden.

Jedoch im EFI-Modus ist es erforderlich diese ESP-Partition einzubinden und das Verzeichnis vorher anzulegen.

sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sdWV /mnt/boot/efi 

Installation des Grundsystems

Danach kann das Grundsystem mittels debootstrap auf die Zielpartition installiert werden:

sudo debootstrap --variant=minbase --arch=ARCHITEKTUR CODENAME /mnt http://de.archive.ubuntu.com/ubuntu/ 
sudo debootstrap --variant=minbase --arch=amd64 noble /mnt http://de.archive.ubuntu.com/ubuntu 

Weitere mögliche Parameter für --arch sind: alpha, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 und sparc.

Hinweis:

Die im oben angegebenen Befehl verwendete Option --variant=minbase installiert nur ein sehr rudimentäres System, welchem unter Umständen für die Arbeit wichtige Programme fehlen (z.B. sudo, ping, route, ifconfig etc.). Wer sich die Arbeit des manuellen Installierens dieser Pakete hinterher sparen möchte, der lässt die Option --variant ganz weg. Hierdurch wird ein vollwertiges Kommandozeilensystem installiert.

Hinweis:

Während ein 32-Bit-System auch von einem 64-Bit-System aus installiert werden kann, ist dies umgekehrt nicht möglich!

Ins installierte Grundsystem wechseln

Nun müssen die Verzeichnisse eingebunden werden, die für ein chroot notwendig sind:

sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /dev/pts /mnt/dev/pts
sudo mount -t sysfs /sys /mnt/sys
sudo mount -t proc /proc /mnt/proc 

Um auch die Internetverbindung weiterzureichen wird noch

sudo cp /etc/resolv.conf /mnt/etc/resolv.conf 

benötigt. Danach kann mittels

sudo chroot /mnt 

in das installierte Grundsystem gewechselt werden.

Konsolensprachdefinitionen anpassen

Optional kann man jetzt schon die entsprechende Zeichentabelle kompilieren, sodass die locale-Funktion darauf zugreifen kann:

apt install locales
localedef -i de_DE -c -f UTF-8 de_DE.UTF-8 

Editor installieren

Nun wird ein Editor der Wahl zum Anpassen der Konfigurationsdateien installiert. Der Einfachheit halber wird hier beispielhaft Nano genannt, natürlich kann hier auch VIM (oder jede andere Kommandozeilen-Editor) verwendet werden:

apt install nano 

fstab anlegen

Als nächster Schritt muss noch eine fstab für das neuinstallierte System angelegt werden:

nano /etc/fstab 

Dort werden die entsprechenden Daten eingesetzt.

Hinweis:

Die UUID-Werte müssen im Folgenden immer durch die tatsächlichen Bezeichnung der Partition ersetzt werden!

Die /etc/fstab hat nun folgendes Muster:

UUID=18055918-6045-42e9-9492-66e3fd29c199  swap        swap   defaults    0  0
UUID=69b5fb9c-774d-4d35-82f2-6a17faa446a1  /           ext4   defaults    0  1
UUID=1D2C-7EB7                             /boot/efi   vfat   umask=0077  0  1
UUID=f28de325-683b-46e1-b3b5-e5d999696fff  /home       ext4   defaults    0  1

Paketquellen eintragen

Im nächsten Schritt werden Paketquellen eingetragen. Diese können dem Artikel Paketquellen im Format deb822 (Abschnitt „Offizielle-Quellen“) entnommen werden.

nano /etc/apt/sources.list.d/ubuntu.sources 

Zur Erinnerung wird an die alte Stelle ein Hinweis auf die neue geschrieben:

echo "# wurde ersetzt durch /etc/apt/sources.list.d/ubuntu.sources" > /etc/apt/sources.list 

Nach der Änderung müssen die Paketquellen noch mittels

apt update 

neu eingelesen werden.

An dieser Stelle kann man auch die bislang installierten Paket aktualisieren.

apt upgrade 

Kernel und Bootloader installieren

Dem Grundsystem fehlt noch das Kernel-Image. Dieses wird per

apt install linux-generic 

nachinstalliert.

Bei LTS-Versionen können statt dessen auch deren HWE-Metapakete installiert werden.

Dabei werden einige Pakete für Bootloader GRUB 2 mitinstalliert, jedoch noch kein Bootloader geschrieben. Wie man das System zum Starten bekommt ist unter Installation abschliessen beschrieben.

Desktopumgebung installieren

Nun können beliebige Pakete aus den Quellen installiert werden, der standardmäßige Ubuntu-modifizierte GNOME-Desktop über

apt install ubuntu-desktop 

Oder auch der entschlackte GNOME Vanilla Desktop:

apt install vanilla-gnome-desktop 

Benutzer anlegen

Es fehlt auch noch ein Benutzerkonto, welches durch

adduser BENUTZERNAME 

angelegt werden kann. Da zu diesem Zeitpunkt das Tastaturlayout noch nicht eingestellt ist, empfiehlt es sich zunächst ein „einfaches“ Passwort zu wählen, das mit dem englischem Tastaturlayout kompatibel ist (d. h. kein y, z, Umlaute, Sonderzeichen). Alternativ kann man die Spracheinstellung vorziehen.

Anschließend den Benutzer noch in die notwendigen Gruppen eintragen. Die standardmäßigen Gruppenzugehörigkeiten können unter Benutzer und Gruppen für die jeweiligen Ubuntuversionen eingesehen werden.

sudo

Möchte man auf dem System auch Kommandos mittels sudo mit erweiterten Rechte starten können, so muss einerseits das gleichnamige Paket installiert werden

apt install sudo 

sowie der Benutzer in die Gruppe sudo aufgenommen werden

usermod -aG sudo BENUTZERNAME 

Hostname festlegen

Das System hat noch keinen hostname. Wie dieser angelegt werden kann, ist dem Artikel Rechnername zu entnehmen.

Zeitzone festlegen

Die gewünschte Zeitzone kann durch

dpkg-reconfigure tzdata 

ausgewählt werden.

Installation abschließen

Ist das frisch installierte System Bestandteil einer Multiboot-Umgebung kann man es über den bereits bestehenden GRUB erkennen lassen (DISBALE_OS-PROBER=false sowie GRUB-Konfiguration aktualisieren).

Soll das frisch installierte System jedoch allein booten, so muss der Bootloder noch geschrieben werden. Für den BIOS-Mode wurden die Pakete bereits als Abhängigkeit vom Kernel installiert.

Im EFI-Mode müssen noch Pakete nachinstalliert werden, in Abhängigkeit, ob man das System mit oder ohne secure-boot betreiben möchte.

Danach schreibt man den Bootloader auf das Gerät (nicht die Partition), auf dem sich die bios_grub bzw. esp befindet.

grub install /dev/sdZ
update-grub 

Andere Boot-Konstellationen würden den Rahmen dieses Artikels sprengen.

Nacharbeit

Nach dem ersten Booten in das neue System steht u. U. noch kein Netzwerk zur Verfügung. Die Netzwerkverbindung muss zunächst noch z.B. über Netplan eingerichtet werden.

Die Spracheinstellungen sind auch noch anzupassen.

Diese Revision wurde am 17. Dezember 2024 20:32 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Installation