Installation mit debootstrap

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

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. 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:

  1. ⚓︎ Ein Terminal öffnen

  2. ⚓︎ Festplatten in Partitionen einteilen

  3. ⚓︎ Installation von Programmen

  4. ⚓︎ Rootverzeichnis ändern

  5. ⚓︎ Einen Editor öffnen

Inhaltsverzeichnis
  1. Vorbereitungen
  2. Partitionierung
  3. debootstrap installieren
  4. Zielpartition einhängen
  5. Installation des Grundsystems
  6. Ins installierte Grundsystem wechseln
    1. Konsolensprachdefinitionen anpassen
    2. Kernel und Bootloader installieren
    3. Editor installieren
    4. fstab anlegen
    5. Paketquellen eintragen
    6. Benutzer anlegen
    7. Hostname festlegen
    8. Zeitzone festlegen
  7. Installation abschließen
  8. Links

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

Zwei Partitionen werden benötigt:

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_0.X.X_all.deb 

Hierbei ist 0.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.

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 bionic /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
sudo cp /proc/mounts /mnt/etc/mtab  

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

Die entsprechende Zeichentabelle kompilieren, sodass die locale-Funktion darauf zugreifen kann:

localedef -i de_DE -c -f UTF-8 de_DE.UTF-8 

Dieser Schritt ist nicht zwingend notwendig.

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.

Der Bootloader GRUB 2 wird dabei mitinstalliert. Ist dies nicht gewünscht, kann bei der Installation die Ubuntu-Systempartition anstatt des Master Boot Records der Festplatte ausgewählt werden.

Achtung!

Nach einem Neustart ist das Linux-System, von welchem debootstrap gestartet wurde, nicht in der Bootauswahl! Dazu muss die Installation erst abgeschlossen werden.

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=f28de325-683b-46e1-b3b5-e5d999696fff /home ext4 defaults 0 1

Paketquellen eintragen

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

Nach der Änderung müssen die Paketquellen noch mittels

apt update 

neu eingelesen werden.

Anschließend können beliebige Pakete aus den Quellen installiert werden, ein Standard-Ubuntu über

apt install ubuntu-desktop 

Benutzer anlegen

Es fehlt auch noch ein Benutzerkonto, welches durch

adduser BENUTZERNAME 

angelegt werden kann. Wer sein Homeverzeichnis mit ecryptfs verschlüsseln möchte, installiert ecryptfs-utils und nutzt alternativ:

adduser --encrypt-home BENUTZERNAME 

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.

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

Hinweis:

Falls Ubuntu nicht den Hauptbootloader stellen soll, reicht es, den Bootloader im und vom entsprechenden (Haupt)System zu aktualisieren.

Falls Ubuntu das einzige System auf der Festplatte sein soll, muss nicht extra neugestartet werden, um den Bootloader zu aktualisieren.

Mit einem Neustart schließt man die Installation ab und bootet in das neue System.

Um alle auf dem Rechner installierten Systeme im GRUB-Menü der debootstrap-Installation aufzulisten, muss nach dem Neustarten dieses Ubuntus dort folgender Befehl durchgeführt werden:

sudo update-grub 

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.