Red Hat Enterprise Linux 3: Referenzhandbuch | ||
---|---|---|
Zurück | Kapitel 3. Struktur des Dateisystems | Nach vorne |
Red Hat benützt die Filesystem Hierarchy Standard (FHS)-Dateisystemstruktur, die die Namen, Orte und Genehmigungen für viele Dataiarten und Verzeichnisse definiert.
Das aktuelle FHS-Dokument ist die maßgebende Referenz für alle FHS-konformen Dateisystem, 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.
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.
Der vollständige Standard ist online verfügbar unter: http://www.pathname.com/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. |
Das /dev/-Verzeichnis enthält Dateisystemeinträge, die die an das System angeschlossenen Geräte wiedergeben. Diese Dateien sind für das einwandfreie Funktionieren des Systems unerlässlich.
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. XF86Config, abgelegt. Im /etc/skel/-Verzeichnis werden "skeleton" Benutzerdateien abgelegt. Wenn ein neuer Benutzer hinzukommt, dienen sie dazu, ein Home-Verzeichnis anzulegen.
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.
Das /mnt/-Verzeichnis ist für vorübergehend gemountete Dateisysteme, wie CD-ROMs und 3,5 Disketten.
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.
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.
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:
abgelegt werden./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/.
Zumindest die folgenden Programme sollten sich also in /sbin/ befinden:
arp, clock, halt, init, fsck.*, grub ifconfig, lilo, mingetty, mkfs.*, mkswap, reboot, route, shutdown, swapoff, swapon |
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 gemounted. Zumindest folgende Verzeichnisse sollten Unterverzeichnisse von /usr/ sein:
/usr |- bin/ |- dict/ |- doc/ |- etc/ |- games/ |- include/ |- kerberos/ |- lib/ |- libexec/ |- local/ |- sbin/ |- share/ |- src/ |- tmp -> ../var/tmp/ |- X11R6/ |
Im /usr/ Verzeichnis enthält das bin/- Verzeichnis ausführbare Dateien, dict/ enthält nicht FHS-konforme Dokumentationsseiten, 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).
"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:
/usr/local |- bin/ |- doc/ |- etc/ |- games/ |- include/ |- lib/ |- libexec/ |- sbin/ |- share/ |- src/ |
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 Red Hat Package Manager (RPM) durchgeführt werden können, ist es nicht notwendig, Dateien zu schützen, indem sie in /usr/local/ abgelegt werden.Stattdessen empfehlen wir Ihnen, für lokal auf Ihrem Rechner verwendete Software auf /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.
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:
/var |- account/ |- arpwatch/ |- cache/ |- crash/ |- db/ |- empty/ |- ftp/ |- gdm/ |- kerberos/ |- lib/ |- local/ |- lock/ |- log/ |- mail -> spool/mail/ |- mailman/ |- named/ |- nis/ |- opt/ |- preserve/ |- run/ +- spool/ |- at/ |- clientmqueue/ |- cron/ |- cups/ |- lpd/ |- mail/ |- mqueue/ |- news/ |- postfix/ |- repackage/ |- rwho/ |- samba/ |- squid/ |- squirrelmail/ |- up2date/ |- uucppublic/ |- vbox/ |- tmp/ |- tux/ |- www/ |- yp/ |
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..
Zurück | Zum Anfang | Nach vorne |
Struktur des Dateisystems | Nach oben | Spezielle Dateispeicherstellen unter Red Hat Enterprise Linux |