我们有一台 FreeBSD 8 服务器,自从它被引导以来就没有重新启动过。它现在已经重新启动,我们正在尝试将 NFS 挂载重新连接到它。
$ sudo /etc/rc.d/nfsclient start
NFS access cache time=60
rpc.umntall: not found
错误rpc.umntall: not found
的明显原因是因为计算机上不存在该程序。
使用 NFSClient 之外,是否有任何其他方法可以挂载到连接到网络的 NFS 服务器。或者我可以强制客户端跳过脚本中需要rpc.umntall
的部分吗?
我只是问,因为它以前启动过,如果我们从中删除任何程序,我会感到非常惊讶。
rpc.umntall
作为基本系统的一部分安装,通常以 /usr/sbin/
的形式安装。
如果你看一下/etc/rc.d/nfsclient
的内容,你会发现这个:
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
}
一个便宜的解决方法是删除/var/db/mounttab
。
但是,如果要解决问题,则需要 修复缺少的rpc.umntall
。不是在/usr/sbin/
吗?如果没有,您可以尝试从已发布的映像还原它,也可以尝试从源代码构建它。如果它在计算机上的其他地方,您可以尝试使用 find / | grep rcp.umntall
.
如果它存在于 /usr/sbin
中,但不工作,那么这可能意味着您的 rc 子系统正在使用的PATH
变量有问题。您可以通过在/etc/rc.d/nfsclient
脚本中对路径进行硬编码来仔细检查rpc.umntall
。