%general-entities; ]> $LastChangedBy$ $Date$ NFS-Utils-&nfs-utils-version; NFS Utilities Introduction to NFS Utilities The NFS Utilities package contains the userspace server and client tools necessary to use the kernel's NFS abilities. NFS is a protocol that allows sharing file systems over the network. &lfs76_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &nfs-utils-md5sum; Download size: &nfs-utils-size; Estimated disk space required: &nfs-utils-buildsize; Estimated build time: &nfs-utils-time; Additional Download Required patch: NFS Utilities Dependencies Required Optional , and libnfsidmap (for NFSv4 support), or libgssapi, and librpcsecgss (for GSS and RPC security support) Required (runtime) User Notes: Kernel Configuration Enable the following options in the kernel configuration and recompile the kernel if necessary: File systems ---> Network File Systems ---> NFS client support: Y or M NFS server support: Y or M Select the appropriate sub-options that appear when the above options are selected. NFS Utilities Installation of NFS Utilities Before you compile the program, ensure that the nobody user and nogroup group have been created. You can add them by running the following commands as the root user: groupadd -g 99 nogroup && useradd -c "Unprivileged Nobody" -d /dev/null -g nogroup \ -s /bin/false -u 99 nobody The classic uid and gid values are 65534 which is also -2 when interpreted as a signed 16-bit number. These values impact other files on some filesystems that do not have support for sparse files. The nobody and nogroup values are relatively arbitrary. The impact on a server is nil if the exports file is configured correctly. If it is misconfigured, an ls -l or ps listing will show a uid or gid number of 65534 instead of a name. The client uses nobody only as the user running rpc.statd. Install NFS Utilities by running the following commands: patch -Np1 -i ../nfs-utils-&nfs-utils-version;-gcc_4_9-1.patch && ./configure --prefix=/usr \ --sysconfdir=/etc \ --without-tcp-wrappers \ --disable-nfsv4 \ --disable-gss && make If your /usr directory is NFS mounted, you should install the executables in /sbin by passing an additional parameter to the above ./configure command. To test the results, issue: make check. Now, as the root user: make install Command Explanations --without-tcp-wrappers: This option is needed because TCP Wrappers is not in BLFS. --disable-nfsv4: Disables support for NFS version 4. --disable-gss: Disables support for RPCSEC GSS (RPC Security). Configuring NFS Utilities Server Configuration /etc/exports contains the exported directories on NFS servers. Refer to the exports.5 manual page for the syntax of this file. Also refer to the "NFS HowTo" available at for information on how to configure the servers and clients in a secure manner. For example, for sharing the /home directory over the local network, the following line may be added: /home <192.168.0.0/24>(rw,subtree_check,anonuid=99,anongid=99) /etc/exportfs Systemd Units To start the NFS server daemons at boot, install the systemd units from the package by running the following command as the root user: make install-nfs-server nfs-server You can edit the /etc/default/nfs-utils file to change the startup options for NFS daemons. Defaults should be fine for most use cases. /etc/default/nfs-utils Client Configuration /etc/fstab contains the directories that are to be mounted on the client. Alternately the partitions can be mounted by using the mount command with the proper options. To mount the /home and /usr partitions, add the following to the /etc/fstab: <server-name>:/home /home nfs rw,_netdev 0 0 <server-name>:/usr /usr nfs ro,_netdev 0 0 The options which can be used are specified in man 5 nfs. If both the client and server are running recent versions of linux, most of the options will be negotiated. You can specify either rw or ro, _netdev if the filesystem is to be automatically mounted at boot, or noauto (and perhaps user) for other filesystems. If the fileserver is not running a recent version of linux, you may need to specifiy other options. If you are using systemd, you may need to enable autofs v4 in your kernel, and add the option comment=systemd.automount. Some machines need this, because systemd tries to mount the external fs's before the network is up, others do not need it. An alternative is for root to run mount -a. /etc/fstab Systemd Units The following systemd unis are not required if the nfs-server units were previously installed. To start the NFS client services at boot, install the systemd units from the package by running the following command as the root user: make install-nfs-client nfs-client Contents Installed Programs Installed Libraries Installed Directories exportfs, mountstats, mount.nfs, mount.nfs4 (link to mount.nfs), nfsiostat, nfsstat, osd_login, rpc.mountd, rpc.nfsd, rpc.statd, rpcdebug, showmount, sm-notify, start-statd, umount.nfs (link to mount.nfs), and umount.nfs4 (link to mount.nfs) None /var/lib/nfs Short Descriptions exportfs maintains a list of NFS exported file systems. exportfs mountstats displays NFS client per-mount statistics. mountstats mount.nfs Used to mount a network share using NFS mount.nfs mount.nfs4 Used to mount a network share using NFSv4 mount.nfs4 nfsiostat Report input/output statistics for network filesystems. nfsiostat nfsstat displays statistics kept about NFS client and server activity. nfsstat rpc.mountd implements the NFS mount protocol on an NFS server. rpc.mountd rpc.nfsd implements the user level part of the NFS service on the server. rpc.nfsd rpc.statd is used by the NFS file locking service. Run on both sides, client as well as server, when you want file locking enabled. rpc.statd rpcdebug sets or clears the kernel's NFS client and server debug flags. rpcdebug showmount displays mount information for an NFS server. showmount sm-notify is used to send Network Status Monitor reboot messages. sm-notify start-statd is a script called by nfsmount when mounting a filesystem with locking enabled, if statd does not appear to be running. It can be customised with whatever flags are appropriate for the site. start-statd umount.nfs Used to unmount a network share using NFS umount.nfs umount.nfs4 Used to unmount a network share using NFSv4 umount.nfs4