Jo *_*iss 20 ubuntu nfs mac-osx
我有一个 Ubuntu 20.04 服务器(在我的例子中是一个本地 VM)。如何使用 NFS 从 macOS Catalina 客户端在 Linux 服务器上挂载目录?
Jo *_*iss 42
按照Ubuntu NFS 指南安装 NFS 服务器:
sudo apt install nfs-kernel-server
Run Code Online (Sandbox Code Playgroud)
编辑/etc/exports
:
sudo nano /etc/exports
Run Code Online (Sandbox Code Playgroud)
现在添加类似这样的一行:
/home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)
/home/ubuntu
是要导出的目录172.16.238.0/24
是接受连接的 IP 地址。Mac 客户端的 IP 地址应在此范围内。使用*
允许从任何IP地址。(但请注意不要让您的 NFS 服务器可用于整个 Internet!)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
Run Code Online (Sandbox Code Playgroud)
重新加载 NFS 导出。(我不确定是否需要该-a
选项。)
在 macOS 客户端上,编辑/etc/auto_master
文件(记录在 中auto_master man page
):
sudo nano /etc/auto_master
Run Code Online (Sandbox Code Playgroud)
并将以以下开头的行更改为/net
以下内容(或在必要时添加):
/net -hosts -nobrowse,nosuid,locallocks,nfc,actimeo=1
Run Code Online (Sandbox Code Playgroud)
locallocks
在客户端而不是服务器上创建锁。没有这个,Finder 会变得很慢并且需要很长时间才能显示目录。nfc
使 UTF-8 文件名有效actimeo=1
将属性缓存超时设置得尽可能短。请注意,将其设置为0
(或添加noac
)会导致 Finder 在服务器上删除文件时不会注意到,因此我们无法使用它。nfsvers=4
在这里使用。我在 Mac 上遇到了内核恐慌,所以我回到了默认值 (NFSv3)。注意:某些 macOS 软件更新似乎可以覆盖此文件并删除您的更改。我发现自己必须每年一次左右回到这个答案,重新应用更改。
通过运行刷新自动挂载
sudo automount -vc
Run Code Online (Sandbox Code Playgroud)
(如果您以前尝试挂载NFS卷,首先卸载它,就像这样:sudo umount -f /net/fileserver.local/home/ubuntu
)
在 Finder 菜单中,选择 Go -> Go to Folder,然后键入/net/SERVER_HOST_NAME
,例如/net/fileserver.local
。
您应该在那里找到导出的目录,例如在/net/fileserver.local/home/ubuntu
. 将此目录拖到 Finder 侧边栏,以便日后轻松访问。
归档时间: |
|
查看次数: |
20349 次 |
最近记录: |