Medien & Phantastik > Linux/Unix
[Tipp] Das Linux-Dateisystem
Bitpicker:
So, hier der erste Tipp für Ein- und Umsteiger. Thema: das Dateisystem von Linux.
Wer Windows von früher her kennt, der denkt in Partitionen oder Laufwerken namens C: und D: usw. Seit Win95 wird diese eigentlich recht ordentliche Einteilung zwar durch zahlreiche virtuelle Verzeichnisse aufgeweicht (wie kommen Desktop und Arbeitsplatz auf eine höhere Stufe als C:, wo sie doch eigentlich liegen sollten, wieso habe ich Eigene Dateien über der Platte, aber auch in 'Dokumente und Einstellungen' auf der Platte, oder sogar letzteres Verzeichnis auf C:, obwohl es in Wirklichkeit auf dem Netzwerkserver liegt?), aber man ist das so gewöhnt.
Bei Linux gibt es einen Grundsatz: alles ist eine Datei. Bei Linux gibt es also keine Laufwerke, nur Dateien, unter denen diese Laufwerke angesprochen werden können. Nehmen wir z.B. ein CD-ROM-Laufwerk. Unter Windows heißt dieses vielleicht D:. Wird eine CD eingelegt, kann diese nach dem Einlesen automatisch als D: angesprochen werden. Unter Linux muss die CD im Laufwerk in das Dateisystem eingebunden werden, was in modernen Distributionen automatisch geschieht, aber auch von Hand erledigt werden kann.
Zunächst einmal ist für Linux von Belang, wie das CD-Laufwerk angeschlossen ist. Ein D: unter Windows könnte entweder am ersten IDE-Controller als Slave oder am zweiten als Master hängen. Für Linux ist im ersten Fall die Datei /dev/hdb und im zweiten Fall die Datei /dev/hdc für diese Laufwerke zuständig. hdb heißt einfach 'zweites Laufwerk am ersten Controller' und hdc 'erstes Laufwerk am zweiten Controller'. hda wäre die Festplatte, die als C: bezeichnete Partition wäre vollständig /dev/hda1 (erste Partition auf hda).
Das Einbinden, ob von Hand oder automatisch, geschieht nun so, dass die Laufwerksinhalte, auf die diese Dateien verweisen sollen, in den Verzeichnisbaum (also das Dateisystem) von Linux eingehängt werden. Wenn das passiert ist, tauchen die Inhalte der CD in einem eigenen Verzeichnis auf. Bei den meisten Distributionen ist das ein Unterverzeichnis von entweder /mnt oder /media, also z.B. /mnt/cdrom. In diesem Verzeichnis liegen nun alle Daten, die sich auf der CD befinden.
Auch jegliche anderen Laufwerke tauchen in solchen Verzeichnissen auf, also Wechselplatten, USB-Sticks, mp3-Player, Kameras und Speicherkarten etc. Dabei gibt es eine Sache zu beachten: das Verzeichnis, wohin ein Datenträger eingebunden wird, existiert in der Regel auch dann, wenn der Datenträger nicht da ist. Beispiel: ich habe einen Kartenleser, der mmc-Karten liest, und Karten werden immer in /mnt/mmc engehängt. Ich könnte Daten in dieses Verzeichnis kopieren, wenn keine Karte dort eingehängt ist, aber natürlich liegen diese Daten dann auf der Festplatte in diesem Verzeichnis, nicht auf der Karte. Hänge ich jetzt die Karte ein, werden die Inhalte dieses Verzeichnisses ausgeblendet und stattdessen der Inhalt der Karte eingeblendet. Man sollte also beim Kopieren auf derart eingehängte Datenträger immer darauf achten, dass sie auch wirklich eingehängt sind.
Bei den meisten aktuellen Distributionen mit grafischer Oberfläche tauchen Desktop-Icons für eingehängte Laufwerke auf, die sich auch optisch verändern, wenn ein Datenträger eingehängt ist. Zum Auswerfen / Aushängen kann man das Kontext-Menü dieser Icons verwenden. Das geregelte Auswerfen ist notwendig, weil Linux (wie Windows auch) Daten asynchron schreibt, d.h., es kann sein, dass es noch dabei ist, Daten zu schreiben, obwohl ein Schreibvorgang als beendet gemeldet wird. Unter Windows muss man deshalb die 'Hardware Auswerfen'-Funktion verwenden, um Schreibvorgänge vor der Entnahme zu beenden, und unter Linux wirft man die Datenträger ebenfalls aus.
Soweit ich weiß, schreibt BSD Daten übrigens synchron, unter BSD wären also wohl keine Datenverluste durch vorzeitige Entnahme möglich.
Im Gegensatz zu Windows wird der Auswurfknopf von CD-Laufwerken z.B. deaktiviert, solange ein Zugriff stattfindet; als Zugriff zählt auch ein Dateimanager, der Inhalte der CD anzeigt. Daher kann es sein, dass eine CD partout nicht ausgegeben wird, wenn der Knopf gedrückt wird. Ein Aushängen der CD führt zu einer Aufhebung der Verbindung, ist aber (außer wenn man es mit Root-Rechten forciert) nur dann möglich, wenn kein solcher Zugriff mehr erfolgt. Bei Auswurf-Problemen sollte man also immer schauen, ob noch ein Zugriff einer offenen Software erfolgt.
Inmanchen Fällen und bei einigen Distributionen kann es passieren, dass das Ein- und Aushängen von Datenträgern mit den normalen Benutzerrechten nicht möglich ist. Das sollte die erste Anlaufstelle für eine Überprüfung sein, falls Probleme auftauchen. Die Rechte können natürlich geändert werden, wenn man weiß, wie. Das ist aber ein anderes Thema.
So, soviel erst mal zu Laufwerken im Dateisystem; nachher schreibe ich noch etwas über die Dateisystemstruktur, weil sich diese grundlegend von der von Windows unterscheidet.
Robin
Gast:
Guter Artikel, endlich mal KLARHEIT über die Unterschiede :d
Yerho:
Das Ganze war mir bekannt, aber so im Block gelesen fällt mir das erste Mal auf, wie wenig anwenderfreundlich das Ganze im Grunde ist - nicht für uns, aber für den normalen Anwender, der klare Zuordnungen und eindeutige Fehlermeldungen wünscht, wenn ein Laufwerk nicht erreichbar oder ein Datenträger nicht eingelegt ist.
Daten landen im Limbus, wenn der zu beschreibende Datenträger fehlt? Das ist im Grunde ein schwerer Verstoß gegen etliche Grundsätze der Software-Ergonomie, den unsereins aus Erfahrung oder Gewohnheit nicht wahrnimmt.
Generell ist es eher unkomfortabel, wenn ein Prozess, der für den User nicht sichtbar ist, trotzdem andere Funktionen blockiert. Bei Linux kann man durchaus konfigurieren, dass man (zumindest ROM-) Medien einfach ausklinken/-werfen kann, obwohl noch eine Verbindung besteht - aber das wird wohl kaum ein Normal-User in seiner vermeintlich gebrauchsfertig eingerichteten Distribution ändern können.
/dev/null:
Der "Normal-User", der diese Funktionen nutzt steckt z.B. einen USB-Stick an den Rechner, ein Icon erscheint und man kann den Datenträger da öffnen, Daten rauf- oder runterziehen und dann mit einem Rechtklick auf das Symbol das ganze wieder auswerfen. Das ist nicht kompliziert oder verwirrend und es landet nichts im Limbo. Da hat sich eine ganze Menge in den letzten Jahren getan.
Wenn man es wirklich im Details braucht weiß man meist, was man tut, der "Normal-User" kommt damit kaum in Berührung...
Haukrinn:
--- Zitat von: Yerho am 1.02.2007 | 12:03 ---Daten landen im Limbus, wenn der zu beschreibende Datenträger fehlt?
--- Ende Zitat ---
Wo hast Du denn das her? Entweder Du klaust dem OS gewaltsam sein Schreibmedium, dann bekommst Du einen Berg Fehlermeldungen, aber verloren geht da erst einmal nichts, vor allem nicht unbemerkt. Oder Du hängst ein Laufwerk versehentlich aus, dann landen die Daten halt im entsprechenden Mount-Verzeichnis auf der Festplatte.
--- Zitat von: Yerho am 1.02.2007 | 12:03 ---Generell ist es eher unkomfortabel, wenn ein Prozess, der für den User nicht sichtbar ist, trotzdem andere Funktionen blockiert.
--- Ende Zitat ---
Echt? Ich finde es viel unkomfortabler, wenn ich ein Medium einfach entfernen kann und ich im besten Falle ein Kummerkästchen vom OS vorgesetzt bekomme (und mir im schlimmsten Falle alles abschmiert).
--- Zitat von: Yerho am 1.02.2007 | 12:03 ---Bei Linux kann man durchaus konfigurieren, dass man (zumindest ROM-) Medien einfach ausklinken/-werfen kann, obwohl noch eine Verbindung besteht - aber das wird wohl kaum ein Normal-User in seiner vermeintlich gebrauchsfertig eingerichteten Distribution ändern können.
--- Ende Zitat ---
Was auch nicht nötig ist. Denn die aktuellen Distibutionen sind eigentlich alle bereits so konfiguriert, daß Medien automatisch erkannt und eingehangen werden und das ein Druck auf den Open-Knopf zum weichen, d.h. sicheren Abbruch aller Lese- und Schreiboperationen führt, bevor das Medium rausploppt.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln