Installation mit debootstrap
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 24.04 Noble Numbat
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.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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.
Links¶
Multistrap - ähnlich debootstrap mit stark erweiterter Funktionalität