# Die Datei /etc/fstab

Die Datei `/etc/fstab` enthält Parameter über das (permanente) Dateisystem.

Jedes Dateisystem wird durch eine eigene Zeile beschrieben; anhand einer typischen `/etc/fstab` betrachten wir die wichtigsten Einträge:

`/dev/hda1 / ext2 defaults 1 1 /dev/hdb2 /usr ext2 defaults 1 2 /dev/hda3 swap swap defaults 0 0 /dev/hdc /cdrom iso9660 ro,noauto,user 0 0 /dev/fd0 /floppy auto noauto,user 0 0 proc /proc proc defaults 0 0`

Drei der Einträge dieser Beispieldatei sind für alle Systeme zu empfehlen:

- Zeile 1: Betrifft das Root-Dateisystem (notwendig)
- Zeile 3: Einbinden einer Swap-Partition (optional)
- Zeile 8: Einbinden des Prozessdateisystems (notwendig)

Alle weiteren Zeilen sind optional. Jede Zeile besteht aus 6 Spalten, die im Einzelnen folgende Bedeutung besitzen:

`Device Mountpoint Type Options Dump Check`

Eintrag | Bedeutung
Device | Blockdevice oder entferntes Dateisystem, welches zu mounten ist
Mountpoint | Verzeichniseintrag, in dem das Dateisystem erscheinen soll
Type | Typ des Dateisystems (auto steht für automatische Erkennung bei Diskettenlaufwerken)
Options | Optionen (siehe nachfolgende Tabelle)
Dump | Gibt an, ob das Dateisystem vom Kommando `dump` zu sichern ist. Dieser Eintrag wird derzeit nur beim Dateisystemtyp`ext2` bewertet.
Check | Gibt an, ob das Dateisystem vor dem Mounten zu überprüfen ist. Beim Root-Dateisystem sollte hier eine "1" stehen und bei allen anderen entweder eine "0" (keine Prüfung) oder eine "2". Dateisysteme mit gleicher Nummer werden parallel überprüft, das Root-Dateisystem sollte immer allein und als erstes getestet werden.

Mit den Optionen kann der Mount-Vorgang gesteuert werden (Auswahl):

defaults | Voreinstellungen (rw, suid, auto, nouser...)
noauto | Kein automatisches Mounten beim Booten
user | Device darf von normalen Nutzern gemountet werden
ro, rw | read only, read write
exec | Ausführung von Binaries gestattet
sync | Ungepuffertes Schreiben

Prinzipiell lassen sich alle Dateisysteme (sofern vom Kernel unterstützt) auch per Hand mit dem Kommando `mount` einbinden, jedoch erfordert dieses Vorgehen immer die vollständige Syntax. Als Beispiel importieren wir das Home-Verzeichnis via NFS (Network File System) von einem Rechner mit den Namen `erde.galaxis.de`.

Das Dateisystem soll in einem Verzeichnis `/nfs` sichtbar sein. Die notwendige Kommandozeile lautet:

`root@sonne> mount -t nfs erde.galaxis.de:/home /nfs`

Möchte der Systemadministrator nun zulassen, dass auch ein normaler Nutzer dieses Verzeichnis mounten kann, trägt er eine entsprechende Zeile in die Datei `/etc/fstab` ein:

`erde.galaxis.de:/home /nfs nfs noauto,user 0 0`

Ein solches Dateisystem darf natürlich nicht überprüft werden, da diese Aufgabe dem entfernten Rechner obliegt.

Für den Nutzer genügt jetzt folgende Kommandozeile:

`user@sonne> mount /nfs`

`mount` sucht die fehlenden Parameter in der Datei `/etc/fstab` und wird fündig...

Alle momentan eingebundenen Dateisysteme werden in einer Datei `/etc/mtab` verwaltet.