時(shí)間:2018-08-26 00:00:00 來源:信盈達(dá) 作者:信盈達(dá)
NFS就是Network File System的縮寫,是由Sun公司發(fā)展出來的。其目的是讓linux 機(jī)器之間彼此分享文檔。NFS可以讓服務(wù)器端共享的目錄掛載到本地客戶機(jī)上,對于本地客戶機(jī)器來說,遠(yuǎn)程服務(wù)器上的目錄就好像自己的一部分。
?
在基于Linux的嵌入式系統(tǒng)開發(fā)過程中,我們經(jīng)常用到NFS文件系統(tǒng),我們將嵌入式設(shè)備的文件系統(tǒng)放到NFS服務(wù)器上(經(jīng)常是一臺Linux主機(jī))。這樣,開發(fā)板就可以執(zhí)行NFS服務(wù)器特定目錄的可執(zhí)行程序。這樣做的優(yōu)點(diǎn)在于:不用將程序?qū)懭腴_發(fā)板的Flash,不僅減少了Flash的燒寫次數(shù),同時(shí)也方便程序的運(yùn)行調(diào)試。
?
NFS服務(wù)搭建:
?
以下以Ubuntu系統(tǒng)為例安裝配置NFS服務(wù)。
?
1. 安裝NFS服務(wù)
?
sudo apt-get install nfs-kernel-server
?
2. 編輯NFS配置文件:
?
配置NFS主要涉及配置文件/etc/exports,它用于NFS服務(wù)器端,其中列出了NFS服務(wù)器中要導(dǎo)出的目錄,可以訪問這些目錄的NFS客戶機(jī)及其訪問權(quán)限。
?
/etc/exports文件的格式如下:
?
dir_to_export NFS_client (permissions) [NFS_client (permissions)…]
?
1) dir_to_export是要導(dǎo)出的文件系統(tǒng)或目錄名稱,也就是要共享給客戶端使用的目錄。該目錄必須是一個絕對路徑。
?
2) NFS_client是可以訪問該NFS服務(wù)器的客戶機(jī)名稱??蛻魴C(jī)的指定非常靈活,可以是單個主機(jī)的IP地址或域名,也可以是某個子網(wǎng)或域中主機(jī)等。格式中的輸出目錄和客戶端之間,客戶端與客戶端之間都使用空格分隔,但是客戶端和權(quán)限參數(shù)之間不能有空格。
?
3) Permissions是NFS客戶機(jī)訪問導(dǎo)出目錄的訪問權(quán)限,如ro(只讀)或rw(讀寫)。若權(quán)限參數(shù)不止一個時(shí),則以逗號分隔。具體請參考最后的詳細(xì)說明。
?
例如:
?
/foo 192.168.2.0/24(ro) localhost(rw) *(ro,sync)
?
3. 重啟服務(wù):
?
sudo /etc/init.d/nfs-kernel-server restart
?
4. 掛載
?
mount -t nfs 192.168.2.2:/foo /mnt -o nolock
?
參數(shù)詳細(xì)說明:
?
1. 客戶端常用的指定方式 :
?
客戶端說明
?
192.168.2.2指定IP地址的主機(jī)
?
192.168.2.0/24(或192.168.2.*)指定子網(wǎng)中的所有主機(jī)
?
www.hqyj.com/xuexi/指定域名的主機(jī)
?
*. hqyj.com指定域中的所有主機(jī)
?
*(或缺省)所有主機(jī)
?
2. 選項(xiàng)用來設(shè)置輸出目錄的訪問權(quán)限,用戶映射等,在/etc/exports文件中選項(xiàng)比較多,一般可以分成三類。
?
用于控制輸出目錄訪問權(quán)限的選項(xiàng):
?
訪問權(quán)限選項(xiàng)說明
?
ro設(shè)置輸出目錄只讀
?
rw設(shè)置輸出目錄可讀寫
?
用戶映射選項(xiàng):
?
映射選項(xiàng)說明
?
all_squash不論登入 NFS 的使用者身份為何,他的身份都會被壓縮成為匿名使用者,通常也就是nobody
?
no_all_squash不將遠(yuǎn)程訪問的所有普通用戶及所屬用戶組都映射為匿名用戶或用戶組(默認(rèn)設(shè)置)
?
root_squash將root用戶及所屬用戶組都映射為匿名用戶或用戶組(默認(rèn)設(shè)置)
?
no_root_squash不將root用戶及所屬用戶組都映射為匿名用戶或用戶組
?
anonuid=xxx將遠(yuǎn)程訪問的所有用戶都映射為匿名用戶,并指定該匿名用戶賬戶為本地用戶賬戶(UID=xxx)
?
anongid=xxx將遠(yuǎn)程訪問的所有用戶組都映射為匿名用戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx)
?
其他常用選項(xiàng):
?
其他選項(xiàng)說明
?
secure限制客戶端只能從小于1024的TCP/IP端口連接NFS服務(wù)器(默認(rèn)設(shè)置)
?
insecure允許客戶端從大于1024的TCP/IP端口連接NFS服務(wù)器
?
sync將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,雖然這樣做效率較低,但可以保證數(shù)據(jù)的一致性
?
async將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中,必要時(shí)才寫入磁盤
?
wdelay檢查是否有相關(guān)的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可提高效率(默認(rèn)設(shè)置)
?
no_wdelay若有寫操作則立即執(zhí)行,應(yīng)與sync配合使用
?
subtree_check若輸出目錄是一個子目錄,則NFS服務(wù)器將檢查其父目錄的權(quán)限(默認(rèn)設(shè)置)
?
no_subtree_check即使輸出目錄是一個子目錄,NFS服務(wù)器也不檢查其父目錄的權(quán)限,這樣做可提高效率
?
?
信盈達(dá)2008年在深圳特區(qū)南山高新科技園成立。自成立至今近九年來專注為企業(yè)和個人提供高端方案設(shè)計(jì)、高端嵌入式/Android培訓(xùn)等服務(wù)。公司下設(shè)信盈達(dá)實(shí)訓(xùn)學(xué)院、信盈達(dá)研發(fā)中心、信盈達(dá)教學(xué)儀器三大業(yè)務(wù)板塊。九年來公司堅(jiān)持"技術(shù)領(lǐng)先、服務(wù)領(lǐng)先",以雄厚的實(shí)力和專業(yè)的品質(zhì)成為國內(nèi)唯一有實(shí)力從產(chǎn)品最底層研發(fā)到系統(tǒng)層開發(fā)的嵌入式實(shí)訓(xùn)、產(chǎn)品解決方案提供商。為中國IT行業(yè)提供最具價(jià)值的職業(yè)教育服務(wù)。專業(yè)培訓(xùn)嵌入式、物聯(lián)網(wǎng)、人工智能、Java、單片機(jī)等課程,想了解更多信息點(diǎn)擊立馬咨詢
免費(fèi)領(lǐng)取試聽卡
申請已經(jīng)提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報(bào)名咨詢!