&debian; von einem anderen Unix/Linux-System aus installieren
Dieses Kapitel beschreibt, wie man &debian; von einem vorhandenen
Unix- oder Linux-System aus installiert, ohne den
menügeführten Installer zu verwenden, der im Rest dieses Handbuchs
beschrieben wird. Dieses Einmal-quer-durch-die-Installation
-HowTo
wurde erbeten von Leuten, die von Red Hat, Mandrake oder Suse zu
&debian; wechseln. In diesem Kapitel gehen wir davon aus, dass Sie
ein wenig Erfahrung mit *nix-Befehlen haben sowie mit der Navigation
durch das Dateisystem. In diesem Abschnitt symbolisiert ein $
einen Befehl, der im Homeverzeichnis des Benutzers
ausgeführt wird, während # bedeutet, dass das
Kommando im Debian-chroot ausgeführt wird.
Sobald Sie das neue Debian-System nach Ihren Wünschen konfiguriert haben,
können Sie Ihre evtl. vorhandenen eigenen Dateien hinüber verschieben und
loslegen. Deswegen wird dies auch die
zero-downtime
-&debian;-Installation (Installation ohne eine
Zeitspanne, während der das System nicht verfügbar ist) genannt. Es ist ebenso
ein geschickter Weg, mit Hardwarekomponenten zurechtzukommen, die sich sonst
nicht gut mit verschiedenen Boot- oder Installationsmedien vertragen.
Es geht los!
Benutzen Sie die *nix-Partitionierungsprogramme des vorhandenen Systems, um
Ihre Festplatte nach Bedarf neu zu partitionieren; erstellen Sie zumindest
ein neues Dateisystem plus Swap. Sie benötigen ungefähr 350MB Speicher für
eine Nur-Konsolen-Installation oder ca. 1GB, wenn Sie vorhaben, X zu
installieren (und noch mehr, wenn Sie Desktop-Umgebungen wie GNOME oder KDE
installieren möchten).
Dateisysteme auf Ihren Partitionen erzeugen: um ein Dateisystem auf einer
Partition zu erstellen, zum Beispiel ein ext3-Dateisystem auf
/dev/hda6 (dies soll in diesem Beispiel unsere
root-Partition sein):
# mke2fs -j /dev/hda6
Um stattdessen ein ext2-Dateisystem zu erzeugen, lassen Sie das
-j weg.
Initialisieren und aktivieren Sie den Swap (passen Sie die Partitionsnummer
für Ihre geplante Debian-Swap-Partition an):
# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5
Hängen Sie eine Partition (wahrscheinlich die neue) als /mnt/debinst ins
Dateisystem ein (das Installationsverzeichnis; es wird das
root-(/)-Dateisystem des neuen Debian). Der
Einhängepunkt (/mnt/debinst) ist rein willkürlich
gewählt; es wird später noch öfter darauf verwiesen.
# mkdir /mnt/debinst
# mount /dev/hda6 /mnt/debinst
Falls Sie Teile des Dateisystems (z.B. /usr) auf andere Partitionen speichern
und eingebinden möchten, müssen Sie diese Verzeichnisse manuell erstellen
und einbinden, bevor Sie mit dem nächsten Schritt weitermachen.
debootstrap installieren
Das Programm, das auch der Debian-Installer benutzt und das als offizielle
Methode angesehen wird, ein Debian-Basissystem zu installieren, ist
debootstrap. Es nutzt wget und
ar, aber ansonsten hängt es nur von
/bin/sh und grundsätzlichen
Unix-/Linuxwerkzeugen
Dazu gehören die GNU Core Utilities und Kommandos wie
sed, grep, tar und
gzip.
ab. Installieren Sie wget
und ar, falls sie noch nicht auf Ihrem laufenden System
vorhanden sind; dann laden Sie debootstrap herunter und
installieren es ebenfalls.
Oder Sie nutzen die folgende Prozedur, um es manuell zu installieren.
Erstellen Sie ein Arbeitsverzeichnis, in das Sie die .deb-Pakete entpacken.
# mkdir work
# cd work
Das debootstrap-Binary finden Sie im Debian-Archiv
(achten Sie darauf, die richtige Datei für Ihre Architektur zu verwenden).
Laden Sie das debootstrap.deb aus dem
Pool herunter, kopieren Sie es in das Arbeitsverzeichnis work und
extrahieren Sie daraus die Dateien. Sie benötigen root-Rechte, um die
Binär-Dateien zu installieren.
# ar -xf debootstrap_0.X.X_all.deb
# cd /
# zcat /full-path-to-work/work/data.tar.gz | tar xv
Starten Sie debootstrap
debootstrap kann die benötigten Dateien direkt vom
Archiv herunterladen, wenn Sie es starten. Sie können in dem folgenden Befehl jeden
Debian-Archivspiegel-Server statt http.us.debian.org/debian
einsetzen, vorzugsweise einen Spiegel in Ihrer Nähe. Eine Liste aller Spiegelserver
finden Sie auf .
Wenn Sie eine &debian;-&releasename-cap;-CD eingelegt und in /cdrom
eingebunden haben, können Sie statt der http-URL auch eine file-URL angeben:
file:/cdrom/debian/.
Setzen Sie in dem folgenden debootstrap-Befehl für
ARCH eine der folgenden Architekturbezeichnungen
ein:
alpha,
amd64,
arm,
hppa,
i386,
ia64,
m68k,
mips,
mipsel,
powerpc,
s390 oder
sparc.
# /usr/sbin/debootstrap --arch ARCH &releasename; \
/mnt/debinst http://ftp.us.debian.org/debian
Das Basissystem konfigurieren
Sie haben jetzt ein echtes, aber noch etwas mageres Debian-System auf
der Festplatte. Wechseln Sie mit chroot hinein:
# LANG=C chroot /mnt/debinst /bin/bash
Danach müssen Sie unter Umständen die Definition der Terminal-Variable
anpassen, so dass sie mit dem Debian-Basissystem kompatibel ist, zum Beispiel:
# export TERM=xterm-color
Partitionen einbinden
Sie müssen die Datei /etc/fstab erzeugen.
# editor /etc/fstab
Hier ein Beispiel, das Sie sich anpassen können:
# /etc/fstab: static file system information.
#
# file system mount point type options dump pass
/dev/XXX / ext3 defaults 0 1
/dev/XXX /boot ext3 ro,nosuid,nodev 0 2
/dev/XXX none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /media/floppy auto noauto,rw,sync,user,exec 0 0
/dev/cdrom /media/cdrom iso9660 noauto,ro,user,exec 0 0
/dev/XXX /tmp ext3 rw,nosuid,nodev 0 2
/dev/XXX /var ext3 rw,nosuid,nodev 0 2
/dev/XXX /usr ext3 rw,nodev 0 2
/dev/XXX /home ext3 rw,nosuid,nodev 0 2
Nutzen Sie den Befehl mount -a, um alle Dateisysteme,
die Sie in /etc/fstab angegeben haben, einzubinden; um
die Dateisysteme einzeln einzubinden, benutzen Sie:
# mount /path # z.B.: mount /usr
Aktuelle Debian-Systeme haben Einhängepunkte (Mountpoints) für
Wechseldatenträger in /media, behalten aber aus
Kompatibilitätsgründen auch symbolische Links in /.
Erstellen Sie diese nach Bedarf, zum Beispiel mit:
# cd /media
# mkdir cdrom0
# ln -s cdrom0 cdrom
# cd /
# ln -s media/cdrom
Sie können das proc-Dateisystem mehrfach einbinden und in frei wählbare
Verzeichnisse, obwohl /proc dafür üblich ist. Wenn Sie nicht
mount -a verwendet haben, stellen Sie sicher, dass
proc eingebunden ist, bevor Sie weitermachen:
# mount -t proc proc /proc
Der Befehl ls /proc sollte jetzt ein nicht-leeres
Verzeichnis zeigen. Falls dies fehlschlägt, können Sie vielleicht proc
außerhalb der chroot-Umgebung einbinden:
# mount -t proc proc /mnt/debinst/proc
Die Zeitzone setzen
Eine Option in der Datei /etc/default/rcS legt fest, ob
das System die Hardware-CMOS-Uhr als UTC-Zeit oder als lokale Zeit
interpretiert. Mit dem folgenden Befehl können Sie diese Option setzen sowie
Ihre Zeitzone festlegen:
# editor /etc/default/rcS
# tzconfig
Das Netzwerk konfigurieren
Um Ihr Netzwerk einzurichten, müssen Sie die Dateien
/etc/network/interfaces,
/etc/resolv.conf,
/etc/hostname und
/etc/hosts anpassen.
# editor /etc/network/interfaces
Hier sind ein paar einfache Beispiele aus
/usr/share/doc/ifupdown/examples:
######################################################################
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# See the interfaces(5) manpage for information on what options are
# available.
######################################################################
# We always want the loopback interface (die Loopback-Schnittstelle wird
# immer benötigt).
auto lo
iface lo inet loopback
# To use dhcp (wenn Sie DHCP benutzen möchten):
#
# auto eth0
# iface eth0 inet dhcp
# An example static IP setup: (broadcast and gateway are optional)
# (ein Beispiel für eine statische IP-Einstellung / broadcast und gateway
# sind hierbei optional):
# auto eth0
# iface eth0 inet static
# address 192.168.0.42
# network 192.168.0.0
# netmask 255.255.255.0
# broadcast 192.168.0.255
# gateway 192.168.0.1
Tragen Sie die Adresse Ihres/Ihrer Nameserver(s) sowie
Suchregeln in /etc/resolv.conf ein:
# editor /etc/resolv.conf
Eine einfache /etc/resolv.conf:
search hqdom.local\000
nameserver 10.1.1.36
nameserver 192.168.9.100
Geben Sie den Hostnamen Ihres Systems ein (zwischen 2 und 63 Stellen lang):
# echo DebianHostName > /etc/hostname
Und hier ein Beispiel für /etc/hosts mit
IPv6-Unterstützung:
127.0.0.1 localhost DebianHostName
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Wenn Sie mehrere Netzwerkkarten haben, sollten Sie die Namen der
Treibermodule in /etc/modules in die richtige
Reihenfolge bringen. Während des Bootens wird dann jede Karte die
Schnittstellenbezeichnung (eth0, eth1, etc.) bekommen, die Sie erwarten.
Configure Apt
Debootstrap hat eine grundsätzliche /etc/apt/sources.list
erstellt, die es erlaubt, zusätzliche Pakete zu installieren. Allerdings
möchten Sie vielleicht einige Quellen hinzufügen, z.B. für Quellpakete oder
für Sicherheits-Updates:
deb-src http://ftp.us.debian.org/debian etch main
deb http://security.debian.org/ etch/updates main
deb-src http://security.debian.org/ etch/updates main
Denken Sie daran, aptitude update auszuführen, nachdem
Sie Änderungen in der sources.list-Datei gemacht haben.
Die lokalen Einstellungen (locales) konfigurieren
Um Ihre lokalen Einstellungen anzupassen, wenn Sie nicht Englisch
verwenden möchten, installieren Sie das Paket locales
und konfigurieren es. Es wird die Verwendung von UTF-8-Locales empfohlen.
# aptitude install locales
# dpkg-reconfigure locales
Um Ihre Tastatur zu konfigurieren (falls nötig):
# aptitude install console-data
# dpkg-reconfigure console-data
Beachten Sie, dass die Tastatureinstellung nicht verändert werden kann, während
Sie im chroot sind; die Konfiguration wird jedoch beim nächsten Neustart aktiv.
Einen Kernel installieren
Wenn Sie vorhaben, dieses System zu booten, möchten Sie wahrscheinlich
einen Linux-Kernel und einen Bootloader. Sie finden verfügbare, bereits
fertig paketierte Kernel mit dem Befehl
# apt-cache search linux-image
Wenn Sie vorhaben, einen fertig paketierten Kernel zu verwenden, sollten Sie
vielleicht vorher die Konfigurationsdatei
/etc/kernel-img.conf erstellen. Hier eine Beispieldatei:
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
Detailierte Informationen über diese Datei und die verschiedenen Optionen
finden Sie in ihrer Handbuchseite (Manpage), die nach der Installation des
Paketes kernel-package verfügbar ist. Wir empfehlen
zu überprüfen, ob die eingetragenen Werte für Ihr System passend sind.
Wenn Sie grub als Bootloader verwenden möchten, können
Sie die Option do_bootloader auf no
setzen.
Um Ihre /boot/grub/menu.lst bei Installation oder
Löschung von Debian-Kernels automatisch aktualisieren zu lassen, fügen Sie
der Datei die folgenden Zeilen hinzu:
postinst_hook = update-grub
postrm_hook = update-grub
Bei Verwendung von lilo als Bootloader muss
do_bootloader auf yes
gesetzt sein.
Um einen Kernel Ihrer Wahl zu installieren, benutzen Sie seinen Paketnamen:
# aptitude install linux-image-&kernelversion;-arch-etc
Wenn Sie die Datei /etc/kernel-img.conf vor der
Installation eines Debian-Kernels nicht erstellt haben, werden Ihnen eventuell
einige Fragen gestellt, die sich darum drehen.
Den Bootloader einrichten
Um Ihr &debian;-System bootfähig zu machen, richten Sie Ihren Bootloader ein,
so dass er den installierten Kernel mit Ihrer neuen root-Partition startet.
Bedenken Sie, dass debootstrap keinen Bootloader installiert,
allerdings können Sie aptitude in Ihrer Debian-chroot-Umgebung benutzen, um
dies zu erledigen.
Lesen Sie info grub oder man
lilo.conf, um Informationen über die Einrichtung des Bootloaders
zu bekommen. Wenn Sie das Betriebssystem, das Sie zur Installation von Debian
benutzt haben, behalten möchten, müssen Sie lediglich einen Eintrag zur
vorhandenen grub-menu.lst oder zu
lilo.conf hinzufügen. Die Datei
lilo.conf können Sie auch auf Ihr neues Debian-System
kopieren und dort bearbeiten. Rufen Sie danach lilo auf
(bedenken Sie: lilo nutzt die lilo.conf relativ zum
System, von dem aus Sie es aufrufen).
Die Installation und Einrichtung von grub ist so
einfach wie:
# aptitude install grub
# grub-install /dev/hda
# update-grub
Der zweite Befehl installiert grub (in diesem Fall in den
Master Boot Record (MBR) von hda). Der letzte Befehl erzeugt
eine schöne funktionierende Konfigurationsdatei
/boot/grub/menu.lst.
Hier ein grundsätzliches Beispiel einer /etc/lilo.conf:
boot=/dev/hda6
root=/dev/hda6
install=menu
delay=20
lba32
image=/vmlinuz
label=Debian
Lesen Sie man yaboot.conf, um Informationen über
die Einrichtung des Bootloaders zu bekommen. Wenn Sie das Betriebssystem, das Sie
zur Installation von Debian benutzt haben, behalten möchten, müssen Sie
lediglich einen Eintrag für das Debian-System zur vorhandenen
yaboot.conf hinzufügen.
Sie können auch die Datei yaboot.conf auf Ihr
neues Debian-System kopieren und dort bearbeiten. Rufen Sie danach ybin auf
(bedenken Sie: ybin nutzt die yaboot.conf relativ zum
System, von dem aus Sie es aufrufen).
Hier ein grundsätzliches Beispiel einer /etc/yaboot.conf:
boot=/dev/hda2
device=hd:
partition=6
root=/dev/hda6
magicboot=/usr/lib/yaboot/ofboot
timeout=50
image=/vmlinux
label=Debian
Auf einigen Maschinen müssen Sie unter Umständen ide0:
benutzen statt hd:.
Zum Schluß
Wie bereits vorher erwähnt, wird das installierte System nur sehr
minimalistisch ausgestattet sein. Wenn Sie möchten, dass das System ein
bisschen ausgereifter wird, gibt es eine einfache Methode, alle Pakete mit
Standard
-Priorität zu installieren:
# tasksel install standard
Sie können natürlich auch einfach aptitude benutzen,
um individuell Pakete zu installieren.
Nach der Installation liegen viele heruntergeladene Pakete in dem
Verzeichnis /var/cache/apt/archives/. Sie können
etliches an Festplattenspeicher wieder freigeben, indem Sie folgendes
ausführen:
# aptitude clean