|
Wie bei allen Betriebssystemen folgt auch Linux einer vorgegebenen Verzeichnisstruktur. Da es dem Betriebssystem prinzipiell egal sein kann, wo sich welche Dateien befinden, liegt der Hauptzweck der Strukturierung darin dem Benutzer die Orientierung und Verwaltung zu vereinfachen.
Auf physikalischer Ebene, also dem Speichermedium, werden Tabellen geführt, welche Verweise auf die verschiedenen Nutzdaten beinhalten. Die Inhalte der Tabellen beinhalten sonst keine Metainformationen, wie Besitzrechte oder Zeitstempel. Bedingt durch Schreib- und Löschvorgänge können logisch zusammenhängende Nutzdaten über dem gesamten Speichermedium hinweg verstreut (fragmentiert) sein.
Über der physikalischen Ebene liegt das Dateisystem, welches die die Anordnung der Nutzdaten optimiert und Metainformationen hinzufügt. Daraus abstrahiert das Betriebssystem schließlich die Darstellung der Verzeichnisstruktur, wie es sich für den Benutzer darstellt.
Obwohl viele Distributionen im Bezug auf die Verzeichnisstruktur kleinere Änderungen mit sich bringen, ist sie im Wesentlichen bei allen identisch. Dies ist nicht zuletzt dem Filesystem Hierarchy Standard der Linux Foundation zu verdanken, welche sich u.a. für grundlegenden Standard unter Linux stark macht. Folgende grundlegende Verzeichnisstruktur findet man in so ziemlich jeder umfassenderen Distribution wieder. Diese beginnt mit dem Wurzelverzeichnis /. Der Begriff Wurzelverzeichnis rührt von der Ähnlichkeit der Struktur zu der Wurzel einer Pflanze her.

Neben der Strukturierung sind natürlich auch alle Verzeichnisse für einen spezifischen Inhalt vorgesehen. Einige werden deshalb nun etwas genauer betrachtet, beginnend mit der Hierarchie unterhalb der Wurzel.
- bin
Für jeden Benutzer ausführbare Shellscripte und Binärprogramme. Beispielsweise cp, tar oder auch die bash selbst.
- boot
Alle Dateien zum Hochfahren des Systems. Neben dem Bootloader befindet sich hier auch der Kernel.
- dev
Hier finden alle Gerätedateien platz. Von der Festplatte, über die Grafikkarte bis hin zur Konsole.
- etc
Konfigurationsdateien für die allermeißten Programme wie Crontabs, DNS-Server oder dem inetd.
- home
Unterhalb dieses Verzeichnisses befinden sich alle Benutzerverzeichnisse außer vom Superuser root.
- lib
Essentielle Systembibliotheken und Module für den Kernel.
- mnt
Unterhalb dieses Verzeichnisses werden alle Formen von Wechseldatenträgern eingehängt.
- opt
Dies ist das Installationsverzeichnis für Software, die nicht zum System selbst gehört, wie z.B. Office-Pakete.
- proc
Dieses Verzeichnis beinhaltet ein virtuelles Dateisystem mit dem sich alle erdenklichen Systeminformationen abrufen lassen.
- root
Das Heimatverzeichnis des Superusers.
- sbin
Verzeichnis für essentielle Systembinaries für den Systemstart, die Systemwiederherstellung und Reperatur.
- tmp
Speicherort für temporäre Dateien.
In der zweiten Hierarchiestufe liegt das Unterverzeichnis usr, welches sich speziell an den Bedürfnissen der Benutzer orientiert.
- X11R
Speicherort für die grafische Oberfläche X11.
- bin
Weitere Benutzerprogramme als Binaries.
- include
Hier befinden sich Include-Dateien für die Programmiersprache C auf die Benutzer zugreifen können.
- lib
Bibliotheken für Benutzerprogramme.
- local
Hier können selbt kompilierte Benutzerprogramme abgelegt werden.
- sbin
Speicherort für weniger Systemrelevante Binärprogramme, wie z.B. der MySQL oder Samba-Deamon.
- share
Alle architekturunabhängigen, nicht zu modifizierende Daten.
- src
Verzeichnis für Sourcecode
In der gleichen Hierarchiesstufe befindet sich das Verzeichnis var, welchem ebenfalls eine wichtige Bedeutung zukommt.
- cache
Anwendungsspezifische Daten, die Zwischengespeichert werden müssen, wie z.B. Zwischenergebnisse bei Kalkulationen.
- lib
Hier werden variable Statusinformationen von Anwendungen gespeichert, wie z.B. ein Backup einer aktuell editierten Textdatei.
- lock
Hier werden Lockdateien abgelegt, mit deren Hilfe der Zugriff auf verschiedene Resourcen gesteuert wird.
- log
Alles Logdateien vom System oder Programmen werden unterhalb dieses Verzeichnisses abgelegt.
Als normaler Benutzer wird man wenig mit Verzeichnissen Abseits vom home-Verzeichnis zu tun haben. Aber da die meißten Verzeichnisse zumindest das Auslesen gewähren, kann sich auch der einfache Benutzer z.B. Statusinformationen beschaffen ,die er in seine eigenen Programme einbindet oder Logdateien auslesen, um einem Fehler auf die Spur zu kommen.
Weitere Informationen:
- Wer noch weitere Vertiefungen in das Thema FHS möchte, sollte die Webpräsenz der FHS Group aufsuchen. Weiterführender Weblink
|