Syntax

exportfs   [-avi]   [-o Optionen] [Client:/Pfad …]

exportfs   -r [-v]

exportfs   [-av]   -u [Client:/Pfad …]

exportfs   [-v]

Beschreibung

Das exportfs Kommando wird benützt, um die aktuelle Tabelle der freigegebenen NFS-Dateisysteme zu warten, Diese Liste wird in einer separaten Datei mit Namen /var/lib/nfs/xtab gespeichert, die von mountd gelesen wird, wenn ein anderer Rechner Zugang zu einem Dateisystem haben will, um es zu mounten. Teile der Liste werden auch in der kerneleigenen Exporttabelle gehalten.

Normalerweise wird diese xtab-Datei mit den Namen aller Dateisysteme initialisiert, die in der Datei /etc/exports eingetragen sind. Das geschieht durch den Aufruf von exportfs -a.

Systemverwalter können jedoch Dateisysteme freigeben oder diese Freigabe zurücknehmen, ohne die Datei /etc/exports zu verändern, indem sie exportfs direkt benutzen.

Jede Freigabe, die sich auf einen spezifischen Rechner statt auf eine Subnetzmaske oder eine netgroup bezieht, wird direkt in die kerneleigene Exporttabelle und in die Datei /var/lib/nfs/xtab eingetragen. Weiterhin werden alle Mount-Points, die in /var/lib/nfs/rmtab aufgelistet sind und eine nicht Host-spezifische Nachfrage repräsentieren einen entsprechenden Eintrag für den genannten Host in der Kerneltabelle nach sich ziehen.

Optionen

-a
Exportiere oder unexportiere alle Verzeichnisse (die in exports genannt sind).
-o Optionen
Angabe einer Liste von Optionen, wie sie auch in /etc/exports angegeben würden.
-i
Die Datei /etc/exports wird ignoriert, so daß nur voreingestellte Optionen und solche, die auf der Kommandozeile eingegeben wurden, benutzt werden.
-r
Reexportiere alle Verzeichnisse. Diese Option synchronisiert /var/lib/nfs/xtab mit /etc/exports. Einträge in /var/lib/nfs/xtab, die aus /etc/exports entfernt wurden, werden gelöscht. Außerdem werden alle Einträge aus den Kerneltabellen gelöscht, die nicht mehr gültig sind.
-u
Unexportiere ein oder mehrere Verzeichnisse.
-v
Geschwätzige Ausgaben

Diskussion

Dateisysteme exportieren

Die erste genannte Syntax zeigt, wie das Kommando aufgerufen wird, um neue Einträge in die Export-Tabelle zu machen. Wen exportfs -a aufgerufen wird, werden alle Einträge in /etc/exports nach xtab kopiert und die resultierende Liste wird dem Kernel übergeben.

Das Client:/Pfad Argument spezifiziert das zu exportierende Verzeichnis (Pfad) und der oder die Hosts, denen es freigegeben werden soll. Alle Formate, die in /etc/exports gültig sind werden auch hier unterstützt. Um allen ein Verzeichnis freizugeben, wird nur :/Pfad angegeben.

Die Exportoptionen für ein bestimmtes Host/Verzeichnis-Paar werden aus verschiedenen Quellen abgeleitet. Es gibt eine Menge voreingestellter Optionen, die durch Einträge in /etc/exports überschrieben werden können (wenn nicht die -i Option angegeben wurde). Zusätzlich kann der Systemverwalter jede Option aus diesen Quellen überschreiben, indem er den -o Parameter benutzt, dem eine durch Kommata getrennte Liste von Optionen folgt, in genau der Schreibweise, wie sie auch in /etc/exports gemacht werden würde. Aus diesem Grund kann exportfs auch benutzt werden um die Export-Optionen eines bereits freigegebenen Verzeichnisses zu ändern.

Veränderungen der Kernel-Exporttabellen die von nfsd verwendet werden, werden sofort gültig, nachdem die Kommandozeile abgearbeitet ist und die Veränderungen in der xtab-Datei geschrieben wurden.

Die voreingestellten Exportoptionen sind async,ro,root_squash,no_delay.

Dateisysteme unexportieren

Die dritte Syntaxzeile zeigt wie eine bestehende Freigabe gelöscht wird, also ein Dateisystem „unexportiert“ wird. Wenn exportfs -ua aufgerufen wird, werden alle Einträge in xtab aus den Kerneltabellen entfernt und die Datei wird geleert. Effektiv werden so alle NFS-Aktivitäten beendet.

Um individuelle Export-Einträge zu löschen kann wiederum ein Client:/Pfad Paar angegeben werden. Das entfernt den angegebenen Eintrag aus xtab und den Kerneltabellen.

Ausgabe der Export-Tabellen

Wenn exportfs ohne weitere Optionen aufgerufen wird, so werden alle gegenwärtig freigegebenen Verzeichnisse ausgegeben. Zusammen mit der -v Option werden auch die Liste der Flags zu jeder Freigabe ausgegeben.

Beispiele

Die folgende Zeile nimmt alle Einträge aus /etc/exports und schreibt sie nach /var/lib/nfs/xtab und übergibt diese Datei dann an den Kernel:
  exportfs -a

Um das Verzeichnis /usr/tmp dem Rechner django freizugeben und dabei asynchrone Schreibzugriffe zu erlauben schreiben wir

  exportfs -o async django:/usr/tmp

Siehe Auch

exports(5) , mountd(8)