Auf der zweiten Festplatte im Rechner soll Linux installiert werden. Im Gegensatz zu Windows gibt es bei Linux keine Laufwerksbuchstaben. Die partitionen werden »gemountet«, bekommen also einen »Mountpoint« zugewiesen. Auf manche »Aus-« bzw. »Umsteiger« wirkt das zunächst verwirrend. Vorallem dann, wenn sie außer Windows 9x oder neuer noch kein anderes OS gesehen haben. DOS-User werden vor der Kommandozeile von Linux bestimmt weitaus weniger Bammel haben. Doch anstatt über die Bedienung vom OS zu schwafeln wieder zurück zum Partitionieren.
Die Mountpoints kann man sich auch als »Ordner« vorstellen. Mir widerstrebt die Bezeichnung »Ordner«, schließlich ist sie ja von der Anzeige im WindowsExplorer abgeleitet. Auf einem Rechner liegen für mich keine »Ordner« herum, es gibt »Verzeichnisse«. Daher werde ich ab jetzt auch nur noch von Verzeichnissen sprechen.
Ein Problem scheint für Linux-Neulinge vorallem das vermeindliche Fehlen von Laufwerken zu sein. Man ist halt sein A:\, C:\ und D:\ derart gewohnt, das man sich ohne wohl irgendwie »nackt« fühlt. Die wohl einfachste Möglichkeit, sich unter Linux zurechtzufinden liegt darin, alles als eine große Festplatte mit vielen Verzeichnissen zu sehen.
Die folgende Beschreibung trifft zwar nicht ganz auf die Realität zu, aber für das Verständnis der Verzeichnisarchitektur von Linux halte ich sie für bestens geeignet.
Der »Arbeitsplatz« vom Windows ist unter Linux dann als »\« zu betrachten. Anstatt von »A:\« gibt es ein »\floppy«, anstatt von »D:\« gibt es ein »\cdrom«. Eventuell vorhandene Windows-Partitionen werden nach »\mnt\windows_c«, »\mnt\windows_d« und/oder »\mnt\windows_e« gemountet.
So kompliziert, wie manche tun, ist das Zurechtfinden unter Linux also nicht.
Was verwirrt, sind die von Anfang an vorhandenen Verzeichnisse, beispielsweise »\home«, »\root«, »\usr« oder »\var«.
Im Gegensatz zu DOS/Windows hat Unix/Linux einen sehr genau vorgeschriebenen Dateibaum. Die namen der wichtigsten Verzeichnisse lauten immer gleich, daher ist es beinahe egal, mit welchem Unix/Linux gearbeitet wird. Die Struktur der Verzeichnisnamen sollte immer identisch sein.
Das klingt natürlich ideal, einmal gelernt kann man sich also überall auskennen. Leider gibt es – wie auch in der realen Welt – bei allen Regeln auch Ausnahmen. Die unterschiedlichen Distributionen halten sich aber an diese Verzeichnissstruktur, daher an dieser Stelle mal eine kleine Aufstellung, was bei Linux wo zu finden ist.
/ Die »Root«, auch »Wurzelverzeichnis« genannt. Im Gegensatz zu DOS/Windows hat Unix/Linux – wie schon geschrieben – immer nur einen Dateibaum. Daher gibt es keine Laufwerksbuchstaben sondern eben »\« und unterhalb davon weitere Verzeichnisse.
/bin Binaries, also binäre Programme liegen in diesem Verzeichnis. Meist nur jene, die für die wichtigsten Arbeiten am System benötigt werden.
/dev Das Verzeichnis für die Gerätedateien. Gerätedateien stellen die Schnittstelle von der Hardware zum Kernel dar, beispielsweise die Partitionen oder die Maus. Wichtig: Diese Dateien benötigen keinen Platz auf der Festplatte.
/etc Hier sind all jene Dateien abgelegt, in denen Informationen über Konfigurationseinstellungen gespeichert sind.
/home Jeder angelegte User bekomt unter Linux ein Verzeichnis, sein »Heimatverzeichnis«. In der Regel heißt das Verzeichnis genauso wie der User selbst. Alle »Heimatverzeichnisse« liegen (außer das vom Systemverwalter) im Verzeichnis /home.
/usr Dieses Verzeichnis enthält alle wichtigen Programme, die das System anbietet. Sei es nun ein Mailclient, ein Webbrowser oder andere Applikationen – unter Linux wird nicht mehrfach das gleiche Installiert, Mehrere User greifen auf die gleiche Software zu. Wichtig: »usr« steht nicht – wie häufig von vielen irrtümlich angenommen – für »user«, sondern für Unix System Resources.
/opt Dieses Verzeichnis ist eine Linux-Erfindung, ist also unter Unix nicht vorhanden. /opt wurde eingeführt, nachdem immer mehr große Programmpakete installiert werden. Diese sollten nicht mehr in das /usr-Verzeichnis, sondern eben in ein eigenes Verzeichnis installiert werden.
/proc Auch dieses Verzeichnis benötigt keinen Platz auf der Platte. In /proc sind jene Informationen, die das laufende System ständig selbst auffrischt. Es sind eigentlich keine Dateien und Verzeichnisse, die hier liegen, sondern Informationen des Kernels.
/root Schon wieder »root«? Das »/root«-Verzeichnis sorgt immer wieder für Verwirrung bei Linux-Neulingen. Schließlich wird das »Wurzelverzeichnis« »\« ja auch als »root directory« bezeichnet.Bei »\root« handelt es sich einfach um das Heimatverzeichnis des Systemverwalters, der heißt unter Unix/Linux immer root. Warum /root nicht unterhalb von /home liegt ist schnell erklärt: Das /home-Verzeichnis ist meistens (aber nicht unbedingt) als eigene Partition implementiert, also gemountet. Sollte es zu einem Fehler kommen kann die /home-Partition eventuell nicht gemountet werden, es muß aber trotzdem ein ein arbeitsfähiges System bereitstehen. Zu so einem arbeitsfähigen System gehört aber auch das Arbeitsverzeichnis des Systemverwalters, eben \root. Daher liegt dieses »Heimatverzeichnis« direkt auf »der Wurzel« (dem Wurzelverzeichnis eben).
/sbin Programmdateien, die für die Verwaltung des Systems wichtig sind und daher nicht für alle User zugänglich sein müssen werden in diesem Verzeichnis gespeichert.
/var Bei modernen Unix/Linux-Versionen ist dieses Verzeichnis dazugekommen, um eine Möglichkeit zu schaffen, das /usr-Verzeichnis als read-only zu mounten. Innerhalb des /usr-Verzeichnis liegen oftmals einige Daten, die beschreibbar (variabel) sein müssen. Daher wurde das Verzeichnis /var zusätzlich aufgenommen. Es beinhaltet sozusagen all jene Daten, die eigentlich nach /usr gehören, aber variabel (also beschreibbar) sein müssen.
Eine Ausgabe der sich unterhalb der Root (des Wurzelverzeichnisses) befindenden Verzeichnisse könnte so aussehen:
turanga@turanga:/$ ls -la drwxr-xr-x 2 root root 4096 Jan 22 00:31 bin drwxr-xr-x 2 root root 4096 Dec 25 23:53 boot drwxr-xr-x 2 root root 4096 Apr 15 2001 cdrom drwxr-xr-x 5 root root 20480 Jan 22 10:21 dev drwxr-xr-x 52 root root 4096 Jan 22 10:22 etc drwxr-xr-x 2 root root 4096 Apr 15 2001 floppy drwxrwsr-x 5 root staff 4096 Jan 16 13:47 home drwxr-xr-x 2 root root 4096 Apr 15 2001 initrd drwxr-xr-x 5 root root 4096 Dec 26 13:11 lib drwxr-xr-x 2 root root 16384 Dec 25 23:44 lost+found drwxr-xr-x 2 root root 4096 May 27 2000 mnt dr-xr-xr-x 49 root root 0 Jan 22 10:21 proc drwxr-xr-x 14 root root 4096 Jan 22 00:35 root drwxr-xr-x 2 root root 4096 Jan 22 00:31 sbin drwxrwxrwt 2 root root 4096 Jan 22 10:22 tmp drwxr-xr-x 16 root root 4096 Dec 26 01:14 usr drwxr-xr-x 14 root root 4096 Dec 26 21:33 var turanga@turanga:/$
Die Ausgabe stammt von meinem »Bastelrechner«, einem Pentium 133 mit installiertem Debian-Linux. Wie man sehen kann gibt es noch weitere Verzeichnisse, in einem guten Linux-Buch (oder auf einer Seite im Web) werden diese ausführlich erklärt.
Bestimmte Verzeichnisse können auch als extra Partitionen angelegt werden, sie werden später an der richtigen Stelle im Verzeichnisbaum eingefügt. Man nennt diesen Vorgang »mounten«, also könnte man auch von einem »montieren der Partition als Verzeichnis« sprechen.
Nach diesem Exkurs in die Verzeichnissstruktur von Unix/Linux und was wo zu finden ist kommen wir zurück zum eigentlichen Thema: Das Partitionieren für eine Linuxinstallation.
Es gibt – wie schon mehrfach erwähnt – keine allgemein als perfekt zu bezeichnende Art, wie man seine Festplatte für Linux partitioniert. Gelegentlich wird auch auf eine eigene Swap-Partition verzichtet, es wird dafür eine Art »Auslagerungsdatei« angelegt wie man sie aus Windows kennt.
Ich lege immer eine Swap-Partition mit an, daher gehe ich auf eine Swap-Datei gar nicht erst ein. Somit wären wir bei mindestens zwei Partitionen: Dem »Wurzelverzeichnis« und der Swap-Partition. Warum ich von einem Verzeichnis spreche, wo gerade noch von Partitionen die Rede war? Sollte das noch unklar sein bitte ich darum, nochmal den Punkt mit den Erklärungen zu der Stuktur der Verzeichnisse von Linux zu lesen.
Es ist aber sinnvoll, einigen Verzeichnissen eine ganze Partition zu geben. Macht man das nicht, installiert Linux einfach alles auf die Partition, die als Wurzelverzeichnis gemountet wird. Dies würde auf Windows Übertragen bedeuten, alle Programme auf C:\ zu installieren.
Bei einer umfangreichen Linuxinstallation richtet man sich also mehrere Partitionen ein und mountet die anschließend. Beispielsweise legt man sich eine recht große Partition für die Programme an, also eine extra Partition für /usr.
Nun ein paar Vorschläge anhand von Beispielen. Darunter drei Beispiele von real existierenden Systemen. Das folgende Beispiel stammt aus einem Forum, ich habe die Größen der Partitionen lediglich aufgerundet. Es war als Grundlage für eine »Basisinstallation« vorgeschlagen worden, sollte noch »nach eigenen Bedürfnissen« angepasst werden:
/ (Root-Verzeichnis) Primäre Partition, Reiserfs, 200 MB
SWAP Logische Partition, Swap-Partition, 256 MB
/var Logische Partition, Reiserfs, 3000 MB
/tmp Logische Partition, Reiserfs, 500 MB
/usr Logische Partition, Reiserfs, 5000 MB
/opt Logische Partition, Reiserfs, 2000 MB
Zum einen wissen viele User erstmal garnicht was ihre eigenen Bedürfnisse sind. Meine Intension war es, ein DesktopOS einzurichten und darauf auch ein paar Spiele zu spielen. Beispielsweise Quake 3 Arena. Das Resultat sah folgendermaßen aus:
Filesystem Size Used Avail Use% Mounted on /dev/hdb1 1.9G 363M 1.4G 20% / /dev/hdb6 3.8G 958M 2.7G 26% /usr /dev/hdb7 3.8G 256M 3.4G 7% /home /dev/hdb8 3.8G 675M 2.9G 19% /games /dev/hda1 1.5G 1.1G 466M 70% /mnt/win_c /dev/hda5 502M 455M 47M 91% /mnt/win_d /dev/hda6 7.8G 5.2G 2.6G 67% /mnt/win_e /dev/hda7 7.8G 5.0G 2.8G 64% /mnt/win_f /dev/hda8 7.8G 6.6G 1.2G 84% /mnt/win_g /dev/hda9 3.1G 3.1G 82M 98% /mnt/win_h //fli4l/austausch 778M 486M 293M 63% /mnt/fli4l
Die letzten sieben »Laufwerke« sind zum einen die sechs Partitionen meines Windows2000 (MultiOS eben) und eine gemountete SMB-Freigabe (von meinem FLI4L-Router). Es gibt bei mir keine extra Partitionen für /var, /tmp, /opt. Mit 2 GB ist mein / einfach groß genug, das ich nicht wirklich auch noch diese Verzeichnisse extra anlegen muß.
Auf den Partitionen liegen – rein auf Linux bezogen – schlappe 1577 MB zuzüglich weiteren 675 MB für Quake 3 Arena (liegt als einzige Software unter /games). Bei diesen 1577 MB sind bereits ein paar größere Downloads (beispielsweise Kernel-Sourcen und per »apt-get update« gezogene .deb-Dateien) mit dabei, man kann sicherlich nochmal 450 MB abziehen und wäre dann bei ungefähr 1000 MB für das als DesktopOS eingerichtete Debian.
Ein wirklich reines Desktop-Linux kann auch noch kleiner sein:
Filesystem Size Used Avail Use% Mounted on /dev/hda1 984M 179M 755M 19% / /dev/hda6 1.5G 365M 1.1G 25% /usr
Mit gerademal 544 MB belegt das auf meinem »Bastel-PC« eingerichtete Debian weniger als die Hälfte des gerade beschriebenen Systems. Es ist wirklich nur das nötigste installiert, Opera als Browser, WindowsMaker als Fenstermanager und Sylpheed als Mailclient. Kein PDF-Reader, kein Mozilla und keine zusätzlichen Programme wie Konqueror oder irgendwelche Spiele. Als einzige »unnütze« Applikation ist der »Gimp« installiert worden. Damit ich einen Screenshot vom Desktop machen konnte, ansonsten läßt sich mit Gimp auf dem 133er Pentium ohnehin nicht sonderlich viel anfangen.
Als drittes und letztes Beispiel noch die Aufteilung von einem anderen User:
Filesystem Type Size Used Avail Use% Mounted on /dev/sdb5 ext2 4.0G 1.6G 2.1G 43% / /dev/sdc2 ext2 4.1G 2.7G 1.2G 68% /home /dev/sdb3 ext2 4.3G 2.0G 2.1G 48% /home2 /dev/first_vg/first_lv ext2 12G 9.1G 2.4G 79% /mnt/home
In erster Linie wurden die Partitionen für große Datenmengen in den Userverzeichnissen ausgelegt. Es ist primär ein Singleuser-System, auf dem sehr, sehr viele große Dateien gesammelt werden. Einfacher ausgedrückt: Es handelt sich dabei um einen Fileserver.
Wie man sehen kann gibt es bei diesen drei Beispielen riesige Unterschiede. Man kann einfach nicht eine allgemeingültige Antwort auf die Frage geben »Wie muß ich partitionieren?«. Es hängt vom Verwendungszweck ab,