Start   Impressum   Lizenz         online lesen   Download         Online-Shop   Jumping Blue Turtle

Debian für Unternehmer - Debian-Know-how

6010: Das Grundsystem-Template verwenden

In diesem Modul lernen Sie, wie Sie ein in Modul 6000 angefertigtes Grundsystem-Template verwenden können. Das unten gezeigte Szenario hat als Zielpartition die Partition "/dev/sda6" mit dem Label "os2".

1. Partition formatieren

Es könnte sein, dass die Partition noch brach liegt, weil sie neu ist. Formatieren Sie die Zielpartition und geben Sie ihr den Namen "os2":

mke2fs -j /dev/sda6
e2label /dev/sda6 os2
tune2fs -i 6m -c 50 /dev/sda6

Wenn Sie mehr Details über die soeben verwendeten Befehle wissen möchten, dann können Sie im Modul 4100 mehr über sie erfahren.

2. Template auspacken

Jetzt müssen Sie an den Inhalt des Templates herankommen, um ihn kopieren zu können. Packen Sie das Template aus:

cd debian_6_0_4/6templates
cp -a 0001_grundsystem.tar.bz2 template.tar.bz2
bzip2 -dv template.tar.bz2
tar -xvf template.tar
rm template.tar

3. Checksummen prüfen

Prüfen Sie die Checksummen. Nur wenn die Prüfungen bestanden sind, sind die Daten in Ordnung. Leiten Sie die Ergebnisse in Dateien um:

md5sum -c md5liste.md5 > resultat_md5.txt
sha1sum -c sha1liste.sha1 > resultat_sha1.txt

Jetzt können Sie die beiden Dateien "resultat_md5.txt" und "resultat_sha1.txt" öffnen und nachsehen, ob hinter jeder der 10000, 100000 oder 1 Million geprüften Dateien ein OK steht, denn nur dann haben sie den Test bestanden.

Sie haben keine Lust, eine Liste mit 1 Million Einträgen zu checken? Kein Problem! Es geht auch mit deutlich weniger Arbeitsaufwand. Nutzen Sie "grep", um alle Zeilen herauszufiltern, die mit "OK" enden. Alle anderen Zeilen werden ausgegeben und zeigen an, dass etwas nicht in Ordnung ist:

cat resultat_md5.txt | grep "[^O].$\|[^K]$"
cat resultat_sha1.txt | grep "[^O].$\|[^K]$"

Wenn alles in Ordnung ist, dann werden Sie feststellen, dass die beiden "grep"-Befehle keine Ausgaben produziert haben.

Um zu verstehen, wie der Check funktioniert, sollten Sie mal einen Fehler provozieren. Packen Sie dazu das Template aus und verändern Sie mal den Inhalt einer beliebigen Datei, zum Beispiel der Datei "0001_grundsystem/root/.bashrc".

Prüfen Sie anschließend die Checksumme, wie oben gezeigt. Die "grep"-Befehle müssten jetzt folgende Inhalte in die Kommandozeile schreiben:

0001_grundsystem/root/.bashrc: FAILED

Jetzt sollten Sie verstanden haben, wie der Check funktioniert. Löschen Sie das ausgepackte Template, damit Sie es nicht aus Versehen benutzen, denn Sie haben es ja gerade böswillig manipuliert.

4. Grundsystem in die Partition kopieren

Mounten Sie die frisch formatierte Partition und kopieren Sie das Betriebssystem dorthin:

mkdir os2
mount /dev/sda6 os2
rm -R os2/lost+found
cp -a 0001_grundsystem/* os2

Räumen Sie im Rohstofflager auf, denn hier sind Sie zunächst fertig:

rm resultat_sha1.txt
rm resultat_md5.txt
rm sha1liste.sha1
rm md5liste.md5
rm -R 0001_grundsystem

5. "/etc/fstab" anpassen

Editieren Sie die Datei "os2/etc/fstab".

In der "fstab" müssen die bei jedem Rechner-Neustart automatisch eingebundenen Partitionen den neuen Umständen der neuen Umgebung angepasst werden.

In unserem Beispiel müssen alle Vorkommen wie folgt verändert werden:

/dev/sda7 --> /dev/sda6

6. "grub" anpassen

Editieren Sie die Datei "os2/boot/grub/menu.lst".

Auch hier müssen die Vorkommen entsprechend geändert werden:

/dev/sda7 --> /dev/sda6
(hd0,6) --> (hd0,5)

Denken Sie auch daran, dass Ihr Hauptbootmenü die Partition "os2" erreichen muss.

7. Den Bootsektor beschreiben

Das Betriebssytem hat ein lokales Bootmenü. Dementsprechend wird dessen lokales Grub in den Bootsektor der neuen Partition verankert:

grub-install --root-directory=os2 /dev/sda6

Erklärung: Die Angabe hinter "--root-directory" entspricht der gemounteten Partition, die das "/"-Verzeichnis wäre, wenn Sie das in dieser Partition befindliche Betriebssystem gebootet hätten. In dieser Partition befinden sich die Bootmenü-Daten, die "grub" mit dem Ziel-Bootsektor (hier Partition 6 der ersten Festplatte) verknüpft.

Für den Fall, dass Sie von meiner Konstellation abweichen, können Sie hier leicht in ein offenes Messer rennen. Sollte es Probleme geben, lesen Sie also zunächst in der folgenden Box nach:

Angenommen, Ihre Zielpartition ist nicht "/dev/sda6", sondern "/dev/sdb7", dann wäre es möglich, dass der von Ihnen eingegebene "grub-install"-Befehl mit einem

/dev/sdb7 does not have any corresponding BIOS drive.

oder einem

grub-probe: error: Cannot find a GRUB drive for /dev/sdb7. Check your device.map.

quittiert wird. Dann wurde der Bootsektor nicht beschrieben, weil "grub" den zu verändernden Bootsektor nicht finden kann. Das ist kein Problem, denn Sie müssen "grub" nur sagen, wo er ist. Dazu öffnen Sie die "device.map" der entsprechenden Partition:

os2/boot/grub/device.map

Dort steht möglicherweise nur drin, dass "grub" die Festplatte "/dev/sda" kennt:

(hd0)   /dev/sda

In dem Moment, in dem "grub" den Bootsektor der Partition "/dev/sdb7" verändern soll, muss "grub" aber auch die Position der Festplatte "/dev/sdb" kennen (sie hat in dem Moment die Position hd1). Tragen Sie diese Information also in die "device.map" ein:

(hd0)   /dev/sda
(hd1)   /dev/sdb

Versuchen Sie das "grub-install" erneut. Nun sollte "grub" wissen, welche Partition gemeint ist.

8. Räumen Sie auf

Hängen Sie die fertiggestellte Partition mit einem "umount"-Befehl ab:

umount os2
rmdir os2

9. System hochfahren

Verlassen Sie Ihr aktuelles System und booten Sie das frisch auf der Partition "/dev/sda6" mit dem Namen "os2" hinterlegte System.

Wenn Sie das Template in ein System eingespielt haben, dessen SWAP-Partition sich nun an einer geänderten Position befindet, dann arbeiten Sie bitte die Zusatzhinweise in Modul 6110 durch.