這次小編就給學習嵌入式培訓的小伙伴們說一下嵌入式網絡NFS文件系統搭建的流程,還有小編就是想說:參加了嵌入式培訓學習的小伙伴們你們要加油學習哦!
一、NFS介紹:
NFS就是Network File System的縮寫,是由Sun公司發展出來的。其目的是讓linux 機器之間彼此分享文檔。NFS可以讓服務器端共享的目錄掛載到本地客戶機上,對于本地客戶機器來說,遠程服務器上的目錄就好像自己的一部分。在基于Linux的嵌入式系統開發過程中,我們經常用到NFS文件系統,我們將嵌入式設備的文件系統放到NFS服務器上(經常是一臺Linux主機)。這樣,開發板就可以執行NFS服務器特定目錄的可執行程序。這樣做的優點在于:不用將程序寫入開發板的Flash,不僅減少了Flash的燒寫次數,同時也方便程序的運行調試。
二、NFS服務搭建:
以下以Ubuntu系統為例安裝配置NFS服務。
1. 安裝NFS服務 |
sudo apt-get install nfs-kernel-server |
2. 編輯NFS配置文件 |
配置NFS主要涉及配置文件/etc/exports,它用于NFS服務器端,其中列出了NFS服務器中要導出的目錄,可以訪問這些目錄的NFS客戶機及其訪問權限。
/etc/exports文件的格式如下:
dir_to_export NFS_client (permissions) [NFS_client (permissions)…]
1) dir_to_export是要導出的文件系統或目錄名稱,也就是要共享給客戶端使用的目錄。該目錄必須是一個路徑。
2) NFS_client是可以訪問該NFS服務器的客戶機名稱。客戶機的指定非常靈活,可以是單個主機的IP地址或域名,也可以是某個子網或域中主機等。格式中的輸出目錄和客戶端之間,客戶端與客戶端之間都使用空格分隔,但是客戶端和權限參數之間不能有空格。
3) Permissions是NFS客戶機訪問導出目錄的訪問權限,如ro(只讀)或rw(讀寫)。若權限參數不止一個時,則以逗號分隔。具體請參考的詳細說明。
例如:
/foo 192.168.2.0/24(ro) localhost(rw) *(ro,sync)
|
3. 重啟服務 |
sudo /etc/init.d/nfs-kernel-server restart |
4. 掛載 |
mount -t nfs 192.168.2.2:/foo /mnt -o nolock |
三、參數詳細說明:
1. 客戶端常用的指定方式 |
客戶端說明 192.168.2.2指定IP地址的主機 192.168.2.0/24(或192.168.2.*)指定子網中的所有主機 www.hqyj.com/xuexi/指定域名的主機 *. hqyj.com指定域中的所有主機 *(或缺省)所有主機 |
2. 選項用來設置輸出目錄的訪問權限,用戶映射等,在/etc/exports文件中選項比較多,一般可以分成三類。用于控制輸出目錄訪問權限的選項 |
訪問權限選項說明 ro設置輸出目錄只讀 rw設置輸出目錄可讀寫 (1、用戶映射選項: 映射選項說明 all_squash不論登入 NFS 的使用者身份為何,他的身份都會被壓縮成為匿名使用者,通常也就是nobody no_all_squash不將遠程訪問的所有普通用戶及所屬用戶組都映射為匿名用戶或用戶組(默認設置) root_squash將root用戶及所屬用戶組都映射為匿名用戶或用戶組(默認設置) no_root_squash不將root用戶及所屬用戶組都映射為匿名用戶或用戶組 anonuid=xxx將遠程訪問的所有用戶都映射為匿名用戶,并指定該匿名用戶賬戶為本地用戶賬戶(UID=xxx) anongid=xxx將遠程訪問的所有用戶組都映射為匿名用戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx)
(2、其他常用選項: |
粵嵌科技創辦于2005年是一家IT高新技術企業,專注IT職業教育13年,主要培訓課程分別有嵌入式培訓、Java培訓、Unity游戲開發、Python人工智能、HTML5前端開發、全棧UI設計、網絡營銷、CCIE網絡等專業課程