Eine neue Linux-Distribution einfach einmal auszuprobieren, ist nicht immer leicht: Windows und das bisherige Linux-System dürfen nicht beschädigt werden, auf der anderen Seite möchte man aber auf die Bookmarks und Mails nicht verzichten. Wir zeigen Ihnen, wie Sie alles unter einen Hut bekommen.
Nach Erscheinen einer neuen Distribution ist die Versuchung oft groß: Soll man das alte System wirklich umstellen, läuft das neue Linux auch sicher stabil, und wird die eigene Hardware komplett unterstützt? Da wäre es eine große Hilfe, wenn man die neue Distribution einfach installieren könnte, ohne die vorhandenen Systeme zu beeinträchtigen.
Das ist möglich, erfordert aber erst einmal einen Komplettabriss, denn nachträglich lässt sich eine solche Struktur nur sehr aufwendig einbauen. Die Belohnung ist eine System, bei dem man zukünftige Distributionen ohne großen Aufwand installieren, ausprobieren und bei Nichtgefallen wieder löschen kann. Außerdem sollen die Home-Verzeichnisse der Distributionen bis auf distributionsabhängige Komponenten gleich sein, so dass man die eigenen E-Mails, Mozilla-Einstellungen und Texte unter jedem Linux-System identisch vorfindet.
Um mehrere Distributionen nebeneinander zu betreiben, sind einige Vorüberlegungen nötig, am besten noch vor der Installation des ersten Linux-Systems. Als Ausgangspunkt nehmen wir daher einen Computer, auf dem die gesamte Festplatte mit Windows XP belegt ist – das ist auf den meisten neu gekauften Rechnern der Fall. Zunächst müsste einmal Platz für Linux geschaffen werden: zum Beispiel durch Löschen der XP-Partition, Anlegen einer kleineren und Neuinstallation von Windows. Die Neuinstallation kann schon erste Schwierigkeiten bereiten, denn statt einer Windows-XP-CD gibt es meist nur eine Recovery-CD, die den Auslieferungszustand des Computers wiederherstellt – und zwar oft inklusive Partitionierung.
Abhilfe schafft zum Beispiel das Programm Partition Magic, das es im Bundle mit einer SuSE Linux 8.1 Professional für 99 Euro beim Nürnberger Distributor gibt. Partition Magic ist auf einer eigenen, boot-fähigen CD unter gebracht, eine Installation des Programms ist also nicht nötig. Legen Sie einfach die CD ins Laufwerk und starten Sie den Rechner neu, nach etwa einer Minute startet die grafische Oberfläche von Partition Magic. Dort können Sie die vorhandene Windows-Partition verkleinern.
Partitionierung planen
Die Gretchenfrage ist: Wie viel Platz braucht Linux? Den meisten Benutzern reichen 2 bis 3 GB für ein Linux-System, nur in der Vollinstallation sind 5 oder 6 GB nötig. Wir gehen davon aus, dass neben dem normalen Arbeits-Linux eine zweite Distribution installiert wird und Platz für ein drittes Linux-System – etwa eine Heft-CD aus dem LinuxUser – bleiben soll. Dazu kommt eine Auslagerungspartition (Swap), die doppelt so groß wie der Hauptspeicher sein sollte, alles in allem also runde 10 GB.
Als Boot-Loader wird Grub verwendet. Einerseits ist er bei fast allen aktuellen Distributionen der Standard-Boot-Loader, zum anderen können Sie damit eine zentrale Boot-Konfiguration für alle Linux-Systeme einführen. Dazu benötigen Sie zusätzlich eine Boot-Partition mit einer Größe von 20 bis 50 MB. Auf ihr werden später alle Distributions-Kernel abgelegt.
Die Heim-Verzeichnisse der Benutzer, also /home, können entweder bei jeder Distribution neu angelegt werden, oder man verwendet wie hier im Beispiel eine gemeinsame Partition für alle Linux-Systeme. Die Home-Partition sollte ausreichend groß dimensioniert sein, die 500 MB in den folgenden Beispielen sind dabei eher als Untergrenze zu verstehen. Eine gemeinsame Home-Partition hat den Vorteil, dass man etwa Bookmarks, Browser- und E-Mail-Einstellungen gemeinsam unter allen Systemen benutzen kann und nicht auf mehreren Linux-Systemen nach dem richtigen Bookmark zu suchen braucht.
Nach Verkleinern der Windows-Partition wird das Arbeitssystem aufgespielt, in diesem Fall SuSE Linux 8.1. Nach Booten von der ersten CD oder DVD und der Sprachauswahl muss unter Partitionieren der Punkt Partitionierung nach eigenen Vorstellungen ausgewählt werden, und im nachfolgenden Dialog zudem noch Erweiterte Einstellungen, manuelle Aufteilung (Partitionierung). Nur so lassen sich die Vorschläge des Installationsprogramm vollständig ignorieren.
Festplatte aufteilen
Die nun folgende Partitionierung erscheint auf den ersten Blick etwas ungewöhnlich, hat sich aber in der Praxis bewährt. Wie in Abbildung 1 zu sehen, belegt Windows XP die erste Partition, /dev/hda1. Je nach Ersteinrichtung kann die Numerierung auch abweichen – wichtig ist nur, dass Windows den Anfang der Festplatte einnimmt. Als nächste primäre Partition (/dev/hda2) wird /boot angelegt und als Ext2 formatiert, die Größe sollte zwischen 20 und 50 MB liegen.
Die restlichen Partitionen kommen in den erweiterten Bereich, in Abbildung 1 als /dev/hda3 zu sehen. Er umfasst den noch verfügbaren Festplattenplatz. Die erste so genannte logische Partition (/dev/hda5) wird zum Auslagerungsbereich (Swap), er wird später von allen Linux-Systemen gemeinsam genutzt. Danach folgt die Home-Partition /dev/hda6 (auch als Ext2, hier nur gut 500 MB groß), die später ebenfalls von allen benutzt werden soll.
An Stelle des Ext2-Dateisystems können Sie natürlich auch Ext3 oder Reiser-FS für die Home-Partition verwenden – es müssen allerdings alle Distributionen damit klar kommen. Ext2 ist der kleinste gemeinsame Nenner, damit funktionieren auch ältere Distributionen problemlos. Bei der Boot-Partition ist Ext2 dringend zu empfehlen, weil der Boot-Loader damit klar kommen muss – wer sich später etwa für Lilo an Stelle von Grub oder für einen ganz anderen Boot-Loader entscheidet, ist mit Ext2 zumindest auf der sicheren Seite.
Jede Distribution eine Partition
Bis zu diesem Punkt ist die Partitionierung allgemein gehalten und vom späteren Arbeitssystem unabhängig. Als /dev/hda7 legen Sie die so genannte Root-Partition des Arbeitssystems an, auf dem die Distribution installiert wird. Bei SuSE 8.1 reichen 2,5 GB für eine Standard-Installation völlig aus. Abbildung 1 zeigt den Endzustand der SuSE-Partitionierung wie hier beschrieben. Der Rest der SuSE-Installation verläuft wie üblich, Sie können ohne weiteres die Vorschläge des Installationsprogramms übernehmen.

Abbildung 1: Die Partitionen /dev/hda2 bis /dev/hda6 werden für alle Distributionen benutzt, /dev/hda7 enthält später die Systemdateien von SuSE Linux 8.1
SuSE-Einstellungen retten
Nach Abschluss von Installation und Einrichtung müssen Sie sich noch als normaler Benutzer einloggen, damit der Desktop entsprechend Ihren Wünschen komplettiert wird. Danach sollten Sie sich unmittelbar wieder abmelden, als Benutzer root erneut anmelden und den Konqueror starten.
Sollen mehrere Distributionen das gleiche Home-Verzeichnis der Benutzer verwenden, gilt es, die Desktop-Konfiguration des Standardbenutzers, hier mdoelle, zu konservieren. Sie enthält einige allgemeine Konfigurationen, aber auch distributionsabhängige, die beim Umschalten des Linux-Systems verändert werden müssen. Diese Aufgabe soll später das Skript symlinker von [1] übernehmen, das die distributionsspezifischen Dateien im Verzeichnis .SuSE im Home jedes Benutzers erwartet.
Benennen Sie das Verzeichnis /home/mdoelle zunächst um in /home/.SuSE und legen ein neues, leeres Verzeichnis /home/mdoelle an. Wer dafür den Konqueror benutzen möchte, muss im Menü Ansicht den Punkt Versteckte Dateien anzeigen anwählen, da .SuSE ein verstecktes Verzeichnis ist und sonst nicht mehr sichtbar wäre.
Als nächstes müssen die Rechte am Verzeichnis /home/mdoelle noch geändert (etwa mit chown mdoelle:users /home/mdoelle) und das Verzeichnis .SuSE per mv /home/.SuSE /home/mdoelle hinein geschoben werden. Komfortabler geht es mit dem Konqueror: Öffnen Sie nach einem Rechts-Klick auf das Verzeichnis mdoelle den Menüpunkt Eigenschaften und wählen Sie das Register Berechtigungen aus. Im Abschnitt Eigentümer tragen Sie als Benutzer mdoelle und Gruppe users ein und bestätigen mit OK. Schließlich verschieben Sie das Verzeichnis .SuSE nach mdoelle. Damit sind die Vorbereitungen für den Parallelbetrieb abgeschlossen, nach Beenden der Sitzung können Sie das zweite Linux-System installieren.
Zweites Linux aufspielen
Das zweite Linux-System ist ein Mandrake Linux 9.0. Wichtig ist, dass Sie die Experten-Installation durchführen – bei der einfachen Installation würde das gerade eingerichtete SuSE Linux wieder gelöscht.
Die Partitionierung ist für das Zweitsystem recht einfach: Alles landet zunächst in einer hier 2,5 GB großen Partition /dev/hda8, wie in Abbildung 2 zu sehen. Ganz wichtig: Die vorher angelegten Boot- und Home-Partitionen werden nicht eingebunden, sonst würden Boot-Loader, Kernel und Benutzer-Voreinstellungen von SuSE 8.1 ohne Rückfrage überschrieben. Die Zusammenführung muss später von Hand erfolgen.

Abbildung 2: Mandrake wird komplett auf /dev/hda8 installiert und benutzt lediglich /dev/hda5 als Auslagerungs-Partition. Die Partitionen für /boot und /home müssen nach der Installation unbedingt von Hand eingebunden werden
Stolperstein Boot-Loader
Bei der weiteren Installation können Sie zunächst die Vorschläge übernehmen; nur beim Punkt BS-Starter installieren müssen Sie erneut eingreifen. Als Boot-Gerät wählen Sie das Diskettenlaufwerk /dev/fd0 aus und legen eine leere, formatierte Diskette ein. Damit landet der Boot-Loader nicht auf der Festplatte, wo er den Loader von SuSE 8.1 überschreiben würde. Die gerade erstellte Boot-Loader-Diskette benötigen Sie nur für den ersten Start, eine weitere Startdiskette braucht man in der Regel nicht und kann diesen Installationsschritt überspringen.
Nach Abschluss der Installation und Konfiguration starten Sie mit der Boot-Loader-Diskette im Laufwerk das Mandrake-System und loggen sich als normaler Benutzer ein, um den Desktop vom First-Time-Assistenten komplettieren zu lassen. Unmittelbar danach loggen Sie sich aus und als Benutzer root wieder ein – eine Konsole mit Root-Rechten hilft an dieser Stelle nicht weiter, der Standardbenutzer darf nicht eingeloggt sein.
Grub – einer für alle
Zunächst soll der Boot-Loader von SuSE Linux 8.1 um die Mandrake-Einträge erweitert werden. Dazu mounten Sie mit
mount /dev/hda2 /mnt/disk
zunächst die Boot-Partition und kopieren per
cp -a /boot /mnt/disk/mandrake
den Kernel und verschiedene Konfigurationsdateien in das Unterverzeichnis mandrake der Boot-Partition.
Die Boot-Einstellungen für Mandrake sind in der Datei /boot/grub/menu.lst enthalten. Öffnen Sie diese Datei mit einem Editor, zum Beispiel KEdit. Sie benötigen nur den Eintrag title linux sowie die zwei folgenden Zeilen, wie nachfolgend aufgelistet:
title linux kernel (hd0,7)/boot/vmlinuz root=/dev/hda8 quiet devfs=mount vga=788 initrd (hd0,7)/boot/initrd.img
Die betroffenen Zeilen werden (wie in Abbildung 3 gezeigt) markiert, kopiert und in die gemeinsame Grub-Konfiguration /mnt/disk/grub/menu.lst eingebaut. Jetzt müssen noch die Pfade zu den Dateien vmlinuz und initrd.img in der gemeinsamen Konfiguration angepasst werden, Kernel und Initial-Module liegen zukünftig im Verzeichnis /mandrake auf der Boot-Partition und nicht mehr in /boot. Auch die Angabe der Boot-Partition, (hd0,7) (steht für /dev/hda8) müssen Sie entsprechend ändern: Die neue Boot-Partition ist /dev/hda2 oder in der Grub-Notation (hd0,1). Speichern Sie die Datei und verlassen Sie den Editor.

/mnt/disk/grub/menu.lst (rechts) einbauen” width=”300″ height=”113″ />
Abbildung 3: Mit KEdit lässt sich die Mandrake-Boot-Konfiguration (links) komfortabel in die gemeinsame Grub-Konfiguration/mnt/disk/grub/menu.lst (rechts) einbauenBoot-Partition einbinden
Nun muss die Boot-Partition noch beim Start von Mandrake gemountet werden. Dies geschieht in der Datei /etc/fstab, dort tragen Sie Folgendes als zweite Zeile ein:
/dev/hda2 /boot ext2 defaults 1 1
Ein abschließender Aufruf von umount /mnt/disk gefolgt von mount -a mountet die Boot-Partition an die richtige Stelle. Wenn Sie möchten, können Sie zuvor noch per rm -fR /boot/@L: * alle Dateien aus /boot entfernen – das ist aber nicht nötig, da die Boot-Partition den bisherigen Inhalt überdeckt. Im Gegenteil, bleibt das Verzeichnis /boot auf der Mandrake-Partition unangetastet, können Sie im Notfall sogar mit der Boot-Loader-Diskette starten.
Home-Zusammenführung
Wir gehen davon aus, dass unter Mandrake das gleiche Benutzer-Heimverzeichnis zur Verfügung stehen soll wie unter SuSE – mit den jeweiligen distributionsspezifischen Anpassungen in den Menüs. Das wirft Probleme auf, da etwa die Konfigurationsdateien für den Desktop bei beiden Distributionen gleich heißen, jedoch unterschiedliche Einstellungen enthalten. Beim Start des Systems muss also das Home-Verzeichnis an die gerade laufende Distribution angepasst werden. Auf der anderen Seite ist es wünschenswert, eine identische Konfiguration bei bestimmten Programmen verwenden zu können – so braucht etwa KMail nur einmalig eingerichtet zu werden, oder die Darstellung im Midnight Commander soll stets gleich sein. Für diese Vermischung sind bei der zweiten und jeder weiteren Distribution Anpassungen beim Benutzer-Home erforderlich.
Bei der Installation hat Mandrake das Home-Verzeichnis des Standard-Benutzers auf /dev/hda8, also der Mandrake-System-Partition, angelegt. Für die Verkopplung der beiden Distributionen mounten Sie zunächst die Home-Partition /dev/hda6 und verschieben dann das Home-Verzeichnis des Mandrake-Benutzers, hier mdoelle, auf die Home-Partition. Für den Symlinker von [1] muss zudem der Name in .Mandrake geändert werden. Schließlich unmounten Sie die Home-Partition wieder:
mount /dev/hda6 /mnt/disk mv /home/mdoelle /mnt/disk/mdoelle/.Mandrake umount /mnt/disk
Die Home-Partition soll zukünftig unter /home eingehängt werden, daher muss die folgende Zeile als dritte in der Datei /etc/fstab eingefügt werden:
/dev/hda6 /home ext2 defaults 1 1
Nach Speichern der Datei wird mittels mount -a die Home-Partition an der richtigen Stelle wieder eingefügt. Jetzt müssen Sie sich um die Angleichung der Benutzer- und Gruppen-IDs kümmern, sie ist bei SuSE und Mandrake nämlich stark verschieden. So legt Mandrake für jeden Benutzer eine eigene Gruppe an, die den gleichen Namen wie der Benutzer und die gleiche ID trägt – beim ersten Benutzer ist das die Gruppen-ID 501. Eine gemeinsame Gruppe users, wie sie SuSE für alle Benutzer verwendet, gibt es zwar bei Mandrake auch, ihr gehört jedoch niemand an.
Benutzer normieren
Es ist sinnvoll, die Benutzer- und Gruppen-Einstellungen des Arbeitssystems bei der neuen Distribution einzurichten. Dazu müssen Sie unter Mandrake die Datei /etc/passwd per Text-Editor anpassen. Jede Zeile der passwd steht für einen Benutzer, die Felder sind durch Doppelpunkte getrennt:
mdoelle:x:501:501:Mirko Dölle:/home/mdoelle:/bin/bash
Das erste Feld jeder Zeile enthält den Benutzernamen. Im einfachsten Fall übernehmen Sie einfach den entsprechenden Eintrag von SuSE Linux 8.1; ansonsten tragen Sie in der dritten Spalte die neue Benutzer-ID (500) und in der vierten die neue Gruppen-ID (100) ein. Der fertige Eintrag sieht ungefähr so aus:
mdoelle:x:500:100:Mirko Dölle:/home/mdoelle:/bin/bash
Damit ist die Umstellung aber noch nicht komplett: Wem eine Datei gehört, wird bei Linux lediglich numerisch, genauer gesagt durch die Benutzer- und Gruppen-ID, festgelegt. Deshalb müssen alle Dateien mit Benutzer-ID 501 und Gruppen-ID 501 unseren Änderungen in der /etc/passwd entsprechend nun Benutzer 500 und Gruppe 100 gehören. Die folgenden zwei Befehle erledigen dies im gesamten System:
find / -gid 501 -exec chgrp 100 "{}" \;
find / -uid 501 -exec chown 500 "{}" \;
Etwaige Fehlermeldungen im Zusammenhang mit CD- oder Diskettenlaufwerken sowie Dateien im Verzeichnis /proc können Sie ignorieren.
Distributionen auswechseln
Beide Distributionen sind immer noch so konfiguriert, dass der Beispielbenutzer mdoelle sein Home-Verzeichnis in /home/mdoelle hat – tatsächlich liegt das Home-Verzeichnis, das Mandrake angelegt hat, in /home/mdoelle/.Mandrake, und das von SuSE in /home/mdoelle/.SuSE. Würde sich mdoelle in diesem Zustand anmelden, gäbe es keine Vorkonfiguration für KDE, GNOME, bash und viele andere Programme – die Konfigurationsdetails werden von den meisten Programmen beim ersten Systemstart in versteckten Dateien und Verzeichnissen (beginnend mit einem Punkt im Namen) abgelegt.
Hier setzt das Programm Symlinker von [1] an: Es wird auf jeder beteiligten Distribution installiert und sucht in allen Benutzer-Homes nach den versteckten Verzeichnissen mit den Distributionsvoreinstellungen – hier also nach .Mandrake oder .SuSE, je nachdem, welche Distribution gerade läuft. Gibt es für die gerade aktive Distribution Voreinstellungen, so legt Symlinker einen symbolischen Link im Home-Verzeichnis des jeweiligen Benutzers an: Damit sind die Dateien an ihrer ursprünglichen Position verknüpft, und die betreffenden Programme finden die Voreinstellungen. Beim Herunterfahren des Systems wird die Verlinkung wieder gelöscht; startet eine andere Distribution, hat sie damit ein sauberes Home-Verzeichnis vorliegen und kann ihrerseits die Verlinkung vornehmen.
Der Clou ist jedoch: Symlinker prüft vor der Verknüpfung, ob es die betreffende Konfigurationsdatei im Benutzer-Home bereits gibt. Wenn ja, findet keine Verlinkung statt – kopiert man beispielsweise die Datei .bashrc mit den Voreinstellungen der Bash von /home/mdoelle/.SuSE nach /home/mdoelle, wird Symlinker die .bashrc beim Start von Mandrake in Ruhe lassen. Das Gleiche gilt für Konfigurationsdateien von KDE-Programmen, die in der Regel im Verzeichnis .kde/share/config liegen.
Symlinker installieren
Die Installation von Symlinker läuft automatisch, der Aufruf lautet ./symlinker install als Benutzer Root. Nur falls das Skript scheitern sollte, ist eine manuelle Einrichtung nötig. Dazu wird symlinker in das Verzeichnis der Init-Skripte kopiert, meist /etc/init.d oder /etc/rc.d/init.d. Zudem müssen in den Runlevel-Verzeichnissen 0 bis 6 die symbolischen Links K01symlinker und in den Runlevel-Verzeichnissen 2 bis 5 die Links S99symlinker angelegt werden, jeweils als Verweis auf das Skript. Die Runlevel-Verzeichnisse rc0.d bis rc6.d befinden sich meist in /etc/rc.d oder /etc/init.d.
Nach der Installation muss noch der Name der Distribution im Skript angepasst werden, die dafür zuständige Variable heißt Distribution und befindet sich am Anfang der Datei. Wer wissen möchte, wie Symlinker im Detail arbeitet, findet entsprechende deutsche Kommentare für die wichtigsten Schritte direkt im Skript.
Für die gemeinsame Benutzung unbedenklich sind zum Beispiel die Verzeichnisse Documents und public_html, sie enthalten keine distributionsspezifischen Voreinstellungen. Je nach Geschmack kann man zudem die .bashrc oder die Postfächer der E-Mail-Programme (meist Mail oder mail) bei allen Distributionen benutzen. Um das zu erreichen, löscht man zunächst den betreffenden symbolischen Link im Home-Verzeichnis und kopiert anschließend die gewünschte Datei oder das Verzeichnis aus dem Distributionsverzeichnis .Mandrake oder .SuSE direkt in das Home-Verzeichnis – fertig.
Fazit
Das hier gezeigte Szenario erscheint auf den ersten Blick sehr komplex: Partitionierung und Verteilung der Benutzer-Heimverzeichnisse müssen gut überlegt werden. Die Vorgehensweise bei Installation einer dritten oder gar vierten Distribution ist dann analog zur gezeigten Mandrake-Einrichtung; zunächst wird die Distribution komplett in einer eigenen Partition installiert, der Boot-Loader auf Diskette geschrieben, Grub von Hand erweitert und schließlich das Heimverzeichnis des Benutzers auf die Home-Partition verlegt.
Das Entfernen hingegen ist sehr leicht: Dazu löschen Sie einfach die Partition der Distribution und entfernen den entsprechenden Grub-Eintrag. Die Benutzer brauchen dann nur noch die distributionsspezifischen Dateien in ihrem Home-Verzeichnis zu löschen – Einfluss auf die anderen installierten Distributionen hat das nicht.
Infos
[1] Symlinker-Skript: http://www.linux-user.de/ausgabe/2003/03/070-multidistri/symlinker @KE:




