Wer von Windows kommt, ist über den Linux- bzw. Unix-Verzeichnisbaum verwundert - um es mal positiv auszudrücken ;-) Das liegt weniger an den fehlenden Laufwerksbuchstaben als vielmehr daran, dass Dateien unter Linux nicht nach Programmen, sondern nach deren Funktionen geordnet sind. Nun wird man einwenden können, dass es so nicht möglich ist einzelne Pakete durch Löschen ihrer Verzeichnisse wieder von der Festplatte zu entfernen. Pakete können aber mit einem PaketManager i.d.R. problemlos wieder deinstalliert werden und außerdem funktioniert diese Methode auch unter Windows schon seit geraumer Zeit nicht. Die Sortierung nach Funktion hat den Vorteil, dass Dateien nur nach ihrem Namen in den entsprechenden Verzeichnissen gesucht - und auch gefunden - werden können.

Der Aufbau des Verzeichnisbaums erfüllt die folgenden Anforderungen bzw. ermöglicht es diese Forderungen in einer Installation zu erfüllen:

Ein typischer Verzeichnisbaum eines Linux-Systems sieht folgendermaßen aus (Details siehe auch FHS):

/

Das Wurzelverzeichnis - der Anfang aller Dinge ;-) Wird auch als root-Verzeichnis bezeichnet und sollte nicht mit /root verwechselt werden.

/bin
Im Verzeichnis befinden sich ausführbare Programme für alle Benutzer. Wichtige Systembefehle wie einloggen, Arbeiten mit Dateien und Shells sind hier zu finden.
/boot

Das Verzeichnis enthält die zum Booten des Systems notwendigen Dateien (z.B. Kernel und BootManager). /boot wird öfters auf eine eigene Partition gelegt, die die besonderen Bedingungen einer bootbaren Partition erfüllt (Primäre Partition, 500MB- , 2GB-, 32GB-Grenze ... und auf Nicht-x86-Architekturen auch noch wildere Dinge).

/dev

Das Verzeichnis enthält traditionell alle Gerätedateien des Systems. Mittlerweile häufig ein "virtuelles" Dateisystem (devfs).

/etc
Im Verzeichnis befinden sich Konfigurationsdateien und -Datenbanken, die von root angepasst werden können.
/home
Das Verzeichnis enthält die Homeverzeichnisse der Benutzer.
/lib
Das Verzeichnis enthält die Bibliotheken, die zum Übersetzen und Linken von ausführbaren Programmen benötigt werden.
/lib/modules/
Enthält in Unterverzeichnissen die Module der installierten Kernel.
/lost+found
Wenn nach einen Systemabsturz die Struktur des Dateisystems beschädigt worden ist, wird versucht das Dateisystem mit dem Kommando fsck (file system check) zu reparieren. Dabei kann es vorkommen, dass verlorene Dateien wiedergefunden werden. Diese Dateien werden von fsck im Verzeichnis /lost+found abgelegt. Dieses Verzeichnis gibt es nur auf einem EXT2/3 Dateisystem und wird auch nur von diesen benutzt.
/mnt
Dieses Verzeichnis ist normalerweise leer und dient als Einhängpunkt für Dateisysteme, die nur vorübergehend verfügbar sind.
/opt

Dieses Verzeichnis beinhaltet optionale Dateien und Programme. SuSE benutzt dieses Verzeichnis um große Softwarepakete wie KDE oder Mozilla zu installieren. Die meisten anderen Distributionen fassen dieses Verzeichnis nicht an.

/proc
"Virtuelles" Dateisystem, enthält zum Beispiel Zustandsmeldungen des Systems und einzelner Prozesse - daher der Name.
/sbin
Das Verzeichnis enthält eine Reihe von Kommandos, die für die Konfiguration des Systems notwendig sind. Ihre Ausführung ist meistens Root vorbehalten.
/tmp

In diesem Verzeichnis, das für alle Benutzer frei beschreibbar ist, können Zwischendateien angelegt werden. Dieses Verzeichnis ist nach dem FHS nicht persistent, alle Dateien können beim Booten gelöscht werden.

/usr

Das /usr-Verzeichnis liegt bei vielen Konfigurationen auf einer gesonderten Festplatte oder Partition. Es enthält eine Reihe von Unterverzeichnissen, die weitere Anwenderprogramme, Systembefehle, Zusatzdateien und Subsysteme enthalten. Entgegen häufig geäußerter Meinung steht /usr nicht für "user" sondern für "Unix System Resources".

/usr/share
In diesem Verzeichnis liegen alle Dateien, die systemunabhängig sind, z.B. Dokumentationen (/usr/share/doc/) oder die einen oder anderen Bibliotheken einer Skriptsprache.
/usr/local
Klassische Bedeutung: Nicht systemweit (zum Beispiel per NFS) freigegebene Dateien, sondern nur welche, die auf der lokalen Workstation installiert sind. Häufige Bedeutung: Der Teil der Systemverzeichnishierarchie, in dem die Distribution nichts ändert, also zum Beispiel aus dem Netz gezogene und kompilierte Programme.
/var
Veränderliche Dateien hat man nach /var verlegt. Dadurch wird ermöglicht, den /usr-Dateibaum nur-lesbar in ein Netzwerk zu exportieren und zwischen mehreren UNIX-Systemen zu teilen.
/var/spool
Verzeichnis, in dem der Druckerspooler, das Mail- und das News-System sowie andere Hintergrundprogramme ihre Zwischendateien ablegen.
/var/tmp

Ähnlich wie /tmp, nur ist es nach FHS persistent, d.h. alle Dateien müssen einen Reboot überstehen

Fragen

Frage: Speicherplatzbelegung ermitteln? Wie kann ich für die einzelnen Partionen eine (grafische?) Gesamtübersicht ermitteln? Vielleicht ähnlich komfortabel und umfassend wie mit dem Windows-Programm Treesize (http://www.jam-software.com/freeware/index.shtml)...? Könnte mir da jemand weiterhelfen? -Danke!


VerzeichnisBaum (zuletzt geändert am 2010-08-27 11:07:25 durch p5DD27F09)