Вопрос или проблема
У меня установлен пакет nfs-common. Я полагаю, что у меня установлена версия 4
Каждый раз, когда я пытаюсь смонтировать NFS, возникает одна и та же ошибка:
mount.nfs: запрашиваемая версия NFS или протокол передачи не поддерживается
Я искал информацию в интернете, но решения не подходят для моей системы
Большинство советов указывает на изменение версии здесь >> /etc/nfsmount.conf, но у меня нет этого пути
Это сообщение об ошибке, вероятно, не имеет отношения к версиям или протоколам.
Сначала убедитесь, что машина, на которой размещена файловая система, действительно работает как NFS-сервер. Например, вы можете выполнить sudo service --status-all
; там должна быть строка для nfs-kernel-server с знаком +.
Также проверьте, есть ли у сервера запись в /etc/exports, которая позволяет вашему клиенту удаленно монтировать файловую систему. Например, если клиент называется “foohost”,
строка в /etc/exports на сервере может выглядеть так:
/home foohost(all_squash,anonuid=1000,anongid=1000,no_subtree_check,rw,sync)
Вместо foohost вы можете использовать * для того, чтобы разрешить любому хосту монтировать файловую систему, или указать диапазон IP и т.д. Введите man exports
, чтобы увидеть значения различных опций в скобках.
После редактирования /etc/exports обязательно выполните sudo service nfs-kernel-server restart
(также на сервере), чтобы изменения вступили в силу.
Ответ или решение
Ошибка "mount.nfs: requested NFS version or transport protocol is not supported" может возникнуть по нескольким причинам. Рассмотрим основные шаги для ее устранения.
-
Проверьте работу NFS-сервера: Убедитесь, что на сервере, на котором расположена файловая система, действительно запущен NFS-сервер. Для этого выполните следующую команду на сервере:
sudo service --status-all
Вы должны увидеть строку с nfs-kernel-server, и перед ней должен быть символ +.
-
Проверьте файл /etc/exports: Убедитесь, что сервер настроен для предоставления доступа клиенту. Откройте файл
/etc/exports
на сервере и убедитесь, что в нём есть строка, разрешающая доступ к ресурсам. Например:/home foohost(all_squash,anonuid=1000,anongid=1000,no_subtree_check,rw,sync)
Здесь вместо
foohost
вы можете использовать*
, чтобы разрешить доступ с любого хоста, или задать диапазон IP-адресов. -
Перезапустите NFS-сервер: После редактирования файла
/etc/exports
, необходимо перезапустить NFS-сервер, чтобы изменения вступили в силу. Выполните на сервере:sudo service nfs-kernel-server restart
-
Драйвер NFS на клиенте: Убедитесь, что на клиенте установлен пакет
nfs-common
. Вы можете проверить это командой:dpkg -l | grep nfs-common
Если он не установлен, выполните:
sudo apt install nfs-common
-
Определение версии NFS при монтировании: Убедитесь, что вы явно указываете версию NFS при монтировании. Например:
sudo mount -o vers=4,nolock [SERVER_IP]:/path/to/share /mnt/mountpoint
Замените
[SERVER_IP]
на IP-адрес вашего NFS-сервера, а/path/to/share
и/mnt/mountpoint
на соответствующие пути. -
Проверка настроек файла /etc/nfsmount.conf: Если у вас нет файла
/etc/nfsmount.conf
, вы можете его создать. Его отсутствие может быть причиной того, что система не учитывает настройки монтирования. Создайте файл командой:sudo touch /etc/nfsmount.conf
В этом файле вы можете настроить параметры по умолчанию для NFS.
-
Проверка сетевого соединения: Убедитесь, что между клиентом и сервером существует сетевое соединение, а также проверьте настройки брандмауэра на обоих машинах. Команды
ping
иtelnet
могут помочь в этом. -
Логи: Посмотрите журналы системы на сервере и клиенте, чтобы выявить возможные ошибки или предупреждения:
sudo journalctl -xe | grep nfs
Если все вышеуказанные шаги не помогли устранить ошибку, возможно, проблема кроется в специфичных настройках вашего окружения или версии NFS на сервере. Убедитесь, что используемые версии клиента и сервера совместимы.