Debian debootstrappen
Debootstrap ermöglicht die Installation eines Debian Betriebssystems aus einem laufendem System heraus. Insbesondere kann dabei das Installationsziel physikalische Partitionen sein, aber auch chroot-Umgebungen. Debootstrap selber installiert nur ein minimales Grundsystem, was zunächst noch einigen Anpassungen bedarf. Ist dies geschafft, kann man sehr leicht mittels apt ein vollwertiges System erstellen. Dieser Artikel will dabei die prinzipielle Vorgehensweise aufzeigen.
Vorbereitungen
Als Voraussetzungen ist es zunächst einmal nötig das Paket "debootstrap" installiert zu haben. Soweit zu nötigen Paketen. Als nächstes muss das Ziel vorbereitet werden. Dazu wird das Wurzelverzeichnis erstellt. Ist das Ziel eine chroot-Umgebung ist dies schnell mit dem Erstellen des Verzeichnisses getan. Für eine herkömmliche Installation hingegen, muss zunächst partitioniert werden und die Partitionen entsprechend in das Verzeichnis gemountet werden. Soll später grub1 benutzt werden, so empfiehlt es sich, einen /boot Partition anzulegen, dann kann auch ext4 für / genommen werden. Auch empfiehlt es sich gleich verschiedene Dateisysteme zu mounten. Ist das Wurzelverzeichnis /media/newdeb, genügt dazu
# mkdir /media/newdeb/proc # mount --bind /dev /media/newdeb/dev # mount --bind /proc /media/newdeb/proc # mount --bind /sys /media/newdeb/sys
Ist diese Arbeit getan, kann mit dem eigentlichen Debootstrappen begonnen werden
Der Debootstrap Vorgang
Das Programm debootstrap erwartet 3 Argumente. Das ist erstens der (Code)name der zu installierenden Debianversion also z.B. lenny oder unstable. Zweitens wird der Pfad zum Wurzelverzeichnis benötigt, etwa /media/newdeb. Und drittens die Adresse eines Debianspiegels, z.B. http://ftp.de.debian.org/debian. Für weitere Optionen beachte man $ man debootstrap. Der ganze Vorgang wird also mit
# debootstrap lenny /media/newdeb http://ftp.de.debian.org/debian
angeworfen. Nun ist es Zeit für die obligatorische Tasse Kaffee. Ist das Debootstrapen abgeschlossen, kann es mit den grundlegenen Einstellungen weitergehen.
Das neue System einrichten
Nun gilt es, insbesondere für herkömmliche Installationen, die wichtigsten Einstellungen vorzunehmen. Dazu wechselt man per
# chroot /media/newdeb
in die neue Installation. (Folgende Dinge sind vor allem für herkömmliche Installationen wichtig und können teilweise in chroot Umgebungen vernachlässigt werden. Falls eine chroot-Umgebung erstellt wird, dann bitte genau hinschauen.)
Zunächst überprüfen wir den Inhalt der /etc/apt/sources.list und korrigieren, soweit nötig. Anschließend wird ein
# apt-get update bzw. # aptitude update
ausgeführt.
Nun installieren wir folgende Pakete:
console-data console-setup tz-data less locales
Zusätzlich benötigen wir ein Kernel-Packet. Am einfachsten ist es das Meta-Paket zu installieren.
# aptidude install linux-image
Abschliesend wird mit
# dpkg-reconfigure tz-data console-data console-setup locales
die Zeitzone, locales und die charsets eingestellt.
Jetzt kommt ein häufiger und gern vergessener Schritt! Nämlich, das root Passwort zu setzen.
# passwd
Es ist auch möglich gleich mit adduser weitere Benutzer zu erstellen.
Weiter Schritte, die im Rahmen dieses Artikels nicht im Detail besprochen werden:
- In /etc/fstab die benötigten mounts eintragen (Nicht proc vergessen! Ein Eintrag dafür wäre: proc /proc proc defaults 0 0 )
- In /etc/network/interfaces die Netzwerkkarten einrichten, insbesondere das Loopback-Interface lo
- In /etc/hostname den Hostnamen festlegen
- In /etc/hosts Alias festlegen
- In /etc/resolv.conf den Nameserver eintragen, falls kein DHCP benutzt wird
Damit ist die Konfiguration abgeschlossen und es kann der erste Systemstart folgen.
Der erste Systemstart
Nun gibt es 2 Möglichkeiten um das neue System zu booten.
- Einen neuen Bootloader installieren. Dazu muss zunächst per apt der gewünschte Bootloader installiert werden. z.B. für Squeeze
# aptitude install grub-legacy
Apt müsste denn Bootloader auch schon richtig eingerichtet haben, aber das sollte man umbedingt überprüfen! - Denn bereits vorhandenen Bootloader weiter nutzen. Dazu verlassen wir nun mit
# exit
wieder unsere neue Installation. Nun muss der neue Kernel in dem vorhanden Bootloader eingetragen werden. Bei grub-legacy erfolgt dies in der /boot/grub/menu.lst.
Nun der Neustart des Systems. Nach einer Weile müsste uns der Login-prompt unseres neuen Debian begrüßen. Hier melden wir uns mit root an. Wir haben nun ein vollwertiges Debian, das nach Lust und Laune mit Programmen bestückt werden kann.
Häufige Fehler bei chroot-Umgebungen
Wenn man mit debootstrap eine chroot-Umgebung installieren möchte, dann sollten folgende Punkte beachtet werden:
die Partition, auf der das chroot liegt, darf nicht mit der Option nodev gemountet sein.
- der grsecurity-Patch darf nicht im Kernel sein.