Ответы:
Установите сервер NFS в соответствии с руководством по Ubuntu NFS :
sudo apt-get install nfs-kernel-server
Редактировать /etc/exports
:
sudo nano /etc/exports
Теперь добавьте строку, похожую на эту:
/home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
/home/ubuntu
каталог для экспорта172.16.238.0/24
IP-адреса, с которых принимаются соединения. IP-адрес клиента Mac должен быть в этом диапазоне. Используйте *
для разрешения с любого IP-адреса. (Но будьте осторожны, чтобы ваш NFS-сервер не был доступен всему интернету!)insecure
означает принимать соединения с непривилегированных (более высоких) номеров портовrw
означает чтение-записьall_squash,anonuid=1000,anongid=1000
принудительно выполняет все операции чтения и записи пользователем / группой с UID / GID 1000 (1000 - это ubuntu
пользователь / группа по умолчанию на моем сервере). Запустите id
на сервере, чтобы узнать свой UID / GID. Вам нужны эти параметры, если только ваш сервер Ubuntu и клиент Mac не используют одинаковые UID / GID для основного пользователя.no_subtree_check
это вещь производительностиСохраните файл и запустите
sudo exportfs -vra
перезагрузить экспорт NFS. (Я не уверен, если -a
опция необходима.)
Отредактируйте файл auto_master :
sudo nano /etc/auto_master
и измените строку, начиная с /net
следующего:
/net -hosts -nobrowse,nosuid,locallocks,nfc,actimeo=1
locallocks
создает блокировки на клиенте, а не на сервере. Без этого Finder становится очень медленным и тратит много времени, чтобы показать каталоги.nfc
заставляет работать с именами файлов UTF-8actimeo=1
установите тайм-аут кэша атрибутов как можно короче. Обратите внимание, что установка его 0
(или добавление noac
) заставляет Finder не замечать, когда файл удаляется на сервере, поэтому мы не можем его использовать.nfsvers=4
здесь. Я получил панику ядра на Mac с этим, поэтому я вернулся к стандартному (NFSv3).Обновите автомонтирования, запустив
sudo automount -vc
(Если вы ранее пытались смонтировать тома NFS, размонтировать первый, например , так: sudo umount -f /net/fileserver.local/home/ubuntu
)
В меню Finder выберите «Перейти» -> «Перейти к папке» и введите /net/SERVER_HOST_NAME
, например /net/fileserver.local
.
Вы должны найти там экспортированный каталог, например, в /net/fileserver.local/home/ubuntu
. Перетащите этот каталог на боковую панель Finder, чтобы облегчить доступ к нему в будущем.
all_squash,anonuid=1000,anongid=1000
Опции позаботятся о разрешениях для меня - ко всему, что принадлежит UID 1000 на сервере Ubuntu, можно получить доступ из клиента Mac без проблем, поэтому нет необходимости в chmodding для 777.
sudo mount -t nfs -o resvport 172.16.238.x:/home/ubuntu /Users/xyz/ubuntu
rsync
) серверов не MacOS. Сначала вы этого не заметите, но UTF-8 на OS X не такой, как везде. Без этого имена ваших файлов могут быть искажены, и для их исправления потребуются часы подряд. Я знаю, что не могу использовать комментарий, чтобы сказать «спасибо», поэтому я просто закончу его здесь;)