freebsdnfsnfsclient

NFSClient issue on FreeBSD: "rpc.umntall: not found"


We have a FreeBSD 8 server that hasn't been restarted since it got booted. It has been restarted now and we're trying to reconnect the NFS mount to it.

$ sudo /etc/rc.d/nfsclient start
NFS access cache time=60
rpc.umntall: not found

The obvious reason for the error rpc.umntall: not found is because the program doesn't exist on the computer.

Is there any other way to mount to a NFS server that is connected to the network than using NFSClient. Or can I force the client to move past the part in the script that requires rpc.umntall?

I only ask because it was started before, and I'd be very surprised if we removed any programs from it.


Solution

  • rpc.umntall is installed as part of the base system, usually in /usr/sbin/.

    If you take a look at the contents of /etc/rc.d/nfsclient, you'll find this:

    unmount_all()
    {
            # If /var/db/mounttab exists, some nfs-server has not been
            # successfully notified about a previous client shutdown.
            # If there is no /var/db/mounttab, we do nothing.
            if [ -f /var/db/mounttab ]; then
                    rpc.umntall -k
            fi
    }
    

    A cheap work around would be to delete /var/db/mounttab.

    However, if you want to fix the problem, you'll want to fix the missing rpc.umntall. Is it not in /usr/sbin/? If not, you could try to restore it from a published image, or you could attempt to build it from source. If it's somewhere else on the computer, you could try to find it using find / | grep rcp.umntall.

    If it exists in /usr/sbin, but isn't working, then that would likely mean that something is wrong with the PATH variable being used by your rc subsystem. You could double check that by hardcoding the path to rpc.umntall right in the /etc/rc.d/nfsclient script.