In diesem Kapitel erhalten Sie einen Überblick über das Red Hat Linux System. Dieser Überblick soll dazu dienen, Sie mit einigen Aspekten von Red Hat Linux vertraut zu machen, die Sie möglicherweise noch nicht kennen. Außerdem erläutert dieses Kapitel einige der Unterschiede zwischen Red Hat Linux und anderen UNIX-Systemen.
Red Hat ist dem Filesystem Hierarchy Standard (FHS) verpflichtet. Dabei handelt es sich um ein gemeinsam mit anderen Institutionen erarbeitetes Dokument, in dem die Namen und Speicherorte vieler Dateien und Verzeichnisse festgelegt sind. Unser Unternehmen wird sich auch weiterhin nach diesem Standard richten, damit Red Hat Linux auch in Zukunft diesen Standard erfüllt.
Das aktuelle FHS-Dokument ist die maßgebende Referenz für alle FHS-konformen Dateisysteme. In diesem Abschnitt geben wir Ihnen einen Überblick über den Standard sowie eine Beschreibung jener Teile des Dateisystems, die vom Standard nicht beschrieben werden.
Den vollständigen Standard finden Sie unter:
Die Konformität mit diesem Standard beinhaltet sehr viele Aspekte. Die beiden wichtigsten Aspekte sind jedoch die Kompatibilität mit anderen Systemen und die Möglichkeit, die Partition /usr als schreibgeschützte Partition zu mounten (da sie gemeinsam genutzte ausführbare Dateien enthält und keine Änderungen durch den Benutzer vorgesehen sind). Da /usr schreibgeschützt gemountet werden kann, besteht die Möglichkeit, /usr über die CD-ROM oder über ein schreibgeschütztes NFS-System von einem anderen Rechner aus zu mounten.
Die hier beschriebenen Verzeichnisse und Dateien stellen nur eine kleine Teilmenge von den im Dokument zum Dateisystemstandard angegebenen Verzeichnissen und Dateien dar. Die umfassendsten Informationen finden Sie im neuesten Dokument zum Dateisystemstandard FHS.
Das Verzeichnis /dev enthält Dateisystemeinträge, die die an das System angeschlossenen Geräte repräsentieren. Diese Dateien sind für das richtige Funktionieren des Systems unerlässlich.
Das Verzeichnis /etc ist für lokale Konfigurationsdateien reserviert. In /etc dürfen keine Binärdateien abgelegt werden. Sämtliche Binärdateien, die zu einem früheren Zeitpunkt in /etc abgelegt wurden, müssen jetzt nach /sbin oder - wenn möglich - nach /bin verschoben werden.
Die Verzeichnisse X11 und skel müssen Unterverzeichnisse von /etc sein:
/etc |- X11 +- skel |
Im Verzeichnis X11 werden X11-Konfigurationsdateien wie XF86Config abgelegt. Im Verzeichnis skel werden Benutzerdateien-"Gerippe" abgelegt; wenn ein neuer Benutzer erstellt wird, dienen sie dazu, ein Home-Verzeichnis zu füllen.
Das Verzeichnis /lib sollte nur jene Bibliotheken enthalten, die für das Ausführen der Binärdateien in /bin und /sbin gebraucht werden.
Das Verzeichnis /proc enthält spezielle Dateien, die Informationen mit dem Kernel austauschen. /proc ermöglicht es Ihnen, mit Hilfe des Befehls cat auf einfache Weise auf Informationen über das Betriebssystem zuzugreifen.
Das Verzeichnis /sbin enthält ausführbare Dateien, die nur vom Root-Benutzer verwendet werden. Die ausführbaren Dateien im Verzeichnis /sbin werden nur dazu verwendet, /usr zu booten und zu mounten und Vorgänge zur Systemwiederherstellung auszuführen. Laut Dateisystemstandard FHS gilt:
"Zusätzlich zu den Binärdateien in /bin sind in /sbin in der Regel Dateien enthalten, die für den Systemstart notwendig sind. Alle Programme, die nach dem erfolgreichen Mounten von /usr ausgeführt werden (falls keine Probleme aufgetreten sind), sollten in /usr/sbin abgelegt werden. Binärdateien für die ausschließlich lokale Systemadministration sollten in /usr/local/sbin abgelegt werden."
/sbin sollte mindestens die folgenden Programme enthalten:
arp, clock, getty, halt, init, fdisk, fsck.*, ifconfig, lilo, mkfs.*, mkswap, reboot, route, shutdown, swapoff, swapon, update |
Im Verzeichnis /usr werden Dateien abgelegt, die allen Benutzern auf einer Site zur Verfügung gestellt werden. Für das Verzeichnis /usr wird in der Regel eine eigene Partition angelegt. Es sollte möglich sein, diese Partition schreibgeschützt zu mounten. /usr muss die folgenden Unterverzeichnisse enthalten:
/usr |- X11R6 |- bin |- doc |- etc |- games |- include |- lib |- libexec |- local |- sbin |- share +- src |
Das Verzeichnis X11R6 ist für das X Window System gedacht (XFree86 in Red Hat Linux), bin enthält ausführbare Dateien, doc enthält Dokumentation, die nicht in Form von man-Seiten vorliegt, etc enthält Konfigurationsdateien für die gesamte Site, games ist für Spiele reserviert, include enthält C-Header-Dateien, lib enthält Bibliotheken, libexec enthält kleinere Hilfsprogramme, die von anderen Programmen aufgerufen werden, sbin enthält die Binärdateien für die Systemadministration (solche Binärdateien, die nicht zu /sbin gehören), share enthält Dateien, die nicht architekturspezifisch sind und src ist für den Quellcode reserviert.
Laut Dateisystemstandard FHS gilt:
"Die Hierarchie /usr/local kann vom Systemadministrator für die Installation lokaler Software benutzt werden. Bei der Aktualisierung der System-Software muss ein Überschreiben ausgeschlossen werden. Das Verzeichnis kann für Programme und Daten verwendet werden, auf die innerhalb einer Gruppe von Computern zugegriffen werden kann und die nicht in /usr abgelegt sind."
Das Verzeichnis /usr/local hat eine ähnliche Struktur wie das Verzeichnis /usr. Es enthält die folgenden Unterverzeichnisse, deren Verwendungszweck jeweils dem der Unterverzeichnisse im Verzeichnis /usr ähnlich ist:
/usr/local |- bin |- doc |- etc |- games |- info |- lib |- man |- sbin +- src |
Der Dateisystemstandard FHS erfordert, dass das Mounten von /usr im Read-Only-Modus möglich sein soll. Daher sollten Programme, die Protokolldateien schreiben oder spool- bzw. lock-Verzeichnisse benötigen, am besten in das Verzeichnis /var schreiben. Laut Dateistandardsystem FHS enthält /var:
"…variable Datendateien. Dazu gehören Spool-Verzeichnisse und Spool-Dateien, Systemverwaltungs- und Protokollierungsdaten sowie zwischengespeicherte Dateien."
/var muss die folgenden Unterverzeichnisse enthalten:
/var |- cache |- db |- ftp |- gdm |- lib |- local |- lock |- log |- named |- nis |- opt |- preserve |- run +- spool |- anacron |- at |- cron |- fax |- lpd |- mail |- mqueue +- news |- rwho |- samba |- slrnpull |- squid |- up2date |- uucp |- uucppublic |- vbox |- voice |- tmp |- yp |
Systemprotokolldateien wie wtmp und lastlog werden im Verzeichnis /var/log abgelegt. Das Verzeichnis /var/lib enthält auch die RPM-Systemdatenbanken. Sperrdateien werden in /var/lock abgelegt. Das Verzeichnis /var/spool enthält Unterverzeichnisse, in denen verschiedene Systeme Datendateien speichern können.
Der Verwendungszweck des Verzeichnisses /usr/local unterscheidet sich in Red Hat Linux geringfügig von der im Dateisystemstandard FHS definierten Verwendung. Laut Dateistandard soll in /usr/local Software abgelegt werden, die bei Aktualisierungen der System-Software geschützt werden soll. Das Aktualisieren von Red Hat mit dem RPM-System und Gnome-RPM ist sicher, was das Überschreiben angeht. Es ist daher nicht nötig, Dateien dadurch zu schützen, dass Sie sie im Verzeichnis /usr/local ablegen. Stattdessen wird empfohlen, /usr/local für lokal verwendete Software zu nutzen.
Angenommen, Sie haben z.B. /usr über NFS schreibgeschützt von beavis gemountet. Wenn Sie ein bestimmtes Paket oder Programm installieren möchten, auf beavis aber nicht schreibend zugreifen können, sollten Sie es unter /usr/local installieren. Falls es Ihnen irgendwann gelingen sollte, den Systemadministrator von beavis dazu zu bringen, das Programm auf /usr zu installieren, können Sie es von /usr/local wieder deinstallieren.