2016-03-13 2 views
0

У нас есть сервер FreeBSD 8, который не был перезапущен с момента его загрузки. Теперь он был перезапущен, и мы пытаемся подключить к нему монтирование NFS.Проблема NFSClient на FreeBSD: «rpc.umntall: not found»

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

Очевидная причина ошибки rpc.umntall: not found потому, что программа не существует на компьютере.

Есть ли другой способ подключиться к серверу NFS, подключенному к сети, чем к NFSClient. Или я могу заставить клиента перемещаться за частью в скрипте, который требует rpc.umntall?

Я только спрашиваю, потому что он был запущен раньше, и я был бы очень удивлен, если бы мы удалили из него какие-либо программы.

ответ

1

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, но не работает, это может означать, что что-то не так с переменной PATH, используемой вашей подсистемой rc. Вы можете дважды проверить, что путем hardcoding путь к rpc.umntall прямо в сценарии .

+0

Спасибо! Это не в sbin/я в рассоле. Сервер не может/не должен быть отключен - немного пользовательский дистрибутив freebsd, и команда find ничего не вернула (я пробовал это: P) Я ценю это, я видел unmount_all, и мне было любопытно, есть ли способ заставьте его, не удаляя файл. Или есть еще одна команда, которую я мог бы сделать? Как ни странно, единственным клиентом в mountdtab является тот, который я не могу подключить ... Любая команда для * mount *, которая может обойти это без изменений? – jQwierdy

+0

В любом случае я собираюсь принять ваш ответ, потому что я, вероятно, собираюсь изменить файл '/ etc/rc.d/nfsclient', так как он уже не использует' unmntall'. :-) – jQwierdy