Die Eingliederung der Speichermedien in die Verzeichnisstruktur

Übersicht Weiter

»Jede Datei und jedes Verzeichnis ist ausgehend von der Wurzel erreichbar.« So oder so ähnlich steht es im letzten Abschnitt geschrieben...

Aber wo finde ich denn nun meine zweite und dritte Festplatte wieder? Wo sind die Daten meiner Diskette? Wie navigiere ich auf der CDROM?

Jedes Unix-Dateisystem ist so gestaltet, dass es die physische Struktur der Speichermedien vor dem Anwender verbirgt. Die Partition einer Festplatte beinhaltet dabei das Root-Dateisystem, also die Wurzel selbst. Alle weiteren Partitionen/Festplatten werden in die Struktur integriert, indem ein (fast) beliebiges Verzeichnis auf eine solche Partition/Festplatte verweist.

Nicht nur der Zugriff auf die Partitionen von Festplatten wird über diese Technik realisiert, auch die Wechselmedien wie Diskette und CDROM gliedern sich in dieses Schema ein, ebenso kann der Zugriff auf Daten, die irgendwo im Netz liegen, so realisiert werden.

Für den Anwender geschieht das alles transparent. Er bemerkt es höchstens an der Geschwindigkeit beim Zugriff auf Daten, welches Speichermedium sich tatsächlich hinter einem Verzeichnis verbirgt. Und selbst hier können Techniken des Cachings (Zwischenspeichern von Daten) den Mangel an Tempo vertuschen.

Dennoch besteht die Frage: »Wenn ich meine Diskette einlege... wie kann ich nun darauf zugreifen?«.

Indem eine Verbindung zwischen einem existierenden Verzeichnis und dem Gerät (Device), der das Diskettenlaufwerk repräsentiert, hergestellt wird. Und hier kommt der Begriff des Mountens ins Spiel. »Mounten« (montieren) bezeichnet den Vorgang, dass ein Gerät mit einem konkreten Verzeichniseintrag verbunden wird.

mount - Verbindung zwischen Gerät und Verzeichnis Zurück Anfang Weiter

Bevor auf die Daten einer Festplatte, Diskette, ... zugegriffen werden kann, muss also die Verbindung zu einem existierenden Verzeichnis hergestellt werden.

Zumindest die Partition, die das Wurzelverzeichnis enthält, wird schon während des Systemstarts vom Kernel »gemountet«. Das Betriebssystem benötigt die dortigen Programme und Bibliotheken für seine Arbeit.

Wurde bei der Installation das System auf mehrere Partitionen verteilt, so werden meist noch weitere Partitionen während des Bootvorganges in die Verzeichnisstruktur integriert. Um welche es sich dabei handelt, steht in der Datei /etc/fstab, aber um deren Aufbau soll es an dieser Stelle nicht gehen.

Wichtig ist nur zu wissen, dass man zum Mounten von Geräten die Rechte dazu besitzen muss. Im produktiven Einsatzbereich wird dieser doch recht entscheidende Eingriff ins System einzig dem Administrator - also Root - vorbehalten sein, in weniger sicherheitskritschem Umfeld liberalisiert man die Berechtigungen dahin gehend, dass zumindest die Disketten- und CDROM-Laufwerke vom »normalen« Anwender mit gewissen Einschränkungen gemountet werden dürfen.

Diskette und CDROM auf der Konsole

Dieses Vorgehen funktioniert auch in den Terminals der verschiedenen Windowmanager.

Der Aufruf des Mount-Kommandos erwartet folgende Syntax:

mount [Optionen] Gerät Verzeichnis

Von den möglichen Optionen interessieren uns derzeit nur der Typ des zu mountenden Dateisystems. D.h. wir müssen mount mitteilen, wie die Daten auf dem Medium gespeichert sind. Auf einer CDROM sind die Daten immer nach dem ISO9660-Standard-Format abgelegt, also ist die entsprechende Option -t iso9660. Auf Disketten sind die Daten meist in einem Minix-Dateisystem organisiert (Option -t minix) oder im MSDOS-Format (Option -t msdos).

Welches Gerät ist nun zu mounten? Der Zugriff auf die Hardware erfolgt über so genannte Devices (man kann sich darunter einen Treiber vorstellen). Alle Devices liegen im Verzeichnis /dev.

Die Namensgebung bei Diskettenlaufwerken ist simpel: das erste Laufwerk verbirgt sich hinter /dev/fd0, das zweite heißt /dev/fd1, usw. Das Speicherformat der Diskette (Zylinder/Sektoren) sollte in den meisten Fällen automatisch erkannt werden. Gelingt dies einmal nicht, muss das dem Format zugeordnete Device direkt angesprochen werden. Die Namen der Geräte lassen auf das entsprechende Speicherformat schließen:

user@sonne> ls /dev/fd0*
/dev/fd0 /dev/fd0h1600 /dev/fd0u1120 /dev/fd0u1840 /dev/fd0u720
/dev/fd0CompaQ /dev/fd0h360 /dev/fd0u1440 /dev/fd0u1920 /dev/fd0u800
/dev/fd0d360 /dev/fd0h410 /dev/fd0u1600 /dev/fd0u2880 /dev/fd0u820
/dev/fd0h1200 /dev/fd0h420 /dev/fd0u1680 /dev/fd0u3200 /dev/fd0u830
/dev/fd0h1440 /dev/fd0h720 /dev/fd0u1722 /dev/fd0u3520
/dev/fd0h1476 /dev/fd0h880 /dev/fd0u1743 /dev/fd0u360
/dev/fd0h1494 /dev/fd0u1040 /dev/fd0u1760 /dev/fd0u3840

CDROM-Laufwerke müssen leider etwas anders angesprochen werden, da es hier mehrere Industriestandards gibt und jeder seinen eigenen Treiber benötigt. Hat der Administrator das System nutzerfreundlich eingerichtet, kann meist das Device /dev/cdrom verwendet werden, das ein Verweis auf die eigentliche Gerätedatei sein sollte.
Wenn nicht sollten wir die Bauart und den Anschluss des Laufwerkes kennen. »Moderne« IDE-CDROM-Laufwerke (so genannte ATAPI-Laufwerke) werden wie Festplatten behandelt und gliedern sich in deren Namensraum ein. Die erste (E)IDE-Festplatte (sie sollte im »Normalfall« als Master am ersten IDE-Controller betrieben sein) bezeichnet man dabei mit /dev/hda, die als Slave am ersten Controller installierte Platte nennt sich /dev/hdb. Der Master am zweiten Controller wird über /dev/hdc angesprochen, und der Slave letztlich über /dev/hdd. Wenn wir jetzt wissen, an welchem Controller das CDROM-Laufwerk angeschlossen ist, kennen wir die benötigte Bezeichnung.
Ein SCSI-CDROM-Laufwerk folgt der Benennung der SCSI-Festplatten. Die erste SCSI-Platte wird mit /dev/sda angesprochen, die zweite mit /dev/sdb... und irgendwo reiht sich auch das CDROM-Laufwerk ein.
Bei herstellerspezifischen Geräten sucht man nach einem entsprechenden Device (z.B. wird ein Sony-CDROM-Laufwerk als /dev/sonycd bezeichnet).

Was jetzt noch fehlt ist das Verzeichnis, worin wir das Gerät mounten möchten. Prinzipiell kann jedes Verzeichnis - bei Wahrung der Rechte - verwendet werden. Allerdings werden Daten, die in einem solchen Verzeichnis eventuell vorhanden sind, durch einen Mountvorgang verdeckt. D.h. sie stehen nach dem Mounten bis zum Unmounten nicht zur Verfügung. Aus diesem Grund wird man sich für ein leeres Verzeichnis als Mountpunkt entscheiden.

Wer ein SuSE-System vor sich hat, findet in der Wurzel die beiden (leeren) Verzeichnisse /cdrom und /floppy, die als Mountpunkte schon vorgesehen sind. Bei anderen Linux-Distributionen nennen sich die Verzeichnisse meist /mnt/cdrom bzw. /mnt/floppy (Siehe Verzeichnisstruktur). Sind solche Einträge nicht vorhanden, kann man als Systemadministrator auch neue Verzeichnisse erstellen und diese als Mountpunkte verwenden.

Mit all den Erläuterungen sollten die nachfolgenden Beispiele leicht verständlich sein:

root@sonne> mount -t msdos /dev/fd0 /floppy

root@sonne> mount -t iso9660 /dev/hdc /mnt/cdrom

Wenn Sie einen Blick in die schon erwähnte Datei /etc/fstab werfen und dort Einträge ähnlich dieser:

user@sonne> egrep 'floppy|cdrom' /etc/fstab
/dev/hdc /cdrom iso9660 ro,noauto,user,exec 0 0
/dev/fd0 /floppy auto noauto,user 0 0

vorfinden, dann ist die Eingabe der kompletten Befehlszeile nicht mehr notwendig. Außerdem ist nun das Mounten auch dem »normalen« Anwender gestattet (Eintrag »user« in den Zeilen). Es genügt nun:

user@sonne> mount /floppy

user@sonne> mount /dev/hdc

Erklärung: mount erkennt die unvollständige Befehlszeile und schaut nun selbst in der Datei /etc/fstab nach, ob das angegebene Argument dort auftaucht. Wird das Kommando fündig, ergänzt es die fehlenden Parameter selbsttätig. Als Angabe erwartet mount entweder die Bezeichnung des Gerätes oder den Namen des Verzeichnisses, so wie es in der Datei angegeben ist. Der normale Anwender ist nicht berechtigt, die Werte der /etc/fstab »umzubiegen« (z.B. einen anderen Mountpunkt anzugeben).

Diskette und CDROM unter KDE und Gnome

Unter KDE und - bei entsprechender Konfiguration - auch unter Gnome werden die eigentlichen Mechanismen des Mountvorganges vor dem Nutzer verborgen.


Durch Anklicken des entsprechenden Symbols auf dem Desktop mit der linken Maustaste werden das Disketten- bzw. das CDROM-Laufwerk automatisch gemountet (im Hintergrund wird einfach der entsprechende Mount-Aufruf durchgeführt) und deren Inhalte im Dateimanager angezeigt. Ist eines der Geräte gemountet, wird dies bei der üblichen Konfiguration anhand eines anderen Symbols angezeigt. Soll nun das Medium gewechselt werden, ist das Unmounten mit anschließendem erneuten Mounten notwendig.

 

umount - Eine Verbindung lösen Zurück Anfang

Spätestens beim Herunterfahren des Systems werden alle Geräte automatisch abgehangen. Macht sich aber ein Wechsel der Diskette oder der CDROM notwendig, so ist dies dem System mitzuteilen.

Auf der Konsole

user@sonne> umount /mnt/cdrom

user@sonne> umount /dev/fd0

Das Kommando umount ist das Gegenstück zum Mounten, d.h. die Verbindung zwischen Gerät und Verzeichnis wird aufgehoben. Dem Kommando genügt dabei die Angabe entweder des Gerätes oder des Verzeichnisses.

Unter KDE oder Gnome

Erfolgte das Mounten über die entsprechenden Symbole auf dem Desktop, dann löst man die Verbindung, in dem man mit der rechten Maustaste auf das Symbol klickt und im aufklappenden Menü den Eintrag »unmounten« anwählt.