Filesystem Hierarchy Standard
Einleitung
Der Filesystem Hierarchy Standard (FHS) ist eine von der Filesystem Hierarchy Standard Group veröffentlichte Richtlinie, die Regeln über die Verzeichnisstruktur unter UNIX-ähnlichen Betriebssystemen festlegt. Durch den Standard, der momentan in der Version 2.3 vorliegt, können sowohl Anwendungsprogramme als auch Benutzer leichter vorhandene Dateien und Verzeichnisse lokalisieren. Dies wird erreicht, indem das Dateisystem in verschiedene Verzeichnis-Bereiche aufgeteilt wird, denen jeweils eigenen Anwendungs- oder Aufgabengebiete zugeordnet werden. Die Richtlinie richtet sich hauptsächlich an Softwareentwickler, Betriebssystemhersteller und interessierte Benutzer, die dadurch angeregt werden sollen, FHS-kompatible Pakete zu veröffentlichen.
Der Aufbau
Der FHS unterscheidet grundsätzlich "shareable files" also solche Dateien, die auf einem Rechner gespeichert werden und auf mehreren Rechnern verwendet werden können und solchen bei denen die gemeinsame Nutzung ausgeschlossen ist, den sog. "unhareable files". Zu den gemeinsam nutzbaren (auch: statische) Dateien zählen im allgemeinen Binärdateien, statische Programmbibliotheken, -dokumentationen und solche Dateien, die nicht ohne administrative Eingriffe geändert werden. Diese Dateien werden normalerweise in den Verzeichnissen usr, etc, opt, boot usw. abgelegt. Auf die statischen Dateien reicht in der Regel ein Nur-Lese-Zugriff.
Variable Dateien, zeichnen sich hingegen genau dadurch aus, dass sie sich während des Rechnerbetriebs ändern. Zu solchen Daten gehören beispielsweise Dateien in Benutzerverzeichnissen, Log-Dateien oder E-Mail-Dateien. Solche änderbare Dateien werden in der Regel in Verzeichnissen wie /var/mail, /var/log, /home usw. zu finden sein.
Das Root-Dateisystem (/)
Im Wurzelverzeichnis müssen entsprechende Dateien (z.B. der Bootloader, Diagnosetools, Wiederherstellungstools) enthalten sein, die es einem Administrator ermöglichen, das System zu booten, es wiederherzustellen, es zu retten und/oder es zu reparieren. Es ist es aber sinnvoll, das Wurzelverzeichnis so klein wie möglich zu halten, da das Root-Verzeichnis auch auf sehr kleinen Datenträgern beheimatet sein kann. Generell gilt aber der Grundsatz, dass Anwendungsprogramme keine eigenen Verzeichnisse im Wurzelverzeichnis anlegen sollen, sondern auf die vorgegebene Verzeichnisstruktur zurückgreifen, auf die unten eingegangen wird.
benötigte Verzeichnisse
Folgende Verzeichnisse müssen in einem FHS-kompatiblem Dateisystem im Wurzelverzeichnis vorhanden sein:
- bin (Grundlegende Systembefehle)
- boot (Statische Dateien des Bootloaders)
- dev (Gerätedateien)
- etc (spezifische Konfigurationsdateien)
- lib (Kernel-Module und dynmamische Bibliotheken)
- media (Einhängepunkt für auswechselbare Datenträger)
- mnt (temporärer Einhängepunkt für Dateisysteme)
- opt (zusätzliche Softwarepakete)
- sbin (wichtige Systembefehle)
- srv (Daten, die von Diensten angeboten werden)
- tmp (temporäre Dateien)
- usr (2. Verzeichnisebene)
- var (variable Daten)
Auf die Inhalte der jeweiligen Verzeichnisse wird weiter unten eingegangen.