diff options
author | Juergen Daubert <jue@jue.li> | 2015-03-05 14:54:32 +0100 |
---|---|---|
committer | Juergen Daubert <jue@jue.li> | 2015-03-05 14:54:32 +0100 |
commit | d64d591e8b7605c507ac74391702803168fac55b (patch) | |
tree | 4c2ac01ef25d19272bc0642f7aaf66cdb715a434 /nfs-utils | |
parent | 4b5b46c292b648b64348ca5ddb846055b5fae5bf (diff) | |
download | opt-d64d591e8b7605c507ac74391702803168fac55b.tar.gz opt-d64d591e8b7605c507ac74391702803168fac55b.tar.xz |
[notify] nfs-utils: improved rc scripts
release 2 of nfs-utils 1.3.2 comes with a new set of rc scripts which
hopefully improves nfs handling on CRUX. The changes in detail:
- seperate run-control scripts for idmapd, statd, mountd and nfsd which
are called from the other scripts
- idmapd and mountd are behaving more sane now, because they creates pid
files in /var/run
- nfs is now a rc scripts that includes stuff needed by both nfs-server
and -client
- the only purpose of nfsclient is to mount/unmount nfs filessystems
- nfsserver starts all additional daemons that needs to be run to serve
nfs filesystems
Note:
because of the changes above it's necessary to stop all nfs services
before the update and start them again afterwards.
Adjustment of /etc/rc.conf is necessary too, possible entries are
'nfs nfsclient', 'nfs nfsserver' or 'nfs nfsserver nfsclient'
Please report any problems.
Diffstat (limited to 'nfs-utils')
-rw-r--r-- | nfs-utils/.footprint | 6 | ||||
-rw-r--r-- | nfs-utils/.md5sum | 9 | ||||
-rw-r--r-- | nfs-utils/Pkgfile | 21 | ||||
-rw-r--r-- | nfs-utils/nfs | 13 | ||||
-rw-r--r-- | nfs-utils/nfsclient | 22 | ||||
-rw-r--r-- | nfs-utils/nfsserver | 16 | ||||
-rw-r--r-- | nfs-utils/rpc.idmapd | 36 | ||||
-rw-r--r-- | nfs-utils/rpc.mountd | 36 | ||||
-rw-r--r-- | nfs-utils/rpc.nfsd | 36 | ||||
-rw-r--r-- | nfs-utils/rpc.statd | 36 |
10 files changed, 199 insertions, 32 deletions
diff --git a/nfs-utils/.footprint b/nfs-utils/.footprint index 0236123be..f6e7958ac 100644 --- a/nfs-utils/.footprint +++ b/nfs-utils/.footprint @@ -4,7 +4,12 @@ drwxr-xr-x root/root etc/exports.d/ -rw-r--r-- root/root etc/idmapd.conf drwxr-xr-x root/root etc/rc.d/ -rwxr-xr-x root/root etc/rc.d/nfs +-rwxr-xr-x root/root etc/rc.d/nfsclient -rwxr-xr-x root/root etc/rc.d/nfsserver +-rwxr-xr-x root/root etc/rc.d/rpc.idmapd +-rwxr-xr-x root/root etc/rc.d/rpc.mountd +-rwxr-xr-x root/root etc/rc.d/rpc.nfsd +-rwxr-xr-x root/root etc/rc.d/rpc.statd drwxr-xr-x root/root sbin/ -r-s--x--x root/root sbin/mount.nfs lrwxrwxrwx root/root sbin/mount.nfs4 -> mount.nfs @@ -61,6 +66,7 @@ drwxr-xr-x root/root var/ drwxr-xr-x root/root var/lib/ drwxr-xr-x nobody/root var/lib/nfs/ -rw-r--r-- root/root var/lib/nfs/etab (EMPTY) +drwxr-xr-x root/root var/lib/nfs/nfsdcltrack/ -rw-r--r-- root/root var/lib/nfs/rmtab (EMPTY) drwxr-xr-x root/root var/lib/nfs/rpc_pipefs/ drwx------ nobody/root var/lib/nfs/sm.bak/ diff --git a/nfs-utils/.md5sum b/nfs-utils/.md5sum index 68a042eed..297f6eb41 100644 --- a/nfs-utils/.md5sum +++ b/nfs-utils/.md5sum @@ -1,6 +1,11 @@ c5ccf58f5f9f57aba75c8b72219eb6e6 exports 167ea3a16eb6f33b3642e920147bb265 idmapd.conf -1477840e1c19e0ac95c538db8b401d90 nfs +6d383530212eb1f70811e73282358036 nfs 1e2f3c1ed468dee02d00c534c002ea10 nfs-utils-1.3.2.tar.bz2 -071bb2c4e2104599f0bba55a8ce35f37 nfsserver +cdb5314516ef986b5283ee7dcc7d2278 nfsclient +794de0e76b5532fa68ac3ad57bd78856 nfsserver +c43297cce919319aeef70cfd25103850 rpc.idmapd +4d37ba8d95cc2acd5a9e1bd942b8e89b rpc.mountd +abde0543c54fac9353cb22015fa7a898 rpc.nfsd +9c70fa34927bd6d7723e0a36253e0a52 rpc.statd b4c745cd305c718157af2f24eef21525 statd_foreground_mode.patch diff --git a/nfs-utils/Pkgfile b/nfs-utils/Pkgfile index 2de296786..6b4b3b135 100644 --- a/nfs-utils/Pkgfile +++ b/nfs-utils/Pkgfile @@ -5,9 +5,10 @@ name=nfs-utils version=1.3.2 -release=1 -source=(http://downloads.sourceforge.net/project/nfs/$name/$version/$name-$version.tar.bz2 \ - exports idmapd.conf nfs nfsserver \ +release=2 +source=(http://downloads.sourceforge.net/project/nfs/$name/$version/$name-$version.tar.bz2 + exports idmapd.conf + nfs nfsclient nfsserver rpc.idmapd rpc.statd rpc.mountd rpc.nfsd statd_foreground_mode.patch) build () { @@ -23,17 +24,17 @@ build () { --with-tcp-wrappers \ --enable-libmount-mount make - install -d $PKG/sbin make DESTDIR=$PKG install - install -D -m 755 $SRC/nfs $PKG/etc/rc.d/nfs - install -D -m 755 $SRC/nfsserver $PKG/etc/rc.d/nfsserver - install -D -m 644 $SRC/exports $PKG/etc/exports - install -D -m 644 $SRC/idmapd.conf $PKG/etc/idmapd.conf + install -d $PKG/etc/rc.d - install -d $PKG/var/lib/nfs/{rpc_pipefs,v4recovery} + install -m 755 $SRC/nfs{,client,server} $PKG/etc/rc.d/ + install -m 755 $SRC/rpc.* $PKG/etc/rc.d/ + install -m 644 $SRC/{exports,idmapd.conf} $PKG/etc/ + + install -d $PKG/var/lib/nfs/{rpc_pipefs,v4recovery,nfsdcltrack} install -d $PKG/etc/exports.d - + # force rpc.statd to run as user nobody chown nobody $PKG/var/lib/nfs } diff --git a/nfs-utils/nfs b/nfs-utils/nfs index 8b720c913..a3eccfdbd 100644 --- a/nfs-utils/nfs +++ b/nfs-utils/nfs @@ -1,6 +1,6 @@ #!/bin/sh # -# /etc/rc.d/nfs: start/stop nfs client +# /etc/rc.d/nfs: start/stop nfs daemons needed by nfs client and server # PIPEFS=/var/lib/nfs/rpc_pipefs @@ -9,19 +9,16 @@ case $1 in start) /bin/mount -t rpc_pipefs rpc_pipefs $PIPEFS /usr/sbin/sm-notify - /usr/sbin/rpc.idmapd - /usr/sbin/rpc.statd - /bin/mount -a -t nfs + /etc/rc.d/rpc.idmapd start + /etc/rc.d/rpc.statd start ;; stop) - /bin/umount -a -t nfs,nfs4 - killall -q /usr/sbin/rpc.statd - killall -q /usr/sbin/rpc.idmapd + /etc/rc.d/rpc.statd stop + /etc/rc.d/rpc.idmapd stop /bin/umount $PIPEFS ;; restart) $0 stop - sleep 2 $0 start ;; *) diff --git a/nfs-utils/nfsclient b/nfs-utils/nfsclient new file mode 100644 index 000000000..1dc429bca --- /dev/null +++ b/nfs-utils/nfsclient @@ -0,0 +1,22 @@ +#!/bin/sh +# +# /etc/rc.d/nfs: start/stop nfs client +# + +case $1 in +start) + /bin/mount -a -t nfs + ;; +stop) + /bin/umount -a -t nfs,nfs4 + ;; +restart) + $0 stop + $0 start + ;; +*) + echo "usage: $0 [start|stop|restart]" + ;; +esac + +# End of file diff --git a/nfs-utils/nfsserver b/nfs-utils/nfsserver index 18d65e6a5..ed028538c 100644 --- a/nfs-utils/nfsserver +++ b/nfs-utils/nfsserver @@ -4,31 +4,23 @@ # NFSD=/proc/fs/nfsd -PIPEFS=/var/lib/nfs/rpc_pipefs case $1 in start) /bin/mount -t nfsd nfsd $NFSD - /bin/mount -t rpc_pipefs rpc_pipefs $PIPEFS - /usr/sbin/rpc.idmapd /usr/sbin/exportfs -a - /usr/sbin/rpc.mountd - /usr/sbin/rpc.statd --no-notify - /usr/sbin/rpc.nfsd --syslog 8 + /etc/rc.d/rpc.mountd start + /etc/rc.d/rpc.nfsd start /usr/sbin/sm-notify ;; stop) - killall -q -2 nfsd - killall -q /usr/sbin/rpc.statd - killall -q /usr/sbin/rpc.mountd + /etc/rc.d/rpc.nfsd stop + /etc/rc.d/rpc.mountd stop /usr/sbin/exportfs -au - killall -q /usr/sbin/rpc.idmapd - /bin/umount $PIPEFS /bin/umount $NFSD ;; restart) $0 stop - sleep 2 $0 start ;; *) diff --git a/nfs-utils/rpc.idmapd b/nfs-utils/rpc.idmapd new file mode 100644 index 000000000..293aa9ea5 --- /dev/null +++ b/nfs-utils/rpc.idmapd @@ -0,0 +1,36 @@ +#!/bin/sh +# +# /etc/rc.d/rpc.idmapd: start/stop idmapd daemon +# + +SSD=/sbin/start-stop-daemon +PROG=/usr/sbin/rpc.idmapd +PID=/var/run/rpc.idmapd.pid +OPTS="-f" + +case $1 in +start) + $SSD --start -bm --pidfile $PID --exec $PROG -- $OPTS + ;; +stop) + $SSD --stop --remove-pidfile --retry 10 --pidfile $PID + ;; +restart) + $0 stop + $0 start + ;; +status) + $SSD --status --pidfile $PID + case $? in + 0) echo "$PROG is running" ;; + 1) echo "$PROG is not running but the pid file $PID exists" ;; + 3) echo "$PROG is not running" ;; + 4) echo "Unable to determine the program status" ;; + esac + ;; +*) + echo "usage: $0 [start|stop|restart|status]" + ;; +esac + +# End of file diff --git a/nfs-utils/rpc.mountd b/nfs-utils/rpc.mountd new file mode 100644 index 000000000..650ddc7e0 --- /dev/null +++ b/nfs-utils/rpc.mountd @@ -0,0 +1,36 @@ +#!/bin/sh +# +# /etc/rc.d/rpc.mountd: start/stop mountd daemon +# + +SSD=/sbin/start-stop-daemon +PROG=/usr/sbin/rpc.mountd +PID=/var/run/rpc.mountd.pid +OPTS="--foreground" + +case $1 in +start) + $SSD --start -bm --pidfile $PID --exec $PROG -- $OPTS + ;; +stop) + $SSD --stop --remove-pidfile --retry 10 --pidfile $PID + ;; +restart) + $0 stop + $0 start + ;; +status) + $SSD --status --pidfile $PID + case $? in + 0) echo "$PROG is running" ;; + 1) echo "$PROG is not running but the pid file $PID exists" ;; + 3) echo "$PROG is not running" ;; + 4) echo "Unable to determine the program status" ;; + esac + ;; +*) + echo "usage: $0 [start|stop|restart|status]" + ;; +esac + +# End of file diff --git a/nfs-utils/rpc.nfsd b/nfs-utils/rpc.nfsd new file mode 100644 index 000000000..9655a35ad --- /dev/null +++ b/nfs-utils/rpc.nfsd @@ -0,0 +1,36 @@ +#!/bin/sh +# +# /etc/rc.d/rpc.nfsd: start/stop nfs daemons +# + +SSD=/sbin/start-stop-daemon +PROG=/usr/sbin/rpc.nfsd +NAME="nfsd" +OPTS="--syslog" + +case $1 in +start) + $SSD --start --exec $PROG -- $OPTS 8 + ;; +stop) + $SSD --start --exec $PROG -- $OPTS 0 + ;; +restart) + $0 stop + $0 start + ;; +status) + $SSD --status --name $NAME + case $? in + 0) echo "$PROG is running" ;; + 1) echo "$PROG is not running but the pid file $PID exists" ;; + 3) echo "$PROG is not running" ;; + 4) echo "Unable to determine the program status" ;; + esac + ;; +*) + echo "usage: $0 [start|stop|restart|status]" + ;; +esac + +# End of file diff --git a/nfs-utils/rpc.statd b/nfs-utils/rpc.statd new file mode 100644 index 000000000..451d2b8b0 --- /dev/null +++ b/nfs-utils/rpc.statd @@ -0,0 +1,36 @@ +#!/bin/sh +# +# /etc/rc.d/rpc.statd: start/stop statd daemon +# + +SSD=/sbin/start-stop-daemon +PROG=/usr/sbin/rpc.statd +PID=/var/run/rpc.statd.pid +OPTS="--no-notify" + +case $1 in +start) + $SSD --start --pidfile $PID --exec $PROG -- $OPTS + ;; +stop) + $SSD --stop --retry 10 --pidfile $PID + ;; +restart) + $0 stop + $0 start + ;; +status) + $SSD --status --pidfile $PID + case $? in + 0) echo "$PROG is running" ;; + 1) echo "$PROG is not running but the pid file $PID exists" ;; + 3) echo "$PROG is not running" ;; + 4) echo "Unable to determine the program status" ;; + esac + ;; +*) + echo "usage: $0 [start|stop|restart|status]" + ;; +esac + +# End of file |