next up previous contents index
Next: Rootpartition und Wurzelverzeichnis Up: Reise durch's Dateisystem Previous: Reise durch's Dateisystem

Subsections


Konzepte

 

Vor Antritt der Reise sollten Sie einige grundlegende Konzepte des Linux-Dateisystems verstehen.

Wahrscheinlich kennen Sie von MS-DOS Festplattenpartitionen als ,,Laufwerke`` C:\> oder D:\>. Hier müssen Sie als Benutzer das ,,richtige`` Laufwerk wählen, wenn Sie ein bestimmtes Verzeichnis oder eine bestimmte Datei erreichen wollen.

Wenn Sie die Linux-Distribution selbst installiert haben, werden Sie gesehen haben, daß auch Linux mehrere Festplattenpartitionen benutzen kann. Bei einem fertig installierten Linux-System brauchen Sie sich aber um solche Hardwareangelegenheiten nicht mehr zu kümmern: Es ist eines der wichtigsten Konzepte des Linux-Dateisystems, die hardwareabhängigen Aspekte Ihres Arbeitssystems vollständig zu verbergen.

Auf der Benutzerebene bewegen Sie sich in einem einzigen, hierarchischen Dateisystem, in das alle Datenträger integriert sind. Es ist wie ein Baum aufgebaut, dessen Äste und Zweige die Verzeichnisse und dessen Blätter die Dateien sind. Eine bestimmte Festplattenpartition - die Rootpartition  - wird automatisch vom Kernel als ,,Wurzel`` des Dateisystems (``Rootfilesystem'')  aktiviert; andere Partitionen werden bei der Systeminitialisierung auf bestimmte Verzeichnisse in dieser Rootpartition aufgesetzt. Für Sie als Benutzer sind die ,,Nahtstellen`` zwischen den Partitionen nur durch spezielle Hilfsprogramme sichtbar, aber für Ihre Arbeit mit dem System sind sie ohne Bedeutung.

Die Funktion von Verzeichnissen oder Directories wird Ihnen wahrscheinlich bekannt sein: Sie können sie sich als eine Art Behälter vorstellen, in denen Dateien und/oder weitere Verzeichnisse enthalten sein können.

Dateien (Files) sind auf den ersten Blick Texte, Programme oder sonstige Daten, die in ihrer maschinenlesbaren Form als ,,Strom`` von Bytes in Blöcken auf einem Massenspeicher (Festplatte oder Diskette) festgehalten und von dort wieder gelesen werden können. Dateien werden bei der Erzeugung mit einem Namen in ein Verzeichnis eingetragen und können danach unter diesem Namen angesprochen werden.

Darin unterscheidet sich das Linux-Dateisystem noch nicht von dem anderer Betriebssysteme. Erst bei näherer Betrachtung ändert sich das Bild: bei Linux können oder müssen grob sechs Arten von Dateien unterschieden werden. 

    

Normale Dateien
(regular files) entsprechen dem oben dargestellten Bild. Sie können ebensogut lesbare Gedichte wie ausführbare Maschinenprogramme enthalten. Sie belegen normale Datenblöcke auf der Festplatte.

Verzeichnisse
(directories) sind, genauer betrachtet, Dateien, in denen auf eine spezielle Art weitere Dateien ,,enthalten`` sind. Auch sie belegen Datenblöcke auf der Festplatte. Der Aufbau dieser Spezialdateien wird im Kapitel über die Dateisysteme erläutert.

Gerätedateien
sind Bindeglieder zwischen den Hardwarekomponenten und Geräten (devices) am Rechner bzw. den Gerätetreibern im Kernel auf der einen Seite und der Software im Laufzeitsystem, also den Anwenderprogrammen, auf der anderen. Alle Benutzerprozesse, die auf ein angeschlossenes Gerät oder eine Hardwarekomponente zugreifen wollen, müssen das über eine solche Gerätedatei tun.

Sockets
Sockets sind Spezialdateien aus dem Bereich der TCP/IP-Vernetzung, mit denen der Datenaustausch zwischen zwei lokal laufenden Prozessen über das Dateisystem realisiert werden kann.

FIFOs
(named pipes) stellen eine zweite, einfachere Methode des Datentransports zwischen zwei Prozessen über das Dateisystem dar. Wie die Pipelines in der Shell können die FIFOs Daten nur in einer Richtung transportieren.

Links
sind zusätzliche Namen (Verzeichniseinträge) für existierende Dateien. Es werden symbolische Links und Hardlinks unterschieden. Während Hardlinks vollkommen gleichwertige Verzeichniseinträge für eine existierende Datei sind, bestehen symbolische Links aus einer Spezialdatei, deren Inhalt ein Zeiger auf eine andere Datei ist.


Der File-System-Standard

    Der File-System-Standard ist das Projekt einer Gruppe von Linux-Systemadministratoren, -Entwicklern und -Benutzern, die ihre Erfahrungen und Vorstellungen ausführlich im Internet ausgetauscht und diskutiert haben. Das Ergebnis ist von Daniel Quinlan (quinlan@bucknell.edu) im File-System-Standard zusammengefaßt worden, dessen Version 1.2 im März 1995 fertiggestellt wurde.[*] Die Arbeit an der Standardisierung des Dateisystems geht weiter: zur Zeit werden Empfehlungen für ein gemeinsames Layout der Verzeichnisstruktur von BSD und Linux erarbeitet. Der aktuelle Entwurf ist unter dem Namen Filesystem Hierarchy Standard -- Draft 7 ebenfalls per FTP im Internet zu finden.

Mehrere zentrale Prinzipien ziehen sich durch den Standard:

An dieser Stelle beginnt die eigentliche Reise durch das Dateisystem. Auch wenn Ihnen an vielen Stellen ein Blick hinter die Kulissen gewährt wird, sehen Sie auf der Oberfläche ein leicht idealisiertes Dateisystem. Damit wird Ihnen nichts Wichtiges vorenthalten, sondern im Gegenteil Ihr Blick auf das Wesentliche gerichtet.


next up previous contents index
Next: Rootpartition und Wurzelverzeichnis Up: Reise durch's Dateisystem Previous: Reise durch's Dateisystem

Das Linux Anwenderhandbuch
(C) 1997 LunetIX