Ubuntu
從 macOS 客戶端在 Ubuntu Linux 伺服器上掛載 NFS 卷
我有一個 Ubuntu 20.04 伺服器(在我的例子中是一個本地虛擬機)。如何使用 NFS 從 macOS Catalina 客戶端掛載 Linux 伺服器上的目錄?
設置 Linux 伺服器
- 按照Ubuntu NFS 指南安裝 NFS 伺服器:
sudo apt 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 地址。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
重新載入 NFS 導出。(我不確定該
-a
選項是否必要。)設置 Mac 客戶端
- 在 macOS 客戶端上,編輯
/etc/auto_master
文件(記錄在 中auto_master man page
):sudo nano /etc/auto_master
並將開頭的行更改為
/net
以下內容(或在必要時添加):/net -hosts -nobrowse,nosuid,locallocks,nfc,actimeo=1
locallocks
在客戶端而不是伺服器上創建鎖。沒有這個,Finder 會變得非常慢並且需要永遠顯示目錄。nfc
使 UTF-8 文件名工作actimeo=1
將屬性記憶體超時設置為盡可能短。請注意,將其設置為0
(或添加noac
)會導致 Finder 在伺服器上刪除文件時不會注意到,因此我們無法使用它。- 請注意,我們沒有
nfsvers=4
在這裡使用。我在 Mac 上遇到了核心恐慌,所以我回到了預設設置(NFSv3)。注意:某些 macOS 軟體更新似乎可以覆蓋此文件並刪除您的更改。我發現自己必須每年一次左右回到這個答案,重新應用更改。
- 通過執行刷新自動掛載
sudo automount -vc
(如果您之前嘗試掛載 NFS 卷,請先將其解除安裝,如下所示
sudo umount -f /net/fileserver.local/home/ubuntu
:) 3. 在 Finder 菜單中,選擇 Go -> Go to Folder,然後輸入/net/SERVER_HOST_NAME
,例如/net/fileserver.local
。您應該在那裡找到您導出的目錄,例如 at
/net/fileserver.local/home/ubuntu
。將此目錄拖到 Finder 側邊欄,以方便日後訪問。