1. 程式人生 > >linux間的檔案共享--nfs服務

linux間的檔案共享--nfs服務

做嵌入式開發,需要先將原始檔在PC端交叉編譯,然後把可執行檔案下載到arm板子上執行,很不方便。解決辦法是:在PC上設定共享資料夾,在共享資料夾裡編譯原始檔,開發板系統訪問(掛載)共享資料夾,執行編譯後的檔案。這就用到了nfs服務。其中pc被訪問的叫做服務端,開發板執行的是客戶端。

簡介

NFS是Network File System的縮寫,即網路檔案系統。它的主要功能是通過網路(一般是區域網)讓不同的主機系統之間可以共享檔案或目錄。NFS客戶端(一般為應用伺服器,例如web)可以通過掛載(mount)的方式將NFS服務端共享的資料目錄掛載到NFS客戶端本地系統中(就是某一個掛載點下)。從NFS客戶端的機器本地看,NFS服務端共享的目錄就好像是客戶自己的磁碟分割槽或者目錄一樣,而實際上確是遠端的NFS服務端的目錄。

NFS網路檔案系統類似windows系統的網路共享、安全功能、網路驅動器對映,這也和linux系統裡的samba服務類似。

安裝

pc 端系統, ubuntu 18 LTS
開發板端, 樹莓派系統
都要安裝nfs服務

sudo apt install nfs-kernel-server

伺服器端設定共享目錄
開啟sudo vim /etc/exports
追加/share_dir IP(rw,sync,no_root_squash)

share_dir :共享目錄
IP:指定客戶端的IP,若為*,則所有IP皆可訪問
rw: 允許客戶端讀寫
sync:同步
no_root_squash:保持root使用者許可權

重啟生效sudo service nfs-kernel-server restart

客戶端掛載共享目錄到本地資料夾sudo mount -t nfs IP:/share_dir local_dir

IP: 服務端IP