]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - README
Added in relatime mount option so mount.nfs stays
[nfs-utils.git] / README
diff --git a/README b/README
index e95ae93eb7d2645e091ae8a911f99263c3875c7b..e2196dab8627cffced6048e9804db00e95d52f5e 100644 (file)
--- a/README
+++ b/README
@@ -1,15 +1,24 @@
-This is version 1.0 of nfs-utils, the Linux NFS utility package.
+This is version 1.1.0 of nfs-utils, the Linux NFS utility package.
 
 
 0. PROJECT RESOURCES
 
 Home page:  http://sourceforge.net/projects/nfs/
 
+To use the 'gss' support you must have kerberos-5 development 
+libraries installed.
+Otherwise use  "--disable-gss"
 
-1. COMPILING WITHOUT PACKAGE MANAGEMENT
+To use nfsv4 support you need libevent and libnfsidmap development
+libraries.  They are available from 
+   http://www.monkey.org/~provos/libevent/
+   http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/
+Otherwise use --disable-nfsv4
 
-To compile without using a package management system, unpack the
-sources and run these commands:
+
+1. COMPILING
+
+Unpack the sources and run these commands:
 
     # ./configure
     # make
@@ -18,38 +27,139 @@ To install binaries and documenation, run this command:
 
     # make install
 
-You will have to install the two NFS service scripts yourself.
-Service scripts for RedHat 6.x and 7.x are in etc/redhat.  They
-have been tested on RedHat 6.2 and 7.1.
-
-
-2. COMPILING WITH RPM
-
-On RedHat 6.2 and 7.1, you can use
-
-    # rpm -ta nfs-utils-1.0.tar.gz
-
-to build the source and binary RPMs.
-
-
-3. COMPILING FOR DEBIAN
-
-The nfs-utils tree has an up-to-date debian directory, so the usual
-debian build scripts should work.  The simplest way to build binary
-debs, however, is simply to become root (or use fakeroot) and run:
-
-    # debian/rules binary
-
-
-4. REQUIRED VERSIONS OF OTHER TOOLS
-
-Proper NFS operation requires a 'mount' program from util-linux 2.11f
-or later.
 
+2. COMPILING FROM GIT
+
+Getting nfs-utils for the first time:
+
+       git clone git://linux-nfs.org/nfs-utils
+
+Updating to the latest head after you've already got it.
+
+       git pull
+
+Building requires that autotools be installed.  To invoke them
+simply
+
+       sh autogen.sh
+
+Finally, build as usual as above.
+
+3. DAEMON STARTUP ORDER
+
+This nfs-utils packages does not provide any scripts for starting
+various daemons as most distributions replace them with their own, so
+any scripts we package would not get much testing.
+Instead, we explain the dependencies involved in startup so that
+scripts can be written to work correctly.
+
+3.0   PREREQUISITES 
+
+   Name service (host name lookup) should be working before any
+   NFS services are started.
+
+   "portmap" must be running before any NFS services (server or
+   client) are started.
+   
+   Normally network interfaces should be configured first as well,
+   though this isn't critical for the NFS server (providing name
+   service is handled locally).
+   
+3.1.  SERVER STARTUP
+
+
+   A/  mount -t nfsd /proc/fs/nfsd
+      This filesystem needs to be mount before most daemons,
+      particularly exportfs, mountd, svcgssd, idmapd.
+      It could be mounted once, or the script that starts each daemon
+      could test if it is mounted and mount it if not.
+
+   B/ svcgssd ; idmapd
+       These supply services to nfsd and so should be started before
+       rpc.nfsd.  Where they come between mounting the nfsd filesystem
+       and starting the nfsd server is not important.
+       idmapd is only needed for NFSv4 support.
+       svcgssd is only needed if exportfs NFS filesystem with crypto-
+       security (Kerberos or SPKM3).
+
+   C/ exportfs -av ; rpc.mountd
+       It is important that exportfs be run before mountd so that
+       mountd is working from current information (in
+       /var/lib/nfs/etab).
+       It is also important that both of these are run before
+       rpc.nfsd.
+       If not, any NFS requests that arrive before mountd is started
+       will get replied to with a 'Stale NFS File handle' error.
+
+   D/ rpc.statd --no-notify
+       It is best if statd is started before nfsd though this isn't
+       critical.  Certainly it should be at most a few seconds after
+       nfsd.
+       When nfsd starts it will start lockd. If lockd then receives a
+       lock request it will communicate with statd.  If statd is not
+       running lockd will retry, but it won't wait forever for a
+       reply.
+       Note that if statd is started before nfsd, the --no-notify
+       option must be used.  If notify requests are sent out before
+       nfsd start, clients may try to reclaim locks and, on finding
+       that lockd isn't running, they will give up and never reclaim
+       the lock.
+       rpc.statd is only needed for NFSv2 and NFSv3 support.
+
+   E/ rpc.nfsd
+       Starting nfsd will automatically start lockd.  The nfs server
+       will now be fully active and respond to any requests from
+       clients.
+       
+   F/ sm-notify
+       This will notify any client which might have locks from before
+       a reboot to try to reclaim their locks.  This should start
+       immediately after rpc.nfsd is started so that clients have a
+       chance to reclaim locks within the 90 second grace period.
+       sm-notify is only needed for NFSv2 and NFSv3 support.
+
+
+3.2.  CLIENT STARTUP
+
+   A/ sm-notify
+      This should be run shortly after boot and before any NFS
+      filesystems are mounted with remote-locking support -
+      filesystems can be mounted with "-o nolock" before sm-notify.
+      This is appropriate for '/', '/usr', and '/var'.
+
+   B/ gssd ; idmapd
+      idmapd should be started before mounting any NFSv4 filesystems.
+      gssd should be started before mounting any NFS filesystems
+      securely (with Kerberos of SPKM3).
+
+   C/ statd should be run before any NFSv2 or NFSv3 filesystem is
+      mounted with remote locking (i.e. without -o nolock).
+      'mount' will try to use "/usr/sbin/start-statd" to start statd
+      if it is not already running, so there is no need to explicitly
+      start statd in boot-time scripts.
+
+3.3.  SERVER/CLIENT INTERACTIONS
+
+   A/ sm-notify
+      Both the server and the client need sm-notify to be run.
+      It should be run after the NFS server is started, but before
+      and NFS filesystems are mounted with remote locking.
+
+   B/ rpc.statd
+      Both the server and the client need rpc.statd to be running.
+      Each should try to start when they need it.
+
+   C/ idmapd
+
+      Both the server and client need idmapd to be running.  If idmapd
+      is started (for the client) before starting nfsd the 'nfsd'
+      filesystem is mounted, then idmapd should be sent a HUP signal
+      afterwards to signal that the server channels should be opened.
+
+   
+      
 
 Share And Enjoy!
 
     -- the nfs-utils developers
        <nfs@lists.sourceforge.net>
-       26 Dec 2001
-