Alternativ zur Installation über ein CD-Laufwerk lässt sich die Distribution auch über einen USB-Stick einrichten. Das ist im Detail etwas unbequemer, weil Sie das Installationsmedium selbst bespielen, das BIOS-Setup des Zielsystems geeignet zähmen und einige Handgriffe extra erledigen müssen. Andererseits ist ein USB-Stick eine elegante Möglichkeit, die Distribution auf Systemen zu installieren, bei denen der Anschluss eines CD-Laufwerks nicht oder nur schwerlich möglich ist.
Um die Distribution von einem USB-Stick zu installieren, brauchen Sie ein Exemplar, das nahezu 256 MByte oder mehr Platz bietet. Die Tatsache, dass auf dem Stick die Zahl 256 prangt, ist kein sicherer Hinweis darauf. Am besten ist, Sie prüfen es vorher, indem Sie den Stick unter Windows oder Linux einbinden und sich vergewissern. Der Stick sollte zumindest 243 MByte Platz bieten.
Wir stellen keine vollständige Image-Datei zum Bespielen des Sticks zur Verfügung, sondern nur die gegenüber der Heft-CD aus c't 4/2005 fehlenden Dateien und einige Hilfestellungen, um daraus eine fertige Image-Datei zu erzeugen. Hilfe dabei leistet ein spezielles Programm namens jigdo. Was Sie konkret tun müssen, können Sie in einer ausführlichen Anleitung nachlesen. Das Folgende geht davon aus, dass Sie sich eine Image-Datei mit dem Namen ctsrv103usb_256.img gebaut haben (Achtung: diese Datei entspricht nicht der ebenfalls mit jigdo erstellbaren, aktualisierten Image-Datei der Installations-CD mit dem Namen ctsrv103cd.iso, sondern enthält eine für den Stick speziell reduzierte Teilmenge Dateien).
Eine Warnung vorab: Nicht nur die darauf abgelegten Daten gehen beim Aufspielen des Image auf den Stick verloren, sondern auch die eventuell vorhandene Partitionierung. Die Images, die wir bereitstellen, enthalten nur einen Boot-Sektor (Superfloppy), aber keine Partitionierung. Wenn Sie nach der Installation Ihren Stick im Originalzustand wieder herstellen wollen, sollten Sie ihn vorher sichern (Hinweise dazu folgen am Schluss).
Linux-Nutzer müssen lediglich den Stick anstecken,
herausfinden unter welchem Namen er ansprechbar ist
(/dev/sda, /dev/sdb et cetera) und mit dem Befehl
dd
das Image auf den Stick schreiben. Wenn
die Image-Datei in /tmp liegt und /dev/sdb der Stick
ist, lautet der Befehl:
dd if=/tmp/ctsrv103usb_256.img of=/dev/sdb
Je nach Stick und USB-Port (1.1 versus 2.0) kann das Übertragen des rund 256 MByte großen Image eine Weile dauern. Der Befehl muss gleichviele Sektoren beziehungsweise Blöcke lesen und schreiben -- sind die unterschiedlich oder kommt es zu einem Abbruch, dann funktioniert der Stick als Installationsmedium nicht. Vermutlich ist er zu klein, um das Image aufzunehmen oder defekt.
Wir haben unter Windows XP einige Programme zum Bespielen von USB-Sticks ausprobiert, doch gescheit funktioniert hat nur eines: eine Windows-Portierung von dd. Diese Version von dd hat den Vorteil, dass sie nicht nur Image-Datei auf das nackte Geräte schreibt oder davon liest, sondern auch gleich Informationen über die Geräte liefert.
Wenn Sie den Stick angesteckt haben und unter
Arbeitsplatz zu Gesicht bekommen, rufen Sie in einer
Eingabeaufforderung dd zunächst mit dem Paramter
"--list" auf, also dd --list
. Das gibt eine
Aufstellung aller Platten im System aus. Suchen Sie in
dieser Aufstellung Ihren USB-Stick heraus (zu erkennen
am Laufwerksbuchstaben). Die entscheidende Passage für
den Stick (Laufwerk g:) an einem Beispielsystem sieht so
aus:
...
\\.\Volume{7180dd30-7535-11d9-b4eb-0050228c7de9}\
link to \\?\Device\Harddisk1\DP(1)0-0+a
removeable media
Mounted on g:\
...
\\?\Device\Harddisk1\Partition0
link to \\?\Device\Harddisk1\DR13
Removable media other than floppy. Block size = 512
\\?\Device\Harddisk1\Partition1
link to \\?\Device\Harddisk1\DP(1)0-0+e
Removable media other than floppy. Block size = 512
...
Markieren Sie am besten über das Kontextmenü des Fensters (Bearbeiten/Markieren) den Gerätenamen des Sticks (hier im Beispiel \\?\Device\Harddisk1\Partition0, Partition0 also das "nackte" Gerät und nicht etwa Partition1 bei einem Stick, der partitioniert ist). Mit der Bezeichnung können Sie direkt auf das Gerät zugreifen und auf einen Stick, obwohl der partitioniert ist, das Image im Superfloppy-Format spielen:
dd if=ctsrv103usb_256.img of=\\?\Device\Harddisk1\Partition0
Wie auch bei Linux braucht das Überspielen des Image unter Umständen eine Weile und sollte gleichviele Blöcke lesen wie schreiben. Fehlermeldungen deuten auf eine zu geringe Kapazität des Sticks hin.
Das Programm dd eignet sich ebenso zum Sichern der
Inhalte eines Sticks. Ändern Sie entsprechend die
Parameter if=
und of=
ab, zum
Sichern des Sticks an /dev/sdb in die Datei
/root/stickbackup.img etwa wie folgt:
dd if=/dev/sdb of=/root/stickbackup.img
oder analog unter Windows:
dd if=\\?\Device\Harddisk1\Partition0 of=stickbackup.img
Zurücksichern können Sie es, indem Sie of und if vertauschen.
Eine allgemeingültige Anleitung, was im BIOS-Setup eines beliebigen PCs einzustellen ist, damit dieser einen angesteckten USB-Stick als Boot-Gerät akzeptiert, lässt sich leider nicht geben. Die Vielfalt ist hier einfach zu groß. Mit einer Kombination der folgenden Kniffe sind wir in der Regel aber zum Ziel gekommen:
Stecken Sei den vorbereiteten Stick an einen USB-Port und schalten Sie den PC ein. Es kann nötig sein, denn PC kurz vom Netz zu trennen.
Rufen Sie das BIOS-Setup auf und schauen Sie sich dort die Boot-Einstellungen an.
Prüfen Sie das BIOS-Setup Einstellmöglichkeiten für den Betrieb einer USB-Tastatur vorsieht. Oft muss diese Option aktiv sein, damit das Starten vom Stick klappt (eine solche Tastatur brauchen Sie freilich nicht; manches BIOS gibt sogar den Hinweis auf das Booten von USB-Geräten).
Nach dem Speichern der Einstellungen sollte das System vom Stick starten. Sie sehen dann den gleichen Startschirm, den auch die CD beim Booten anzeigt. Sie können wie bei der CD auch am boot-Prompt die Optionen "manual" oder "auto" wählen -- weitere Hinweise dazu enthält der Artikel in c't 4/2005.
Anders als bei der Heft-CD, bei der Sie über das Betätigen der "Enter"-Taste das System von der Festplatte starten lassen können, müssen Sie nach der Basisinstallation mit einem Stick und dem bei einer automatisch erfolgenden Installation selbstständig folgenden Restart den Stick zunächst wieder abziehen, damit das installierte Basissystem von der Platte starten kann.
Wenn Sie das Basissystem nach der Installation vom Stick starten, fragt es zunächst wie bei der CD-Installation das root-Passwort ab und richtet einen weiteren Benutzer ein. Anschließend bekommen Sie eine Meldung des Installations-/Konfigurationsprogramms ctsrvcfg zu sehen, das die Installations-CD verlangt.
Brechen Sie diese Nachfrage ab. Melden Sie sich
anschließend als Benutzer "root" an, stecken Sie den
Stick an und mounten Sie ihn, etwa mit mount
/dev/sda /mnt -t vfat
(den Gerätenamen müssen Sie
gegebenenfalls variieren -- normalerweise wird er beim
Anstecken des Sticks ausgegeben oder lässt sich durch
den Aufruf von dmesg
anzeigen).
Nun müssen Sie die für die weitere Installation und
Konfiguration nötigen Dateien auf dem Stick auf die
Festplatte kopieren. Legen Sie dazu ein Verzeichnis an,
etwa /var/packages (mkdir /var/packages
),
mounten Sie das auf dem USB-Stick abgelegte ISO-Image
(mount /mnt/ctsrv103usb.iso /cdrom -o loop
)
und kopieren Sie das Debian-Repository mit den Paketen
in das frisch angelegte Verzeichnis (cp -a
/cdrom/dists /cdrom/pool /var/packages
).
Anschließend müssen Sie die neue Installationsquelle
noch der Debian-Paketverwaltung bekannt machen. Starten
Sie einen Editor mit der Datei /etc/apt/sources.list
(nano /etc/apt/sources.list
), löschen Sie
darin alle Zeilen (Ctrl beziehungsweise Strg-K)
und fügen Sie die folgende Zeile ein:
deb file:/var/packages/ sarge main non-free
Wenn Sie die Datei gespeichert haben, rufen Sie
apt-get update
auf. Das veranlasst die
Paketverwaltung dazu, die eingegebene Quellen zu prüfen
und sich dort eine Liste der erhältlichen Pakete zu
verschaffen. Fehlermeldungen deuten daraufhin, dass Sie
sich vertippt haben.
Um anschließend mit der Installation fortzufahren,
müssen Sie das Installations-/Konfigurationsprogramm
ctsrvcfg durch Eingabe von ctsrvcfg --fresh
starten. Der Rest läuft dann wie bei einer
CD-Installation auch. Da Sie alle Pakete, die sich auch
auf der CD befinden, vom Stick auf die lokale Platte
kopiert haben, verlang ctsrvcfg nicht mehr nach der
CD.