嵌入式Linux NFS

前言

在這裏插入圖片描述

網絡文件系統(英語: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/

微信公衆號

歡迎掃描關注我的微信公衆號, 及時獲取最新文章:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章