Man Linux: Main Page and Category List

NAME

       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/etab  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  etab  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/etab 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/etab.
       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  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/etab with
              /etc/exports. It removes entries in /var/lib/nfs/etab 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 etab 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 formats 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  override 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 modify  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 etab  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  etab  are
       removed  from  the  kernel export tables, and the file is cleared. This
       effectively shuts down all NFS activity.

       To remove an export to a host, specify a host:/path pair. This  deletes
       the  specified  entry  from  etab  and removes the corresponding kernel
       entry (if any).  To remove one or more exports to  several  hosts,  use
       exportfs -ua.

   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/etab and pushes the  resulting  export  entries  into  the
       kernel:

       # exportfs -a

       To  export the /usr/tmp directory to host django, allowing asynchronous
       writes, one would do this:

       # exportfs -o async django:/usr/tmp

       To unexport the /usr/tmp directory:

       # exportfs -u django:/usr/tmp

       To unexport all the directories listed in /etc/exports:

       # exportfs -au

DEPENDENCIES

       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 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  no  longer  valid  they  will  be
       removed.

SEE ALSO

       exports(5), mountd(8)

AUTHORS

       Olaf Kirch, <okir@monad.swb.de>
       Neil Brown, <neilb@cse.unsw.edu.au>

                                 18 July 2003                      exportfs(8)