Die Eingliederung der Speichermedien in die Verzeichnisstruktur |
Übersicht |
»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 |
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.
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:
|
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:
|
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).
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 |
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.
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.
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.