Wie bereits gesagt, bietet das Linux-Dateisystem das Bild eines Baumes mit einer Wurzel. Es ist naheliegend, eine Reise durch das Dateisystem an der Wurzel anzufangen.
Ein kurzes Listing zeigt das folgende Bild:
$ ls -F / bin/ etc/ lost+found/ ruth/ usr/ boot/ home/ mnt/ sbin/ var/ dev/ lib/ proc/ tmp/ vmlinuz $ _
Wie bereits oben erwähnt wurde, wird das Rootfilesystem vom Kernel
automatisch aktiviert, sobald er in den Arbeitsspeicher geladen und
initialisiert ist. Das Wurzelverzeichnis ist von da an fest im Kernel
verankert.
Der Linux-Kernel erfüllt selbst nur die minimalen Aufgaben eines Betriebssystems. Damit der Kernel auch bestimmte Systemprogramme (wie beispielsweise init, getty oder eine Shell) ausführen kann, ist diese feste Verbindung notwendig. Das bedeutet, daß alle Programme, die vom Kernel unmittelbar beim Systemstart automatisch ausgeführt werden sollen, zusammen mit ihren Konfigurationsdateien im Rootfilesystem angesiedelt sein müssen.
Zusätzlich müssen allein mit dem Rootfilesystem eine Reihe von essentiellen Arbeiten der Systemverwaltung ausführbar sein. Dazu gehören:
Wenn Sie sich das Listing des Wurzelverzeichnisses anschauen, werden Sie eine kleine Anzahl Verzeichnisse und eine einzige normale Datei finden. Die Datei kann in Abweichung vom oben gegebenen Beispiel auch zImage heißen und enthält den bootfähigen Kernel.
Die für Unix typische Strukturierung des Dateisystems nach funktionalen Gesichtspunkten wird bei den Verzeichnissen mit dem Namen bin besonders deutlich. Auf den verschiedenen Ebenen des Dateisystems gibt es jeweils ein Verzeichnis dieses Namens, denen allen gemeinsam ist, daß sie ausschließlich ausführbare Dateien enthalten.
Der Vorteil dieser Zusammenfassung besteht darin, daß die automatische Suche der Shell nach einem ausführbaren Programm auf diese Weise schnell und unkompliziert ist. Zu diesem Zweck werden der Shell alle bin Verzeichnisse mit ihren Pfadnamen im Dateisystem in der Umgebungsvariablen PATH mitgeteilt.
Das Verzeichnis /bin im Rootfilesystem enthält alle Programmdateien, die für die essentiellen Aufgaben der Systemverwaltung gebraucht werden, die aber auch von den anderen Systembenutzern verwendet werden können.
Im File-System-Standard ist eine Liste der essentiell wichtigen Programmdateien für /bin aufgeführt.
$ ls /bin arch dd gzip more rmdir true bash df hostname mount sed umount cat dmesg kill mv setserial uname chgrp domainname ln netstat sh zcat chmod echo login ping stty chown ed ls ps su cp false mkdir pwd sync date gunzip mknod rm tar $ _
Die meisten dieser Kommandos sind im Referenzteil des Buches ausführlich beschrieben.
Das neue Verzeichnis /boot enthält die Dateien des LILO Bootloaders, die nicht ausführbar sind und auch keine Konfigurationsdateien sind. Das sind in der Regel der gesicherte Master-Boot-Record und die Sector-Map. Hier können auch zusätzliche Kernel-Images und die Laufzeitmodule abgelegt werden. Nach dem File-System-Standard Entwurf kann und soll allein der Defaultkernel im Wurzelverzeichnis liegen.
Eine Erklärung des LILO Bootloaders finden Sie hier.