前言
網絡文件系統(英語:Network File System,縮寫 NFS)是一種分佈式文件系統,力求客戶端主機可以訪問服務器端文件,並且其過程與訪問本地存儲時一樣,它由SUN公司(已被甲骨文公司收購)開發,於1984年發佈, 基於 Open Network Computing Remote Procedure Call (ONC RPC) .
簡言之, 開啓了NFS服務後,客戶端訪問服務器共享的文件時如同訪問本地存儲器, 對於上層應用沒有差別, 嵌入式開發應用場景:
- 在NFS服務器上開發,客戶端(開發板)通過NFS訪問並直接運行
- 把NFS作爲根文件系統來啓動
服務器配置
步驟如下:
- 服務器需要先安裝NFS服務:
sudo apt-get install nfs-kernel-server rpcbind
- 我在服務器(主機)的home目錄下創建了linux/nfs文件夾, 要把這個文件夾共享出去, 路徑爲
/home/karoto/linux/nfs
- 配置文件 /etc/exports:
sudo vim /etc/exports
, 在文件的最後添加:/home/karoto/linux/nfs *(rw,sync,no_root_squash)
, 如圖所示, 保存退出:
- 重啓NFS服務:
sudo /etc/init.d/nfs-kernel-server restart
- 檢驗, 用
showmount -e
命令
創建一個測試文件sudo vim 1.sh
, 填入:
#!/bin/bash
echo "hello, world!\r\n"
保存退出, 加權限sudo chmod 777 1.sh
, 執行./1.sh
, 沒有問題:
嵌入式設備掛載
這裏的場景是同一個局域網, ifconfig
查看 服務器IP地址 爲192.168.3.141
, 要把服務器的/home/karoto/linux/nfs
目錄掛載到嵌入式設備的/home/root/nfs_share
:
root@mys6ull14x14:~# mount -o vers=4 192.168.3.141:/home/karoto/linux/nfs /home/root/nfs_share
沒有錯誤提示應該就掛載成功了, cd /home/root/nfs_share
, 然後ls
, 可以看到服務器中創建的1.sh
文件:
直接./1.sh
執行, 沒有問題:
需要注意的是:
- 重啓後需要重新掛載.
- 如果需要卸載, 先切換出掛載目錄, 再卸載:
cd ~
umount /home/root/nfs_share/
微信公衆號
歡迎掃描關注我的微信公衆號, 及時獲取最新文章: