Вопрос или проблема
Я обновился с 22.04 LTS (x86_64), где у меня работал сервер NFS версии 2 (см. советы из нескольких старых постов). Я попробовал несколько предложений, чтобы принудительно использовать версию 2 через различные конфигурационные файлы.
Мне нужно обслуживать файлы прошивки через NFS версии 2 для некоторых встроенных устройств, которые не могут быть обновлены.
Если нет решения, может кто-то порекомендовать сервер NFS в пользовательском пространстве, который поддерживает версию 2. Это не очень требовательное приложение, нет проблем с безопасностью, нужно только сделать несколько файлов доступными для загрузки устройства.
Мне удалось заставить работать nfsv2. Для этого мне нужно было перекомпилировать установленное ядро с установкой CONFIG_NFSD_V2 в значение yes. Посмотрите здесь: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel Я следовал этим инструкциям более или менее.
Я также вручную скомпилировал nfs-utils, клонированные через git, и отменил коммит, который удалил настройку vers2 в nfs.conf. После этого я смог использовать свой десктоп с нашими старыми встроенными устройствами для загрузки. Репозиторий git: git://git.linux-nfs.org/projects/steved/nfs-utils.git Коммит git, который я отменил: 2c2c36c59fa1de2ff7fd28917e54700ecb39b730
Надеюсь, это поможет вам вернуть ваши клиенты к работе… Но в любом случае это лишь временное решение, так как ваши обновления перестанут работать. Обновите или замените встроенное устройство :).
Ответ или решение
Настройка NFS v2 на сервере с Ubuntu 24.04
Введение
После перехода с Ubuntu 22.04 LTS на 24.04 у вас возникли проблемы с работой NFS v2, который служит для передачи прошивок на встроенные устройства. Данная ситуация требует детального подхода к настройке и устранению неполадок. В данной статье мы рассмотрим необходимые шаги для успешного развертывания NFS v2, а также альтернативные решения, если самостоятельная настройка не увенчается успехом.
Проблемы с NFS v2 после обновления
При обновлении системы может происходить отключение или изменение конфигурации, что препятствует нормальной работе старых версий протокола NFS. В данном случае для решения проблемы вы предприняли несколько мер:
-
Пересборка ядра с поддержкой NFS v2:
- Вам необходимо было установить флаг
CONFIG_NFSD_V2
в «да», что возможно через пересборку ядра. Подробные указания можно найти по следующей ссылке: Ubuntu Kernel Build Guide.
- Вам необходимо было установить флаг
-
Настройка nfs-utils:
- Вам также потребовалась ручная компиляция пакета
nfs-utils
из репозитория, с возвратом изменений, удаляющих поддержку версии 2. Это дает возможность сделать конфиг, соответствующий вашим требованиям.
- Вам также потребовалась ручная компиляция пакета
Пошаговая инструкция
Вот более детализированный план действий для настройки NFS v2.
1. Пересборка ядра
-
Сначала загрузите исходные коды ядра, используя команду
apt-get source linux-image-$(uname -r)
. -
Затем выполните следующую команду для установки необходимых зависимостей:
sudo apt-get build-dep linux
-
Отредактируйте конфигурационный файл ядра:
make menuconfig
В разделе File Systems найдите и убедитесь, что
CONFIG_NFSD_V2
установлен на "yes". -
Соберите и установите новое ядро:
make sudo make modules_install sudo make install
2. Компиляция nfs-utils
-
Клонируйте репозиторий
nfs-utils
:git clone git://git.linux-nfs.org/projects/steved/nfs-utils.git cd nfs-utils
-
Верните изменения, связанные с удалением версии 2. Используйте хеш
2c2c36c59fa1de2ff7fd28917e54700ecb39b730
, чтобы откатить изменения. -
Далее выполните сборку и установку:
./configure make sudo make install
3. Конфигурация NFS сервера
В файле конфигурации /etc/nfs.conf
убедитесь, что указана поддержка для NFS v2.
Пример минимальной конфигурации:
[nfsd]
vers2=n
4. Запуск NFS сервиса
Запустите службу NFS:
sudo systemctl start nfs-server
Проверьте статус:
sudo systemctl status nfs-server
Альтернативные решения
Если возврат к NFS v2 по каким-либо причинам не подходит или вы ищете более простое решение, рассмотрите возможность использования пользовательского NFS-сервера, который поддерживает NFS v2. Одним из таких проектов является NFS-Ganesha, который обеспечивает поддержку различных версий NFS и может работать в пользовательском пространстве.
Заключение
Проблемы с совместимостью между разными версиями NFS могут быть устранены через пересборку ядра и настройку нужных пакетов. Но стоит помнить, что это временное решение, и рекомендуется рассмотреть возможность обновления ваших встроенных устройств или переход на более современные решения. Спасибо за внимание, и надеюсь, что приведенные выше рекомендации будут полезны для восстановления работоспособности вашей конфигурации.