From Linux Man Pages
exportfs - maintain list of NFS exported file systems
SYNOPSIS
/usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/path ..]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f
DESCRIPTION
The 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 kernel's export table.
Normally this xtab file is initialized with the list of all file systems named in /etc/exports by invoking
exportfs -a.
However, administrators can choose to add and delete individual file systems without modifying /etc/exports using
exportfs.
exportfs and it's 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/nfsd or /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
/var/lib/nfs/xtab file. mountd will listen to requests from the kernel and will provide information as needed.
In the legacy mode, any export requests which identify a specific host (rather than a subnet or netgroup etc) are
entered directly into the kernel's 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 appropri-
ate export entry for the host given in rmtab to be entered into the kernel's export table.
OPTIONS
-a Export or unexport all directories.
-o options,...
Specify a list of export options in the same manner as in exports(5).
-i Ignore the /etc/exports file, so that only default options and options given on the command line are used.
-r 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.
-u Unexport one or more directories.
-f 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.
-v Be verbose. When exporting or unexporting, show what's going on. When displaying the current export list,
also display the list of export options.
DISCUSSION
Exporting Directories
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.
The host:/path argument specifies the directory to export along with the host or hosts to export it to. All for-
mats described in exports(5) are supported; to export a directory to the world, simply specify :/path.
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 entries in /etc/exports (unless the -i option is given). In addition, the
administrator may overide any options from these sources using the -o argument which takes a comma-separated list
of options in the same fashion as one would specify them in exports(5). Thus, exportfs can also be used to mod-
ify the export options of an already exported directory.
Modifications of the kernel export table used by nfsd(8) take place immediately after parsing the command line
and updating the xtab file.
The default export options are sync,ro,root_squash,wdelay.
Unexporting Directories
The third synopsis shows how to unexported a currently exported directory. When using 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
Invoking 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.
EXAMPLES
The following adds all directories listed in /etc/exports to /var/lib/nfs/xtab and pushes the resulting export
entries into the kernel:
# exportfs -a
To export the /usr/tmp directory to host djando, allowing asynchronous writes, one would do this:
# exportfs -o async django:/usr/tmp
DEPENDENCIES
Exporting to IP networks, DNS and NIS domains does not enable clients from these groups to access NFS immedi-
ately; 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 in 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.
RELATED
exports(5), mountd(8)
CATEGORY