使用linux進行嵌入式開發的時候,爲了方便開發,一般是將開發板掛載到宿主機的文件系統上,而後將代碼放到共享給開發板的目錄中,再經過開發板運行。
首先查看是否安裝了 nfs 軟件包,yum list installed | grep nfs。若是安裝,則可進行下面設置。
nfs 服務器端配置:
1.首先創建共享目錄:在根目錄下創建share目錄。執行 mkdir /share
2.而後對 exports 文件進行編輯:vim /etc/exports
若是以前沒有經過 nfs 共享過目錄,該文件是空的,向裏面填入以下內容:linux
代碼以下:web
/share *(sync,rw,no_root_squash)vim
各部分解釋:
/share 爲本機要對外共享的目錄名稱
* 爲容許外部訪問本機共享目錄的 ip 地址。
sync 爲將數據先保存在內存緩衝區中,必要時才寫入磁盤。
rw 爲外部主機對本地共享目錄享有讀寫權限
no_root_squash 爲訪問用戶先與本機用戶匹配,匹配失敗後再映射爲匿名用戶或用戶組。
上述各部分其他選項有:
1->.客戶端的指定方式
指定ip地址的主機:192.168.0.100
指定子網中的全部主機:192.168.0.0/24 或 192.168.0.0/255.255.255.0
指定域名的主機:nfs.test.com
指定域中的全部主機:*.test.com
全部主機:*
2->.選項說明
ro:共享目錄只讀;
rw:共享目錄可讀可寫;
all_squash:全部訪問用戶都映射爲匿名用戶或用戶組;
no_all_squash(默認):訪問用戶先與本機用戶匹配,匹配失敗後再映射爲匿名用戶或用戶組;
root_squash(默認):未來訪的root用戶映射爲匿名用戶或用戶組;
no_root_squash:來訪的root用戶保持root賬號權限;
anonuid=<UID>:指定匿名訪問用戶的本地用戶UID,默認爲nfsnobody(65534);
anongid=<GID>:指定匿名訪問用戶的本地用戶組GID,默認爲nfsnobody(65534);
secure(默認):限制客戶端只能從小於1024的tcp/ip端口鏈接服務器;
insecure:容許客戶端從大於1024的tcp/ip端口鏈接服務器;
sync:將數據同步寫入內存緩衝區與磁盤中,效率低,但能夠保證數據的一致性;
async:將數據先保存在內存緩衝區中,必要時才寫入磁盤;
wdelay(默認):檢查是否有相關的寫操做,若是有則將這些寫操做一塊兒執行,能夠提升效率;
no_wdelay:如有寫操做則當即執行,應與sync配合使用;
subtree_check(默認) :若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限;
no_subtree_check :即便輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,能夠提
高效率;
3.使設置生效:exportfs -ra 或者 service nfs restart
4.經過命令查看共享目錄輸出狀況:exportfs -v
nfs 客戶端配置:
客戶端可經過 showmount -e ip 查看遠程服務器的對外共享目錄。
1.啓動 nfs 服務
2.創建掛載點,mkdir /mnt/nfs
3.掛載:mount -t nfs ip:/share /mnt/nfs
4.卸載:umount /mnt/nfs
第3步的 ip 表示對外共享目錄的主機 ip,也就是服務器 ip。此處能夠使用localhost代替ip地址,表示用nfs掛載本機的目錄到另外一目錄
能夠將掛載信息寫入 /etc/fstab 文件,實現對 nfs 服務的自動掛載,格式以下:
ip:/share /mnt/share nfs defaults 0 0
其中:
ip:/share 爲遠程主機的 ip 地址和共享目錄
/mnt/share爲要掛載到本地的目錄
nfs爲文件系統類型
defaults 0 0爲掛載選項
使用 mount | grep nfs 命令能夠顯示當前主機掛載的 nfs 目錄。
卸載已掛載的目錄:umount /mnt/nfs服務器
若是想深刻體驗LINUX系統的新手,也能夠先下載一個方德Linux軟件中心試用一下。
免費下載地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenterapp