3.2. �bersicht �ber den Dateisystem-Hierarchiestandard (FHS)
Red Hat ben�tzt die Filesystem Hierarchy Standard (FHS)-Dateisystemstruktur, die die Namen, Orte und Genehmigungen f�r viele Dateiarten und Verzeichnisse definiert.
Das aktuelle FHS-Dokument ist die ma�gebende Referenz f�r alle FHS-konformen Dateisysteme, wobei der Standard jedoch viele Bereiche undefiniert oder erweiterbar l�sst. In diesem Abschnitt geben wir Ihnen einen �berblick �ber diesen Standard und eine Beschreibung jener Bereiche des Dateisystems, die vom Standard nicht erfasst werden.
Die Erf�llung dieses Standards bedeutet viel, aber die beiden wichtigsten Aspekte sind sicherlich die Kompatibilit�t mit anderen Systemen und die M�glichkeit, eine /usr/-Partition schreibgesch�tzt zu mounten, weil sie gemeinsam genutzte ausf�hrbare Dateien enth�lt und daher keine �nderungen durch den Benutzer vorgenommen werden sollten. Da /usr/ schreibgesch�tzt gemountet ist, besteht die M�glichkeit, sie �ber die CD-ROM oder �ber einen schreibgesch�tzten NFS-Mount von einem anderen Rechner aus zu mounten.
3.2.1. FHS-Organisation
Die hier beschriebenen Verzeichnisse und Dateien stellen nur eine kleine Teilmenge der im Dokument zum Dateisystemstandard angegebenen Verzeichnisse und Dateien dar. Vollst�ndige Informationen finden Sie im neuesten Dokument zum Dateisystemstandard FHS.
Das /boot/-Verzeichnis enth�lt statische Dateien, die erforderlich sind, um das System hochzufahren, den Linux Kernel. Diese Dateien sind notwendig, damit das System fehlerfrei hochfahren kann.
Warnung
Entfernen Sie unter keinen Umst�nden das /boot/-Verzeichnis. Wenn Sie dieses Verzeichnis l�schen, kann Ihr System nicht mehr gestartet werden.
3.2.1.2. Das /dev/-Verzeichnis
Das /dev/-Verzeichnis enth�lt Dateisystemeintr�ge, welche an das System angeschlossene Ger�te repr�sentieren. Diese Dateien sind f�r das einwandfreie Funktionieren des Systems unerl�sslich.
3.2.1.3. Das /etc/-Verzeichnis
Das /etc/-Verzeichnis ist f�r lokale Konfigurationsdateien Ihres Rechners reserviert. Unter /etc/ d�rfen keine Bin�rdateien abgelegt werden. S�mtliche Bin�rdateien, die zu einem fr�heren Zeitpunkt in /etc/ abgelegt wurden, m�ssen nun nach /sbin/ oder /bin/ verschoben werden.
Die Verzeichnisse X11/ und skel/ sind Unterverzeichnisse von /etc/:
/etc
|- X11/
|- skel/
Im /etc/X11/-Verzeichnis werden X Window System-Konfigurationsdateien, wie z.B. xorg.conf, abgelegt. Im /etc/skel/-Verzeichnis werden "Skeleton"-Benutzerdateien abgelegt. Wenn ein neuer Benutzer hinzukommt, dienen diese dazu, ein Heimverzeichnis anzulegen.
3.2.1.4. Das /lib/-Verzeichnis
Das /lib/-Verzeichnis sollte nur jene Bibliotheken enthalten, die f�r das Ausf�hren der Bin�rdateien von /bin/ und /sbin/ gebraucht werden. Diese gemeinsam genutzten Bibliothek-Images sind insbesondere f�r das Hochfahren des Systems und das Ausf�hren von Befehlen innerhalb des root-Dateisystems von Bedeutung.
3.2.1.5. Das /media/-Verzeichnis
Das /media/-Verzeichnis beinhaltet Unterverzeichnisse, welche als Mount-Punkte f�r transportable Medien wie z.B. 3,5 Disketten, CD-ROMs und Zip-Diskette dienen.
3.2.1.6. Das /mnt/-Verzeichnis
Das /mnt/-Verzeichnis ist f�r vor�bergehend gemountete Dateisysteme, wie z.B. NFS-Dateisysteme-Mounts. F�r alle transportablen Medien benutzen Sie das Verzeichnis /media/.
Hinweis
Dieses Verzeichnis darf nicht von Installationsprogrammen benutzt werden.
3.2.1.7. Das /opt/-Verzeichnis
Das /opt/-Verzeichnis stellt einen Bereich f�r die Speicherung von gro�en und statischen Software-Paketen zur Verf�gung.
F�r Pakete, deren Dateien nicht �ber das ganze Dateiystem verteilt abgelegt werden sollen, stellt das /opt/-Verzeichnis ein logisches und �berschaubares organisatorisches System mit dem Namen des Pakets zur Verf�gung. Der Systemadministrator kann so die Rolle jeder Datei innerhalb eines bestimmten Pakets bestimmen.
Wenn z.B. ein besimmtes Softwarepaket, das in /opt/ abgelegt ist, sample hei�t, dann k�nnen alle zugeh�rigen Dateien in Verzeichnisse innerhalb /opt/sample/ abgelegt werden, z.B. /opt/sample/bin/ f�r Bin�rdateien und /opt/sample/man/ f�r manuelle Seiten.
Gro�e Pakete, die zahlreiche Unterpakete umfassen, die jeweils verschiedene Aufgaben erf�llen, werden in /opt/ positioniert, so dass das gro�e Paket eine Organisationsstruktur erh�lt. Das sample-Paket kann auf diese Weise verschiedene Tools in eigenen Unterverzeichnissen besitzen - beispielsweise /opt/sample/tool1/ und /opt/sample/tool2/, die wiederum ihre eigenen Verzeichnisse wie bin/ oder man/ u.�. aufweisen.
3.2.1.8. Das /proc/-Verzeichnis
Das /proc/-Verzeichnis enth�lt spezielle Dateien, die entweder Informationen zum Kernel schicken oder sie vom Kernel erhalten.
Aufgrund der gro�en Anzahl verf�gbarer Daten in /proc/ und der vielen Verwendungsm�glichkeiten dieses Verzeichnisses im Zusammenhang mit dem Kernel, wurde diesem Thema ein ganzes Kapitel gewidmet. Weitere Informationen hierzu finden Sie unter Kapitel 5.
3.2.1.9. Das /sbin/-Verzeichnis
Das /sbin/-Verzeichnis enth�lt die ausf�hrbaren Dateien, die vom root-Benutzer ben�tzt werden. Die ausf�hrbaren Dateien in /sbin/ dienen ausschlie�lich dem Hochfahren und f�hren Wiederherstellungsvorg�nge durch. In diesem Verzeichnis bedeutet FHS:
/sbin/ enth�lt Bin�rdateien, die f�r das Hochfahren, Wiederherstellen, Retten und/oder Reparieren des Systems notwendig sind, sowie Bin�rdateien in/bin/. Jede nach dem Mounten von /usr/ verwendete ausf�hrbare Datei (sofern keine Probleme auftreten) sollte in /usr/sbin/ abgelegt werden. Lokale Systemverwaltungs-Bin�rdateien sollten in /usr/local/sbin/.
abgelegt werden.
Zumindest die folgenden Programme sollten sich also in /sbin/ befinden:
Das Verzeichnis /srv/ beinhaltet site-spezifische Daten Ihres Systems unter Red Hat Enterprise Linux. Dieses Verzeichnis zeigt Benutzern wo Datenbest�nde f�r einen speziellen Dienst wie z.B. FTP, WWW oder CVS zu finden sind. Daten, die nur zu einem spezifischen Benutzer geh�ren, sollten im Verzeichnis /home/ gespeichert werden.
Hinweis
Wir weisen Sie darauf hin, dass Datenbest�nde, die sich derzeit in /var/ befinden, in zuk�nftigen Versionen eventuell in die Datei /srv/ verschoben werden k�nnten.
3.2.1.11. Das /sys/-Verzeichnis
Das Verzeichnis /sys/ bentzt das neue virtuelle Dateisystem sysfs, welches spezifisch f�r den 2.6 Kernel ist. Mit der zunehmenden Unterst�tzung von Hot Plug Hardwareger�ten durch den 2.6 Kernel, beinhaltet das Verzeichnis /sys/ �hnliche Information wie das Verzeichnis /proc/, weist jedoch eine hierarchische Ansicht spezifischer Ger�teinformationen in Bezug aluf Hot Plug Ger�te auf.
Um zu sehen wie bestimmte USB-und FireWire-Ger�te tats�chlich gemountet werden, verweisen wir auf die /sbin/hotplug und /sbin/udev man-Seiten.
3.2.1.12. Das /usr/-Verzeichnis
Im /usr/-Verzeichnis werden Dateien abgelegt, die allen Maschinen zur Verf�gung gestellt werden. Das /usr/-Verzeichnis liegt oftmals in seiner eigenen Partition und ist schreibgesch�tzt gemountet. Zumindest folgende Verzeichnisse sollten Unterverzeichnisse von /usr/ sein:
Im /usr/ Verzeichnis enth�lt das bin/-Unterverzeichnis ausf�hrbare Dateien, etc/ enth�lt Konfigurationsdateien f�r das gesamte System, games/ ist f�r Spiele reserviert, include/ enth�lt C-Header-Dateien, kerberos/ enth�lt Bin�rdateien und andere Dateien im Zusammenhang mit Kerberos und lib/ enth�lt Objektdateien und Bibliotheken, die nicht konzipiert wurden, um direkt von Benutzern oder Shell-Skripts verwendet zu werden. Das libexec/- Verzeichnis enth�lt kleinere Hilfsprogramme, die von anderen Programmen aufgerufen werden, sbin/ enth�lt die Bin�rdateien f�r die Systemverwaltung (jene Bin�rdateien, die nicht zu /sbin/ geh�ren), share/ enth�lt Dateien, die nicht architekturspezifisch sind, src/ ist f�r den Quellcode reserviert und X11R6/ ist f�r das X-Window-System gedacht. (XFree86 auf Red Hat Enterprise Linux).
3.2.1.13. Das /usr/local/-Verzeichnis
Laut FHS:
"Die /usr/local/-Hierarchie kann vom Systemadministrator f�r die Installation lokaler Software benutzt werden. Bei der Aktualisierung der Systemsoftware muss ein �berschreiben ausgeschlossen werden. Das Verzeichnis kann f�r Programme und Daten benutzt werden, auf die innerhalb einer Gruppe von Rechnern zugegriffen werden kann, und die nicht in /usr/ abgelegt sind."
Das /usr/local/-Verzeichnis hat eine �hnliche Struktur wie das /usr/-Verzeichnis. Es enth�lt die folgenden Unterverzeichnisse, deren Verwendungszweck jeweils dem der Unterverzeichnisse im /usr/-Verzeichnis �hnlich ist:
In Red Hat Enterprise Linux unterscheidet sich der Verwendungszweck f�r /usr/local/ leicht von den durch FHS definierten Verwendungszwecken. Laut FHS soll /usr/local/ bei jener Software abgelegt werden, die vor Aktualisierungen der System-Software gesch�tzt bleiben soll. Da Software- Aktualisierungen sicher mit RPM Package Manager (RPM) durchgef�hrt werden k�nnen, ist es nicht notwendig, Dateien zu sch�tzen, indem diese in /usr/local/ abgelegt werden. Stattdessen empfehlen wir Ihnen, f�r lokal auf Ihrem Rechner verwendete Software auf das Verzeichnis /usr/local/ zur�ckzugreifen.
Wenn, zum Beispiel, das Verzeichnis /usr/ als eine Read-Only (Nur-Lesen) NFS Share von einem Remote Host gemountet wird, ist es immernoch m�glich, ein Programm oder Paket unter /usr/local/ zu installieren.
3.2.1.14. Das /var/-Verzeichnis
Der Dateisystemstandard FHS erfordert, dass das Mounten von /usr/ im schreibgesch�tzten Modus m�glich ist. Daher sollten Programme, die Protokolldateien schreiben oder spool/ oder lock/-Verzeichnisse ben�tigen, am besten in das/var/ Verzeichnis schreiben. Laut FHS steht /var/ f�r:
"...variable Datendateien. Dazu geh�ren Spool-Verzeichnisse und Spooldateien, Systemverwaltungs- und Protokollierungsdaten sowie zwischengespeicherte Dateien."
Nachfolgend einige der Verzeichnisse, die im /var/ Verzeichnis gefunden werden k�nnen:
Systemprotokolldateien wie z.B. messages und lastlog werden im /var/log/- Verzeichnis abgelegt. Das /var/lib/rpm/-Verzeichnis enth�lt auch die RPM- Systemdatenbanken. Sperrdateien werden in /var/lock/ abgelegt, wobei es sich hier normalerweise um spezifische Verzeichnisse f�r das Programm handelt, das diese Dateien benutzt. Das /var/spool/-Verzeichnis hat Unterverzeichnisse f�r Programme, in denen Datendateien gespeichert werden.