Это раздел часто задаваемых вопросов (FAQ). Большая часть его написана Alan Cox.
Это вызывается ошибкой в одной из устаревших версий nfsd. Это исправлено в nfs-server2.2beta16 и более поздних.
can't register with portmap: system error on send
(не могу зарегистрироваться с помощью portmap: системная ошибка при посылке)
Вы вероятно используете систему Caldera. Это ошибка в скриптах rc. Пожалуйста свяжитесь с Caldera для получения исправления.
Причина в том, что nfsd кэширует дескрипторы открытых файлов для улучшения производительности (помните, что он запущен в пространстве пользователей). Пока nfsd держит файл открытым (как в этом случае, после записи в него), то ядро не позволит вам выполнять его. Nfsds новее чем версии выпуска весны 95 держат файлы открытыми в течении нескольких секунд, более старые могут держать файл открытым в течении нескольких дней.
По умолчанию сервер NFS для Linux выдается все как только для
чтения. Перечитайте справочные страницы по ``exports'' и nfsd. Вам
необходимо изменить файл /etc/exports
.
На старых версиях Linux вы должны монтировать сервер NFS с опциями
rsize=1024,wsize=1024
.
Обычно не делайте так.
Нет
Убедитесь, что ваш пользователь находится в 8 или меньшем количестве групп. Старые сервера требую этого.
Не отмонтируйтесь от серверов NFS при перезагрузке или выключении,
просто проигнорируйте это, ничто не повредится, если вы не отмонтируетесь
от него. Команда будет выглядеть следующим образом umount -avt
nonfs
.
Обычно NFS записывает в синхронном режиме (вы можете запретить это, если вы считаете, что вы не рискуете потерять данные). Хуже всего то, что ядра произошедшие от BSD не могут работать с маленькими блоками. Таким образом когда вы пишете 4K данных с машины под Linux в 1K пакетах, то BSD выполняет это следующим образом
прочитать страницу размером 4K
изменить 1K
записать страницу размером 4K обратно на диск
прочитать страницу размером 4K
изменить 1K
записать страницу размером 4K обратно на диск
и т.д...