exportfs - Unix, Linux Command
exportfs - maintain list of NFS exported file systems
/usr/sbin/exportfs [-avi] [-o options,..] [client:/path..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/path..]
exportfs command is used to maintain the current table of exported file systems for
NFS. This list is kept in a separate file named
/var/lib/nfs/xtab which is read by
mountd when a remote host requests access to mount a file tree, and parts of
the list which are active are kept in the kernels export table.
xtab file is initialized with the list of all file systems named in
/etc/exports by invoking
However, administrators can choose to add and delete individual file systems
exportfs and its partner program
mountd work in one of two modes, a legacy mode which applies to 2.4 and
earlier versions of the Linux kernel, and a new mode which applies to
2.6 and later versions providing the
nfsd virtual filesystem has been mounted at
/proc/fs/nfs. If this filesystem is not mounted in 2.6, the legacy mode is used.
In the new mode,
exportfs does not give any information to the kernel but only provides it to
mountd through the
mountd will listen to requests from the kernel and will provide information
In the legacy mode,
any export requests which identify a specific host (rather than a
subnet or netgroup etc) are entered directly into the kernels export
table as well as being written to
/var/lib/nfs/xtab. Further, any mount points listed in
/var/lib/nfs/rmtab which match a non host-specific export request will cause an
appropriate export entry for the host given in
rmtab to be entered
into the kernels export table.
Export or unexport all directories.
-o options,... |
Specify a list of export options in the same manner as in
/etc/exports file, so that only default options and options given on the command
line are used.
Reexport all directories. It synchronizes /var/lib/nfs/xtab
with /etc/exports. It removes entries in /var/lib/nfs/xtab
which are deleted from /etc/exports, and remove any entries from the
kernel export table which are no longer valid.
Unexport one or more directories.
In new mode, flush everything out of the kernels export table. Any
clients that are active will get new entries added by
mountd when they make their next request.
Be verbose. When exporting or unexporting, show whats going on. When
displaying the current export list, also display the list of export
The first synopsis shows how to invoke the command when adding new
entries to the export table. When using
exportfs -a, all directories in
exports(5) are added to
xtab and the resulting list is pushed into the kernel.
host:/path argument specifies the directory to export along with the host or hosts to
export it to. All formats described in
exports(5) are supported; to export a directory to the world, simply specify
The export options for a particular host/directory pair derive from
several sources. There is a set of default options which can be overridden by
/etc/exports (unless the
-i option is given).
In addition, the administrator may overide any options from these sources
-o argument which takes a comma-separated list of options in the same fashion
as one would specify them in
exportfs can also be used to modify the export options of an already exported
Modifications of the kernel export table used by
nfsd(8) take place immediately after parsing the command line and updating the
The default export options are
The third synopsis shows how to unexported a currently exported directory.
exportfs -ua, all entries listed in
xtab are removed from the kernel export tables, and the file is cleared. This
effectively shuts down all NFS activity.
To remove individial export entries, one can specify a
host:/path pair. This deletes the specified entry from
xtab and removes the corresponding kernel entry (if any).
Dumping the Export Table
exportfs without further options shows the current list of exported file systems.
When giving the
-v option, the list of flags pertaining to each export are shown in addition.
The following adds all directories listed in
/etc/exports to /var/lib/nfs/xtab and pushes the resulting export entries into the kernel:
To export the
/usr/tmp directory to host
django, allowing asynchronous writes, one would do this:
# exportfs -o async django:/usr/tmp
Exporting to IP networks, DNS and NIS domains does not enable clients
from these groups to access NFS immediately; rather, these sorts of
exports are hints to
mountd(8) to grant any mount requests from these clients.
This is usually not a big problem, because any existing mounts are preserved
rmtab across reboots.
When unexporting a network or domain entry, any current exports to members
of this group will be checked against the remaining valid exports and
if they themselves are nolonger valid they will be removed.
Olaf Kirch, <firstname.lastname@example.org>
Neil Brown, <email@example.com>