Bug 30972

Summary: nfsd and mountd are in the wrong location
Product: Base System Reporter: Gordon Tetlow <gordont>
Component: binAssignee: Peter Wemm <peter>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Gordon Tetlow 2001-10-02 00:00:01 UTC
	nfsd and mountd are in /sbin. Meanwhile rpcbind/portmap is in /usr/sbin
	It seems rather pointless to have nfsd/mountd taking up root partition
	space (statically linked no less) when they are absolutely useless
	without something from /usr/sbin

	Also, there isn't much need to have them in the root since you most
	likely aren't going to be exporting filesystems until fully booted.

	NetBSD has nfsd/mountd in /usr/sbin
	OpenBSD has nfsd/mountd in /sbin

Fix: 

Move nfsd and mountd out of /sbin into /usr/sbin where they rightfully
	belong. This should be accompanied by a repo-copy.
How-To-Repeat: 	ls -l /sbin/nfsd /sbin/mountd
	ls -l /usr/sbin/portmap /usr/sbin/rpcbind
Comment 1 Crist J. Clark freebsd_committer freebsd_triage 2001-10-04 01:35:58 UTC
Responsible Changed
From-To: freebsd-bugs->peter

Peter has been rearraging NFS code in the tree, the nfsclient and 
nfsserver stuff.
Comment 2 Gordon Tetlow 2001-10-10 21:21:38 UTC
Here is a diff that fixes a couple of issues and will facilitate moving
nfsd and mountd into /usr/sbin

This also removes the bogus nfs_client_flags since it is no longer used.

This needs to happen to make migrating to the rc.d system easier.

-gordon

diff -ur /usr/src/etc/defaults/rc.conf etc.nfsd/defaults/rc.conf
--- /usr/src/etc/defaults/rc.conf	Wed Oct 10 09:36:28 2001
+++ etc.nfsd/defaults/rc.conf	Wed Oct 10 09:43:11 2001
@@ -159,15 +159,16 @@
 amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"
 amd_map_program="NO"		# Can be set to "ypcat -k amd.master"
 nfs_client_enable="NO"		# This host is an NFS client (or NO).
-nfs_client_flags="-n 4"		# Flags to nfsiod (if enabled).
 nfs_access_cache="2"		# Client cache timeout in seconds
+nfs_bufpackets="DEFAULT"	# bufspace (in packets) for client (or DEFAULT)
 nfs_server_enable="NO"		# This host is an NFS server (or NO).
+nfs_server_program="/usr/sbin/nfsd"	# path to nfsd
 nfs_server_flags="-u -t -n 4"	# Flags to nfsd (if enabled).
 single_mountd_enable="NO"       # Run mountd only (or NO).
+mountd_program="/usr/sbin/mountd"	# path to mountd
 mountd_flags="-r"		# Flags to mountd (if NFS server enabled).
 weak_mountd_authentication="NO"	# Allow non-root mount requests to be served.
 nfs_reserved_port_only="NO"	# Provide NFS only on secure port (or NO).
-nfs_bufpackets="DEFAULT"	# bufspace (in packets) for client (or DEFAULT)
 rpc_lockd_enable="NO"		# Run NFS rpc.lockd (*broken!*) if nfs_server.
 rpc_statd_enable="NO"		# Run NFS rpc.statd if nfs_server (or NO).
 portmap_enable="NO"		# Run the portmapper service (YES/NO).
diff -ur /usr/src/etc/rc.network etc.nfsd/rc.network
--- /usr/src/etc/rc.network	Fri Sep 21 10:53:51 2001
+++ etc.nfsd/rc.network	Wed Oct 10 10:29:47 2001
@@ -614,7 +614,7 @@
 					;;
 				esac

-				mountd ${mountd_flags}
+				${mountd_program} ${mountd_flags}

 				case ${nfs_reserved_port_only} in
 				[Yy][Ee][Ss])
@@ -623,7 +623,8 @@
 					;;
 				esac

-				echo -n ' nfsd';	nfsd ${nfs_server_flags}
+				echo -n ' nfsd';
+				${nfsd_server_program} ${nfs_server_flags}

 				case ${rpc_lockd_enable} in
 				[Yy][Ee][Ss])
@@ -659,7 +660,6 @@

 		case ${nfs_client_enable} in
 		[Yy][Ee][Ss])
-			#echo -n ' nfsiod';	nfsiod ${nfs_client_flags}
 			if [ -n "${nfs_access_cache}" ]; then
 				echo -n " NFS access cache time=${nfs_access_cache}"
 				sysctl -w vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null
Comment 3 John Baldwin freebsd_committer freebsd_triage 2001-10-10 21:47:59 UTC
On 10-Oct-01 Gordon Tetlow wrote:
> Here is a diff that fixes a couple of issues and will facilitate moving
> nfsd and mountd into /usr/sbin

Err, you don't need this to move the binaries.  They will already be in the
path so it will work fine with just 'mountd' and 'nfsd' as it does now.
 
> This also removes the bogus nfs_client_flags since it is no longer used.

I've committed that part.
 
Something else that would really help here would be to update the rc.network
script to kldload the nfsclient.ko and nfsserver.ko kernel modules if needed
when nfs_client_enable and/or nfs_server_enable are set to YES.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
Comment 4 Gordon Tetlow freebsd_committer freebsd_triage 2002-07-07 23:23:20 UTC
State Changed
From-To: open->closed

nfsd and mountd have been moved to /usr/sbin